Everything an AI agent can do with the BugSnag API.

A reference guide for building AI agents: every method, how to authenticate, and the permissions each one needs.

Endpoints34
API version2
Last updated23 June 2026
Orientation

How the BugSnag API works.

The BugSnag API is how an app or AI agent works with a BugSnag account: listing the errors on a project, reading the events behind an error, resolving errors, and tracking releases and stability over time. Access is granted through a personal auth token that acts as the user who created it, so a call reaches exactly the organizations and projects that user can reach, and that user's role decides what it can change. The API does not push events itself, though BugSnag, now SmartBear Insight Hub, can forward new errors through a separately configured webhook.

34Endpoints
8Capability groups
24Read
10Write
0Permissions
Authentication
Every request needs a personal auth token, generated in the My Account section of BugSnag settings and sent as an Authorization header of 'token TOKEN', or as an auth_token query parameter. The token acts as the user who created it, so it reaches exactly the organizations and projects that user can reach. On-premise installations can also authenticate with the user's email and password over HTTP Basic auth.
Permissions
The API has no granular per-endpoint scopes. A token simply inherits its user's access, and what each call can do is then decided by that user's role, like project owner or organization administrator. A read or write to a resource the user cannot reach returns 404 rather than 403, so the API does not disclose that hidden data exists, and an action the role does not allow returns API error code 40000. To limit an agent, the practical lever is the access of the user whose token it uses.
Versioning
This is version 2 of the Data Access API, and a request must select it explicitly with the X-Version: 2 header, or an Accept header of application/json; version=2. Pinning the version this way means an integration only moves to a future major version when it chooses to. BugSnag is now part of SmartBear and branded as Insight Hub, and its newer documentation lives on the SmartBear developer portal.
Data model
The API is resource-oriented JSON over HTTPS at https://api.bugsnag.com. An organization holds projects; a project holds errors; an error groups the events that share a root cause; and releases and stability trends track app health over time. Pivots break errors down by event field, and trends chart counts over time. Lists page through the Link header, and many error and event endpoints accept a filters parameter keyed by event field.
Connect & authenticate

Connection & authentication methods.

How an app or AI agent connects to BugSnag determines what it can reach. There is a route for making calls and a hosted server that exposes BugSnag tools to agents, and each is governed by the personal auth token behind it and the BugSnag access that token carries.

Ways to connect

Data Access API

The Data Access API answers over HTTPS at https://api.bugsnag.com and returns JSON. A request selects version 2 with the X-Version header, or an Accept header of application/json; version=2, and authenticates with a personal auth token. It is the read and write API for organizations, projects, errors, events, and releases.

Best forConnecting an app or AI agent to BugSnag.
Governed byThe personal auth token and the BugSnag access of the user behind it.
Docs ↗

MCP server (Model Context Protocol)

SmartBear's official MCP server connects an AI agent to BugSnag, now SmartBear Insight Hub, through the Model Context Protocol. The hosted remote server at https://bugsnag.mcp.smartbear.com/mcp uses an OAuth browser flow, while the npm package @smartbear/mcp can run locally with a BugSnag auth token and an optional project API key to scope searches to one project. The source is at github.com/SmartBear/smartbear-mcp.

Best forConnecting an AI agent to BugSnag through MCP.
Governed byThe OAuth grant or the auth token and the BugSnag access behind it.
Docs ↗

Webhook integration

BugSnag can post a payload to a receiver URL when a new error is reported, set up as a data-forwarding webhook integration in the dashboard. This is configured separately from the Data Access API, which itself does not push events.

Best forReceiving new-error notifications at an app or AI agent.
Governed byThe integration configured on the project.
Docs ↗
Authentication

Personal auth token

A personal auth token is generated in the My Account section of BugSnag settings and sent as an Authorization header of 'token TOKEN', or as an auth_token query parameter. The token acts as the user who created it, so it reaches exactly the organizations and projects that user can reach, with no narrower per-endpoint scopes to set. What a call can do is then decided by that user's role, like project owner or organization administrator.

TokenPersonal auth token (Authorization: token ...)
Best forServer-side and agent access to BugSnag data.
Docs ↗

User credentials (on-premise only)

On an on-premise BugSnag installation, a request can authenticate with the user's email and password over HTTP Basic auth, sending an X-Bugsnag-API: true header. This route does not apply to the hosted service.

TokenHTTP Basic email and password
Best forOn-premise installations.
Docs ↗
Capability map

What an AI agent can do in BugSnag.

The BugSnag API is split into areas an agent can act on, like organizations, projects, errors, events, and releases. Each area has its own methods, and writes here resolve errors, change project settings, or delete error and event data.

Endpoint reference

Every BugSnag API method.

Filter by method, access, or permission, or search any path. Select a row for version detail, rate limits, the related webhook event, and the source.

MethodEndpointWhat it doesAccessPermissionVersion

Organizations

List the organizations the token can reach, view an organization, and update or delete one.4

Returns only the organizations the token's user can reach. The admin and per_page query parameters refine the list. The token carries the user's own access, with no per-endpoint scope to set.

Acts onorganization
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Whether this succeeds depends on the user's account and plan, not on a per-endpoint scope.

Acts onorganization
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns 404 rather than 403 when the token cannot see the organization, so it does not disclose that the organization exists.

Acts onorganization
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Requires an organization administrator role on the user behind the token; otherwise the call returns API error code 40000.

Acts onorganization
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Projects

List an organization's projects, view a project, create a project, and update one.4

Returns only the projects the token's user can reach. Paginated through the Link header, with per_page up to 100.

Acts onproject
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Requires an organization administrator role on the user behind the token.

Acts onproject
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns 404 rather than 403 when the token cannot see the project.

Acts onproject
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Requires a project owner or organization administrator role on the user behind the token.

Acts onproject
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Errors

List the errors on a project, view a single error, update or resolve an error, and delete one.5

Takes a filters parameter keyed by event field. Heavily sorted result sets are capped and return API error code 60000; set sort to unsorted, or add filters, for complete results.

Acts onerror
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

An error groups together the events that share a root cause.

Acts onerror
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Resolving and reopening an error are operations on this endpoint, sent in the request body. Requires write access on the user behind the token.

Acts onerror
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Applies the same change, such as resolving, across the errors selected by the request.

Acts onerror
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Irreversible. Removes the error group and the underlying event data.

Acts onerror
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Events

List the events on an error or a project, view a single event, and view the latest event on an error.5

An event is a single occurrence of an error, carrying the metadata and diagnostics captured at the time.

Acts onevent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

A shortcut to the most recent occurrence without listing all events.

Acts onevent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

For a live feed of new errors as they are reported, a webhook integration is set up in the dashboard instead of polling this endpoint.

Acts onevent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns the full event including stacktrace, breadcrumbs, and any custom metadata fields.

Acts onevent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Irreversible. Removes the one event occurrence.

Acts onevent
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Pivots & trends

List the pivots and their values that break an error or project down by event field, and read error and project trends over time.5

A pivot groups an error's events by a chosen field, like browser or release stage, to show where it concentrates.

Acts onpivot
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns each value of the chosen field and how many events carry it.

Acts onpivot
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The project-level version of pivots, breaking all errors down by field.

Acts onpivot
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns time-bucketed counts to chart whether an error is rising or falling.

Acts ontrend
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

The project-level trend, aggregated across its errors.

Acts ontrend
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Releases & stability

List releases and release groups on a project, view a single release, and read a project's stability trend.5

A release records a version of an app deployed to a stage, with its error and stability figures.

Acts onrelease
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns the release detail, including its sessions and error counts.

Acts onrelease
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

A release group collects the releases that share a version across builds.

Acts onrelease_group
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Requires write access on the user behind the token.

Acts onrelease_group
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Stability is measured against the project's target, to see release health at a glance.

Acts onstability_trend
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Collaborators

List the collaborators on an organization or project and view a single collaborator.3

Returns the people who can reach the organization, with their email addresses and roles.

Acts oncollaborator
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns one person's details, including their email address.

Acts oncollaborator
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Returns the people who can reach this specific project.

Acts oncollaborator
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Event fields & saved searches

List the event fields a project captures and the saved searches stored on a project.3

Event fields are the metadata captured on events, both the defaults and any custom fields, and they are what filters and pivots key off.

Acts onevent_field
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

A saved search is a set of filters and a sort order saved for reuse.

Acts onsaved_search
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply

Stores a reusable filter and sort for the project. Requires write access on the user behind the token.

Acts onsaved_search
Permission (capability)None required
VersionAvailable since the API’s base version
Webhook eventNone
Rate limitStandard limits apply
No endpoints match those filters.
Webhooks

Webhook events.

The Data Access API does not push events. To learn about new errors as they are reported, an integration sets up a webhook in the BugSnag dashboard, which is configured separately from this read and write API.

EventWhat it signalsTriggered by
No events match that search.
Rate limits & pagination

Rate limits, pagination & request size.

BugSnag limits how fast an app or AI agent can call, through a per-token request quota measured over a rolling one-minute window, reported on every response.

Request rate

BugSnag meters requests per personal auth token over a rolling one-minute window. Every request that is not rate limited carries an X-RateLimit-Limit header, the number of requests allowed in the window, and an X-RateLimit-Remaining header, the number left. Going over returns HTTP 429 with a Retry-After header that says how many seconds to wait before trying again. A separate cap protects heavy sorted queries: a result set sorted past a size threshold returns API error code 60000, and setting sort to unsorted or adding filters returns complete results.

Pagination

List endpoints page through the Link header rather than hand-built URLs, since the pagination method can differ between resources. The Link header gives the next URL inside angled brackets with a rel of next. Results default to 30 per page, and the per_page parameter raises that up to 100, though some resources cap it lower and clamp anything higher to their maximum. Most list responses also carry an X-Total-Count header with the total number of matching results.

Request size

Responses are JSON over HTTPS, and timestamps come back in ISO 8601 form. A page returns at most 100 items, the per_page maximum, and the X-Total-Count header reports the full count behind the pages.

Errors

Status codes & error handling.

The status codes an agent should handle, and what to do about each.

StatusCodeMeaningWhat to do
401UnauthorizedAuthentication is missing or the personal auth token is invalid.Send a valid token in the Authorization header as 'token TOKEN', and regenerate it if it has been revoked.
402Payment requiredAccess is restricted by billing. API error code 30000 is a lapsed payment, 31000 an expired trial or invalid subscription, and 32000 a lack of available seats for the user.Update billing, select a plan, or free up a seat, depending on the code returned in the body.
403ForbiddenThe user behind the token lacks the role for the action. API error code 40000 means a higher project or organization role is required.Use a token whose user has the needed role, such as project owner or organization administrator.
404Not FoundThe resource does not exist, or the token cannot see it. BugSnag returns 404 rather than 403 on purpose, so it does not disclose that hidden data exists.Confirm the path is correct and the token's user has access to the organization or project.
429Too Many RequestsThe per-token rate limit for the one-minute window was exceeded.Wait the number of seconds given in the Retry-After header before retrying.
Versioning & freshness

Version history.

BugSnag pins the Data Access API to a major version that a request selects with a version header, so an integration only moves up when it chooses to.

Version history

What changed, and when

Latest version2
2Current version
Data Access API version 2 (current)

Version 2 is the current major version of the BugSnag Data Access API. A request selects it explicitly with the X-Version: 2 header, or an Accept header of application/json; version=2, and authenticates with a personal auth token over HTTPS at https://api.bugsnag.com. Since SmartBear's acquisition of BugSnag the product is branded Insight Hub, with newer API documentation on the SmartBear developer portal, while the v2 reference remains the source for the endpoints here.

What changed
  • Resource-oriented JSON over HTTPS for organizations, projects, errors, events, pivots, trends, releases, and collaborators.
  • Personal auth tokens for authentication, inheriting the user's access with no per-endpoint scopes.
  • Per-token rate limiting over a one-minute window, reported with X-RateLimit headers and a 429 with Retry-After when exceeded.
  • Link-header pagination, an X-Total-Count header, and a filters parameter on error and event endpoints.
Earlier
Version 1 (legacy)

Version 1 was the original Data Access API. Version 2 superseded it and is the version an integration should select with the X-Version header. BugSnag announced the v2 API ahead of this current reference.

What changed
  • Superseded by version 2, which is selected explicitly through the X-Version header.

Pin the version header and move up on a schedule that suits the integration.

BugSnag product updates ↗
Questions

BugSnag API, answered.

How do I authenticate with the BugSnag API?+
Generate a personal auth token in the My Account section of BugSnag settings, then send it on every request as an Authorization header of 'token TOKEN', or as an auth_token query parameter. The token acts as the user who created it. On-premise installations can instead use the user's email and password over HTTP Basic auth with an X-Bugsnag-API: true header.
Does a BugSnag token have scopes I can limit, like read-only?+
No. A personal auth token has no granular per-endpoint scopes. It simply carries the access of the user who created it, and what each call can do is decided by that user's role, such as project owner or organization administrator. To narrow what a token can reach or change, the lever is the user's own access in BugSnag, which is why a governance layer like Bollard AI is useful for confining an agent to read-only or to specific projects.
How do I select the API version?+
Send the header 'X-Version: 2' on each request, or an Accept header of 'application/json; version=2'. This is version 2 of the Data Access API. Selecting the version explicitly means an integration keeps working as it is until it chooses to adopt a future major version. BugSnag is now SmartBear Insight Hub, and SmartBear hosts newer API documentation on its developer portal.
What are the rate limits?+
Requests are metered per auth token over a rolling one-minute window. Each successful response includes X-RateLimit-Limit, the number of requests allowed in the window, and X-RateLimit-Remaining, the number left. If the limit is exceeded the API returns HTTP 429 with a Retry-After header giving the seconds to wait before retrying. A separate cap on heavily sorted result sets returns API error code 60000, which is resolved by setting sort to unsorted or adding filters.
How does pagination work?+
Follow the Link response header rather than building URLs by hand, because the pagination method can differ between resources. The header gives the next page URL with a rel of next. Lists return 30 items by default, and the per_page parameter raises that up to 100, though some endpoints cap it lower. Most list responses also include an X-Total-Count header with the total number of matching results.
Can I get a live feed of new errors instead of polling?+
The Data Access API does not push events. For a feed of new errors as they are reported, set up a data-forwarding webhook integration in the BugSnag dashboard, which posts a payload to a receiver URL on each new error. That is separate from this read and write API. The notifier endpoint at notify.bugsnag.com is a different API again, used by apps to send error reports in, not to read them back.
Why am I getting a 404 when I'm sure the resource exists?+
BugSnag returns 404 rather than 403 when the token cannot see a resource, on purpose, so it does not disclose that the organization, project, error, or event exists. The fix is to confirm the path is correct and that the user behind the token has access to that organization or project. An action the user's role does not allow returns API error code 40000 instead.
Related

More developer API guides for agents

What is Bollard AI?

Control what every AI agent can do in BugSnag.

Bollard AI sits between a team's AI agents and BugSnag. Grant each agent exactly the access it needs, read or write, resource by resource, and every call is checked and logged.

  • Set read, write, or full access per agent, never a shared BugSnag auth token.
  • Denied by default, so an agent reaches only what has been explicitly allowed.
  • Every call recorded in plain English: who, what, where, and the decision.
BugSnag
Triage Agent
Read errors and events ResourceOffReadFull use
Resolve errors ActionOffReadFull use
Delete errors ActionOffReadFull use
Per-agent access, set in Bollard AI, not in BugSnag