Bugsnag Data Access API

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 an API token, which can be found in Bugsnag account settings. It supports querying error trends, project configurations, collaborators, and release information.

OpenAPI Specification

bugsnag-data-access-openapi.yml Raw ↑
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