Bugsnag Error Reporting API

The Bugsnag Error Reporting API allows applications to report error and exception details directly to the Bugsnag dashboard. If there is no official SDK available for your platform, you can use this API to send error payloads manually. The API accepts structured JSON payloads containing exception details, stack traces, device information, and application metadata. It is the underlying mechanism used by all official Bugsnag notifier SDKs to deliver error data.

OpenAPI Specification

bugsnag-error-reporting-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Bugsnag Error Reporting API
  description: >-
    The Bugsnag Error Reporting API allows applications to report error and
    exception details directly to the Bugsnag dashboard. If there is no
    official SDK available for your platform, you can use this API to send
    error payloads manually. The API accepts structured JSON payloads
    containing exception details, stack traces, device information, and
    application metadata. It is the underlying mechanism used by all
    official Bugsnag notifier SDKs to deliver error data.
  version: '4'
  contact:
    name: Bugsnag Support
    url: https://docs.bugsnag.com/api/error-reporting/
  termsOfService: https://smartbear.com/terms-of-use/
externalDocs:
  description: Bugsnag Error Reporting API Documentation
  url: https://docs.bugsnag.com/api/error-reporting/
servers:
  - url: https://notify.bugsnag.com
    description: Bugsnag Notification Server
tags:
  - name: Notifications
    description: >-
      Send error and exception notifications to Bugsnag. Each notification
      can contain one or more events representing individual error occurrences.
security: []
paths:
  /:
    post:
      operationId: sendErrorNotification
      summary: Send an error notification
      description: >-
        Sends one or more error events to Bugsnag for processing and display
        in the dashboard. Each event contains exception details, stack traces,
        device and application information, and optional metadata. The payload
        must include a valid Bugsnag API key and notifier information. This
        endpoint is used by all official Bugsnag SDKs to deliver error data.
      tags:
        - Notifications
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/NotificationPayload'
      responses:
        '200':
          description: >-
            The notification was accepted successfully.
        '400':
          description: >-
            The payload was malformed or missing required fields.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: >-
            The API key is invalid or missing.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '413':
          description: >-
            The payload exceeds the maximum allowed size.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '429':
          description: >-
            Rate limit exceeded. Too many requests have been sent.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    NotificationPayload:
      type: object
      description: >-
        The top-level notification payload sent to the Bugsnag Error
        Reporting API. Contains the API key, notifier information,
        and one or more error events.
      required:
        - apiKey
        - notifier
        - events
      properties:
        apiKey:
          type: string
          description: >-
            The Bugsnag API key for the project. Found in project settings
            on the Bugsnag dashboard.
          example: c9d60ae4c7e70c4b6c4ebd3e8056d2b8
        payloadVersion:
          type: string
          description: >-
            The version of the payload format. Current version is 4.
          enum:
            - '4'
          default: '4'
        notifier:
          $ref: '#/components/schemas/Notifier'
        events:
          type: array
          description: >-
            The list of error events to report. Each event represents
            an individual error occurrence.
          minItems: 1
          items:
            $ref: '#/components/schemas/EventPayload'
    Notifier:
      type: object
      description: >-
        Information about the notifier library sending the error report.
        Used by Bugsnag to identify the source SDK and version.
      required:
        - name
        - version
        - url
      properties:
        name:
          type: string
          description: >-
            The name of the notifier library.
          example: Bugsnag Ruby
        version:
          type: string
          description: >-
            The version of the notifier library.
          example: '6.24.0'
        url:
          type: string
          format: uri
          description: >-
            The URL for the notifier library's homepage or repository.
          example: https://github.com/bugsnag/bugsnag-ruby
    EventPayload:
      type: object
      description: >-
        Represents a single error event occurrence. Contains exception
        details, stack traces, application and device information,
        breadcrumbs, and custom metadata.
      required:
        - exceptions
      properties:
        exceptions:
          type: array
          description: >-
            The list of exceptions that occurred. The first exception
            is the most significant. Multiple exceptions can represent
            a causal chain.
          minItems: 1
          items:
            $ref: '#/components/schemas/ExceptionPayload'
        breadcrumbs:
          type: array
          description: >-
            A trail of events leading up to the error, useful for
            debugging the sequence of actions that caused the error.
          items:
            $ref: '#/components/schemas/BreadcrumbPayload'
        request:
          type: object
          description: >-
            Information about the HTTP request during which the error
            occurred, if applicable.
          properties:
            clientIp:
              type: string
              description: >-
                The IP address of the client making the request.
            headers:
              type: object
              additionalProperties:
                type: string
              description: >-
                The HTTP request headers.
            httpMethod:
              type: string
              description: >-
                The HTTP method used (GET, POST, etc.).
            url:
              type: string
              format: uri
              description: >-
                The URL of the request.
            referer:
              type: string
              description: >-
                The referer URL.
        threads:
          type: array
          description: >-
            Information about all running threads at the time of the error.
          items:
            $ref: '#/components/schemas/ThreadPayload'
        context:
          type: string
          description: >-
            A string representing what was happening in the application
            at the time of the error, such as a controller action or
            route name.
        groupingHash:
          type: string
          description: >-
            A custom grouping hash to override the default error grouping
            behavior. Events with the same grouping hash will be grouped
            together.
        unhandled:
          type: boolean
          description: >-
            Whether this error was unhandled (true) or caught and handled
            (false) by the application.
        severity:
          type: string
          enum:
            - error
            - warning
            - info
          description: >-
            The severity level of the error.
        severityReason:
          type: object
          description: >-
            Information about why the severity was set to its current value.
          properties:
            type:
              type: string
              description: >-
                The reason type for the severity assignment.
              enum:
                - unhandledException
                - handledException
                - log
                - signal
                - strictMode
                - unhandledPromiseRejection
                - userSpecifiedSeverity
                - userCallbackSetSeverity
                - handledError
                - anrError
            attributes:
              type: object
              additionalProperties:
                type: string
              description: >-
                Additional attributes about the severity reason.
        user:
          type: object
          description: >-
            Information about the user who experienced the error.
          properties:
            id:
              type: string
              description: >-
                A unique identifier for the user.
            name:
              type: string
              description: >-
                The user's display name.
            email:
              type: string
              format: email
              description: >-
                The user's email address.
        app:
          type: object
          description: >-
            Information about the application in which the error occurred.
          properties:
            id:
              type: string
              description: >-
                The application identifier.
            version:
              type: string
              description: >-
                The application version string.
            versionCode:
              type: integer
              description: >-
                The numeric version code (Android).
            bundleVersion:
              type: string
              description: >-
                The bundle version (iOS).
            releaseStage:
              type: string
              description: >-
                The release stage (e.g., production, staging, development).
            type:
              type: string
              description: >-
                The application type.
            dsymUUIDs:
              type: array
              items:
                type: string
              description: >-
                UUIDs for dSYM files used in symbolication.
            duration:
              type: integer
              description: >-
                The time in milliseconds since the application started.
            durationInForeground:
              type: integer
              description: >-
                The time in milliseconds the app has been in the foreground.
            inForeground:
              type: boolean
              description: >-
                Whether the app was in the foreground when the error occurred.
        device:
          type: object
          description: >-
            Information about the device on which the error occurred.
          properties:
            hostname:
              type: string
              description: >-
                The hostname of the device.
            id:
              type: string
              description: >-
                A unique device identifier.
            manufacturer:
              type: string
              description: >-
                The device manufacturer.
            model:
              type: string
              description: >-
                The device model.
            modelNumber:
              type: string
              description: >-
                The device model number.
            osName:
              type: string
              description: >-
                The operating system name.
            osVersion:
              type: string
              description: >-
                The operating system version.
            freeMemory:
              type: integer
              description: >-
                Free memory in bytes at the time of the error.
            totalMemory:
              type: integer
              description: >-
                Total device memory in bytes.
            freeDisk:
              type: integer
              description: >-
                Free disk space in bytes.
            browserName:
              type: string
              description: >-
                The browser name, for web applications.
            browserVersion:
              type: string
              description: >-
                The browser version.
            jailbroken:
              type: boolean
              description: >-
                Whether the device is jailbroken or rooted.
            orientation:
              type: string
              description: >-
                The device orientation at the time of the error.
              enum:
                - portrait
                - landscape
            time:
              type: string
              format: date-time
              description: >-
                The device's local time when the error occurred.
            runtimeVersions:
              type: object
              additionalProperties:
                type: string
              description: >-
                Runtime version information (e.g., node, clr, swift).
        session:
          type: object
          description: >-
            Session information for the current user session.
          properties:
            id:
              type: string
              description: >-
                The unique session identifier.
            startedAt:
              type: string
              format: date-time
              description: >-
                The date and time the session started.
            events:
              type: object
              description: >-
                Event counts for this session.
              properties:
                handled:
                  type: integer
                  description: >-
                    The number of handled events in this session.
                unhandled:
                  type: integer
                  description: >-
                    The number of unhandled events in this session.
        metaData:
          type: object
          additionalProperties:
            type: object
            additionalProperties: true
          description: >-
            Custom metadata organized by tab name. Each key represents
            a tab that will appear on the Bugsnag dashboard, containing
            key-value pairs of additional debugging information.
    ExceptionPayload:
      type: object
      description: >-
        Represents an exception within an error event, including the error
        class, message, and stack trace frames.
      required:
        - errorClass
        - stacktrace
      properties:
        errorClass:
          type: string
          description: >-
            The class or type name of the exception (e.g., TypeError,
            NullPointerException, RuntimeError).
        message:
          type: string
          description: >-
            The human-readable error message describing what went wrong.
        stacktrace:
          type: array
          description: >-
            The stack trace frames for this exception, ordered from the
            frame where the error occurred to the entry point.
          items:
            $ref: '#/components/schemas/StackFramePayload'
        type:
          type: string
          description: >-
            The type of error mechanism.
          enum:
            - android
            - browserjs
            - cocoa
            - c
            - csharp
            - go
            - java
            - nodejs
            - php
            - python
            - ruby
    StackFramePayload:
      type: object
      description: >-
        Represents a single frame in an exception's stack trace.
      required:
        - file
        - lineNumber
        - method
      properties:
        file:
          type: string
          description: >-
            The file path where the code is located.
        lineNumber:
          type: integer
          description: >-
            The line number in the file where the frame originates.
        columnNumber:
          type: integer
          description: >-
            The column number in the file.
        method:
          type: string
          description: >-
            The method or function name.
        inProject:
          type: boolean
          description: >-
            Whether this frame originates from the project's own code,
            as opposed to a library or framework.
        code:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of line numbers to source code lines surrounding the
            error location.
    BreadcrumbPayload:
      type: object
      description: >-
        Represents a breadcrumb event that occurred before the error,
        providing context about the user's actions and application state.
      required:
        - timestamp
        - name
        - type
      properties:
        timestamp:
          type: string
          format: date-time
          description: >-
            The ISO 8601 timestamp when the breadcrumb was recorded.
        name:
          type: string
          description: >-
            A short summary of the breadcrumb event.
          maxLength: 30
        type:
          type: string
          description: >-
            The category of breadcrumb event.
          enum:
            - navigation
            - request
            - process
            - log
            - user
            - state
            - error
            - manual
        metaData:
          type: object
          additionalProperties: true
          description: >-
            Additional metadata associated with the breadcrumb.
    ThreadPayload:
      type: object
      description: >-
        Information about a thread running at the time of the error.
      properties:
        id:
          type: string
          description: >-
            The thread identifier.
        name:
          type: string
          description: >-
            The thread name.
        errorReportingThread:
          type: boolean
          description: >-
            Whether this is the thread on which the error occurred.
        stacktrace:
          type: array
          description: >-
            The stack trace of this thread at the time of the error.
          items:
            $ref: '#/components/schemas/StackFramePayload'
    ErrorResponse:
      type: object
      description: >-
        An error response from the notification endpoint.
      properties:
        errors:
          type: array
          items:
            type: string
          description: >-
            List of error messages describing the problem.