bugsnag · Schema

EventPayload

Represents a single error event occurrence. Contains exception details, stack traces, application and device information, breadcrumbs, and custom metadata.

Properties

Name Type Description
exceptions array The list of exceptions that occurred. The first exception is the most significant. Multiple exceptions can represent a causal chain.
breadcrumbs array A trail of events leading up to the error, useful for debugging the sequence of actions that caused the error.
request object Information about the HTTP request during which the error occurred, if applicable.
threads array Information about all running threads at the time of the error.
context string A string representing what was happening in the application at the time of the error, such as a controller action or route name.
groupingHash string A custom grouping hash to override the default error grouping behavior. Events with the same grouping hash will be grouped together.
unhandled boolean Whether this error was unhandled (true) or caught and handled (false) by the application.
severity string The severity level of the error.
severityReason object Information about why the severity was set to its current value.
user object Information about the user who experienced the error.
app object Information about the application in which the error occurred.
device object Information about the device on which the error occurred.
session object Session information for the current user session.
metaData object 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.
View JSON Schema on GitHub

JSON Schema

bugsnag-eventpayload-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/EventPayload",
  "title": "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."
    }
  }
}