bugsnag · Schema

Bugsnag Error Event

Represents an individual error event reported to or retrieved from Bugsnag, containing exception details, stack traces, device and application 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 represent a causal chain.
breadcrumbs array A trail of events leading up to the error, providing context about user actions and application state.
request object
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 default error grouping. Events with the same hash are 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
user object
app object
device object
session object
metaData object Custom metadata organized by tab name. Each key represents a tab on the Bugsnag dashboard containing key-value debugging information.
View JSON Schema on GitHub

JSON Schema

bugsnag-error-event-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://bugsnag.com/schemas/bugsnag/error-event.json",
  "title": "Bugsnag Error Event",
  "description": "Represents an individual error event reported to or retrieved from Bugsnag, containing exception details, stack traces, device and application information, breadcrumbs, and custom metadata.",
  "type": "object",
  "required": ["exceptions"],
  "properties": {
    "exceptions": {
      "type": "array",
      "description": "The list of exceptions that occurred. The first exception is the most significant. Multiple exceptions represent a causal chain.",
      "minItems": 1,
      "items": {
        "$ref": "#/$defs/Exception"
      }
    },
    "breadcrumbs": {
      "type": "array",
      "description": "A trail of events leading up to the error, providing context about user actions and application state.",
      "items": {
        "$ref": "#/$defs/Breadcrumb"
      }
    },
    "request": {
      "$ref": "#/$defs/Request"
    },
    "threads": {
      "type": "array",
      "description": "Information about all running threads at the time of the error.",
      "items": {
        "$ref": "#/$defs/Thread"
      }
    },
    "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 default error grouping. Events with the same hash are grouped together."
    },
    "unhandled": {
      "type": "boolean",
      "description": "Whether this error was unhandled (true) or caught and handled (false) by the application."
    },
    "severity": {
      "type": "string",
      "description": "The severity level of the error.",
      "enum": ["error", "warning", "info"]
    },
    "severityReason": {
      "$ref": "#/$defs/SeverityReason"
    },
    "user": {
      "$ref": "#/$defs/User"
    },
    "app": {
      "$ref": "#/$defs/App"
    },
    "device": {
      "$ref": "#/$defs/Device"
    },
    "session": {
      "$ref": "#/$defs/Session"
    },
    "metaData": {
      "type": "object",
      "description": "Custom metadata organized by tab name. Each key represents a tab on the Bugsnag dashboard containing key-value debugging information.",
      "additionalProperties": {
        "type": "object",
        "additionalProperties": true
      }
    }
  },
  "$defs": {
    "Exception": {
      "type": "object",
      "description": "Represents an exception including the error class, message, and stack trace.",
      "required": ["errorClass", "stacktrace"],
      "properties": {
        "errorClass": {
          "type": "string",
          "description": "The class or type name of the exception (e.g., TypeError, NullPointerException)."
        },
        "message": {
          "type": "string",
          "description": "The human-readable error message describing what went wrong."
        },
        "stacktrace": {
          "type": "array",
          "description": "The stack trace frames, ordered from the error location to the entry point.",
          "items": {
            "$ref": "#/$defs/StackFrame"
          }
        },
        "type": {
          "type": "string",
          "description": "The type of error mechanism.",
          "enum": ["android", "browserjs", "cocoa", "c", "csharp", "go", "java", "nodejs", "php", "python", "ruby"]
        }
      }
    },
    "StackFrame": {
      "type": "object",
      "description": "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.",
          "minimum": 0
        },
        "columnNumber": {
          "type": "integer",
          "description": "The column number in the file.",
          "minimum": 0
        },
        "method": {
          "type": "string",
          "description": "The method or function name."
        },
        "inProject": {
          "type": "boolean",
          "description": "Whether this frame originates from the project's own code."
        },
        "code": {
          "type": "object",
          "description": "A map of line numbers to source code lines surrounding the error location.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "Breadcrumb": {
      "type": "object",
      "description": "A breadcrumb event that occurred before the error.",
      "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",
          "description": "Additional metadata associated with the breadcrumb.",
          "additionalProperties": true
        }
      }
    },
    "Request": {
      "type": "object",
      "description": "Information about the HTTP request during which the error occurred.",
      "properties": {
        "clientIp": {
          "type": "string",
          "description": "The IP address of the client making the request."
        },
        "headers": {
          "type": "object",
          "description": "The HTTP request headers.",
          "additionalProperties": {
            "type": "string"
          }
        },
        "httpMethod": {
          "type": "string",
          "description": "The HTTP method used (GET, POST, etc.).",
          "enum": ["GET", "POST", "PUT", "PATCH", "DELETE", "HEAD", "OPTIONS"]
        },
        "url": {
          "type": "string",
          "format": "uri",
          "description": "The URL of the request."
        },
        "referer": {
          "type": "string",
          "description": "The referer URL."
        }
      }
    },
    "Thread": {
      "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.",
          "items": {
            "$ref": "#/$defs/StackFrame"
          }
        }
      }
    },
    "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",
          "description": "Additional attributes about the severity reason.",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "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 where 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": "Time in milliseconds since the application started.",
          "minimum": 0
        },
        "durationInForeground": {
          "type": "integer",
          "description": "Time in milliseconds the app has been in the foreground.",
          "minimum": 0
        },
        "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.",
          "minimum": 0
        },
        "totalMemory": {
          "type": "integer",
          "description": "Total device memory in bytes.",
          "minimum": 0
        },
        "freeDisk": {
          "type": "integer",
          "description": "Free disk space in bytes.",
          "minimum": 0
        },
        "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.",
          "enum": ["portrait", "landscape"]
        },
        "time": {
          "type": "string",
          "format": "date-time",
          "description": "The device's local time when the error occurred."
        },
        "runtimeVersions": {
          "type": "object",
          "description": "Runtime version information (e.g., node, clr, swift).",
          "additionalProperties": {
            "type": "string"
          }
        }
      }
    },
    "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.",
              "minimum": 0
            },
            "unhandled": {
              "type": "integer",
              "description": "The number of unhandled events in this session.",
              "minimum": 0
            }
          }
        }
      }
    }
  }
}