openapi: 3.1.0
info:
title: Bugsnag Data Access API
description: >-
The Bugsnag Data Access API provides programmatic access to information
about your organization, projects, errors, events, and more. It allows
developers to build custom integrations and dashboards using their
Bugsnag data. The REST API uses JSON and requires authentication via a
personal auth token sent in the Authorization header. It supports
querying error trends, project configurations, collaborators, and
release information.
version: '2.0'
contact:
name: Bugsnag Support
url: https://docs.bugsnag.com/api/data-access/
termsOfService: https://smartbear.com/terms-of-use/
externalDocs:
description: Bugsnag Data Access API Documentation
url: https://docs.bugsnag.com/api/data-access/
servers:
- url: https://api.bugsnag.com
description: Bugsnag Production API Server
tags:
- name: Collaborators
description: >-
Manage collaborators within an organization or project. Collaborators
are users who have access to view and manage Bugsnag data.
- name: Comments
description: >-
Manage comments on errors. Comments allow team members to discuss
and annotate specific errors.
- name: CurrentUser
description: >-
Access information about the currently authenticated user.
- name: Errors
description: >-
Access and manage errors within projects. Errors represent groups of
similar events that have been detected by Bugsnag.
- name: EventFields
description: >-
Access event field definitions for projects. Event fields describe
the available data dimensions for filtering and searching events.
- name: Events
description: >-
Access individual error events. Events represent individual
occurrences of an error within a project.
- name: Organizations
description: >-
Access and manage organizations. An organization is the top-level
entity in Bugsnag that contains projects and collaborators.
- name: Pivots
description: >-
Access pivot data for errors. Pivots allow you to group and analyze
error data by various dimensions such as browser, device, or location.
- name: Projects
description: >-
Access and manage projects within an organization. Projects represent
individual applications being monitored by Bugsnag.
- name: Releases
description: >-
Access release information for projects. Releases represent deployed
versions of your application and their associated error data.
- name: Stability
description: >-
Access stability metrics for projects. Stability data provides
crash-free session and user percentages across releases.
- name: Trends
description: >-
Access trend data for errors and projects. Trends provide time-series
data showing how error rates and stability change over time.
security:
- tokenAuth: []
paths:
/user:
get:
operationId: getCurrentUser
summary: Get current user
description: >-
Returns information about the currently authenticated user,
including their name, email, and associated organizations.
tags:
- CurrentUser
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/User'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/user/organizations:
get:
operationId: listOrganizations
summary: List organizations
description: >-
Returns a list of organizations that the currently authenticated
user belongs to. Results are paginated using the Link header.
tags:
- Organizations
parameters:
- $ref: '#/components/parameters/PerPage'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Organization'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organization_id}:
get:
operationId: getOrganization
summary: Get an organization
description: >-
Returns the details of a specific organization, including its name,
slug, billing email, and creation date.
tags:
- Organizations
parameters:
- $ref: '#/components/parameters/OrganizationId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Organization'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Organization not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organization_id}/collaborators:
get:
operationId: listOrganizationCollaborators
summary: List organization collaborators
description: >-
Returns a list of collaborators for the specified organization.
Each collaborator includes their user information and permissions.
tags:
- Collaborators
parameters:
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/PerPage'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Collaborator'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Organization not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: inviteOrganizationCollaborator
summary: Invite a collaborator to an organization
description: >-
Invites a new collaborator to the specified organization by email
address. The invited user will receive an email with instructions
to join.
tags:
- Collaborators
parameters:
- $ref: '#/components/parameters/OrganizationId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CollaboratorInvite'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Collaborator'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organization_id}/collaborators/{collaborator_id}:
get:
operationId: getOrganizationCollaborator
summary: Get an organization collaborator
description: >-
Returns the details of a specific collaborator within an
organization, including their role and project access.
tags:
- Collaborators
parameters:
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/CollaboratorId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Collaborator'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Collaborator not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
patch:
operationId: updateOrganizationCollaborator
summary: Update a collaborator
description: >-
Updates the permissions or role of an existing collaborator within
an organization.
tags:
- Collaborators
parameters:
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/CollaboratorId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CollaboratorUpdate'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Collaborator'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Collaborator not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
operationId: removeOrganizationCollaborator
summary: Remove a collaborator
description: >-
Removes a collaborator from the specified organization. The user
will lose access to all projects within the organization.
tags:
- Collaborators
parameters:
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/CollaboratorId'
responses:
'204':
description: Collaborator removed successfully
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Collaborator not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/organizations/{organization_id}/projects:
get:
operationId: listOrganizationProjects
summary: List organization projects
description: >-
Returns a list of projects belonging to the specified organization.
Results are paginated using the Link header.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/OrganizationId'
- $ref: '#/components/parameters/PerPage'
- name: sort
in: query
description: >-
The field to sort results by. Supported values include
created_at and name.
schema:
type: string
enum:
- created_at
- name
- name: direction
in: query
description: >-
The sort direction, either ascending or descending.
schema:
type: string
enum:
- asc
- desc
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Project'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Organization not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: createProject
summary: Create a project
description: >-
Creates a new project within the specified organization. Returns
the newly created project including its API key.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/OrganizationId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectCreate'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}:
get:
operationId: getProject
summary: Get a project
description: >-
Returns the details of a specific project, including its name,
API key, type, and configuration settings.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ProjectId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Project not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
patch:
operationId: updateProject
summary: Update a project
description: >-
Updates the settings of an existing project, such as its name
or notification configuration.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ProjectId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ProjectUpdate'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Project not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
operationId: deleteProject
summary: Delete a project
description: >-
Permanently deletes a project and all of its associated data,
including errors, events, and collaborator assignments.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ProjectId'
responses:
'204':
description: Project deleted successfully
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Project not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/api_key:
delete:
operationId: regenerateProjectApiKey
summary: Regenerate a project API key
description: >-
Regenerates the API key for a project. The old API key will
immediately stop working and a new key will be generated.
tags:
- Projects
parameters:
- $ref: '#/components/parameters/ProjectId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Project'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Project not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors:
get:
operationId: listProjectErrors
summary: List project errors
description: >-
Returns a list of errors for the specified project. Errors can be
filtered by status, severity, and other criteria. Results are
paginated using the Link header.
tags:
- Errors
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/PerPage'
- name: sort
in: query
description: >-
The field to sort results by. Supported values include
last_seen, first_seen, users, events, and unsorted.
schema:
type: string
enum:
- last_seen
- first_seen
- users
- events
- unsorted
- name: direction
in: query
description: >-
The sort direction, either ascending or descending.
schema:
type: string
enum:
- asc
- desc
- name: status
in: query
description: >-
Filter errors by their status.
schema:
type: string
enum:
- open
- fixed
- snoozed
- ignored
- name: severity
in: query
description: >-
Filter errors by their severity level.
schema:
type: string
enum:
- error
- warning
- info
- name: release_stage
in: query
description: >-
Filter errors by the release stage in which they occurred.
schema:
type: string
- name: q
in: query
description: >-
A full-text search query to filter errors by their error
class, message, or context.
schema:
type: string
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/ErrorItem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Project not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors/{error_id}:
get:
operationId: getError
summary: Get an error
description: >-
Returns the details of a specific error, including its error class,
message, severity, status, event count, and user count.
tags:
- Errors
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorItem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Error not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
patch:
operationId: updateError
summary: Update an error
description: >-
Updates the status or severity of an error. Use this to resolve,
snooze, ignore, or reopen errors.
tags:
- Errors
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorUpdate'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorItem'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Error not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
operationId: deleteError
summary: Delete an error
description: >-
Permanently deletes an error and all of its associated events.
tags:
- Errors
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
responses:
'204':
description: Error deleted successfully
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Error not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors/{error_id}/events:
get:
operationId: listErrorEvents
summary: List error events
description: >-
Returns a list of events for the specified error. Events represent
individual occurrences of an error. Results are paginated.
tags:
- Events
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
- $ref: '#/components/parameters/PerPage'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Event'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Error not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors/{error_id}/events/latest:
get:
operationId: getLatestEvent
summary: Get the latest event for an error
description: >-
Returns the most recent event for the specified error, including
full exception details, device information, and metadata.
tags:
- Events
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Error not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/events/{event_id}:
get:
operationId: getEvent
summary: Get an event
description: >-
Returns the full details of a specific event, including exception
information, stack traces, device data, application state, and
any custom metadata attached to the event.
tags:
- Events
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/EventId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Event'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Event not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors/{error_id}/comments:
get:
operationId: listErrorComments
summary: List error comments
description: >-
Returns a list of comments for the specified error. Comments
allow team members to discuss and annotate errors.
tags:
- Comments
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
- $ref: '#/components/parameters/PerPage'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Comment'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Error not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
post:
operationId: createErrorComment
summary: Create a comment on an error
description: >-
Creates a new comment on the specified error. Comments support
plain text content.
tags:
- Comments
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommentCreate'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
'400':
description: Bad request
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors/{error_id}/comments/{comment_id}:
get:
operationId: getComment
summary: Get a comment
description: >-
Returns the details of a specific comment on an error.
tags:
- Comments
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
- $ref: '#/components/parameters/CommentId'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Comment not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
patch:
operationId: updateComment
summary: Update a comment
description: >-
Updates the content of an existing comment on an error.
tags:
- Comments
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
- $ref: '#/components/parameters/CommentId'
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CommentCreate'
responses:
'200':
description: Success
content:
application/json:
schema:
$ref: '#/components/schemas/Comment'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Comment not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
delete:
operationId: deleteComment
summary: Delete a comment
description: >-
Permanently deletes a comment from an error.
tags:
- Comments
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
- $ref: '#/components/parameters/CommentId'
responses:
'204':
description: Comment deleted successfully
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Comment not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/pivots:
get:
operationId: listProjectPivots
summary: List project pivots
description: >-
Returns a list of available pivot dimensions for the specified
project. Pivots allow you to group error data by dimensions
such as browser, device, operating system, or location.
tags:
- Pivots
parameters:
- $ref: '#/components/parameters/ProjectId'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/Pivot'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Project not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/pivots/{pivot_id}/values:
get:
operationId: listPivotValues
summary: List pivot values
description: >-
Returns the values for a specific pivot dimension within a project.
For example, listing all browser names or operating system versions
seen in error events.
tags:
- Pivots
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/PivotId'
- $ref: '#/components/parameters/PerPage'
responses:
'200':
description: Success
content:
application/json:
schema:
type: array
items:
$ref: '#/components/schemas/PivotValue'
'401':
description: Unauthorized
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
'404':
description: Pivot not found
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
/projects/{project_id}/errors/{error_id}/trend:
get:
operationId: getErrorTrend
summary: Get error trend
description: >-
Returns time-series trend data for a specific error, showing how
the error frequency changes over time.
tags:
- Trends
parameters:
- $ref: '#/components/parameters/ProjectId'
- $ref: '#/components/parameters/ErrorId'
- name: buckets_count
in: query
description: >-
The number of time b
# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/bugsnag/refs/heads/main/openapi/bugsnag-data-access-openapi.yml