Sentry · AsyncAPI Specification

Sentry System Webhooks

Version

View Spec View on GitHub APMApplication MonitoringBug TrackingDeveloper ToolsError TrackingObservabilityPerformance MonitoringReal-Time MonitoringAsyncAPIEvents

AsyncAPI Specification

Raw ↑
generated: '2026-09-18'
method: searched
source: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/
type: Webhooks
provider: Sentry
providerId: sentry-system
asyncapi_published: false
asyncapi_probe:
  note: >-
    Sentry publishes NO AsyncAPI document. Probed 2026-09-18 — docs.sentry.io/asyncapi.yaml 404,
    docs.sentry.io/asyncapi.json 404, getsentry/sentry-docs and getsentry/sentry raw asyncapi.yaml 404.
    sentry.io/asyncapi.yaml answers HTTP 200 but with content-type text/html and a <!DOCTYPE html>
    body — the marketing SPA catch-all, NOT a spec. A prior round wired
    `asyncapi/sentry-webhooks-asyncapi.yml` as type AsyncAPI; that file never existed on disk and the
    pointer has been replaced by this searched webhook catalog (roadmap#376).
  probes:
  - {url: 'https://docs.sentry.io/asyncapi.yaml', status: 404}
  - {url: 'https://docs.sentry.io/asyncapi.json', status: 404}
  - {url: 'https://sentry.io/asyncapi.yaml', status: 200, content_type: text/html, verdict: spa-shell-not-a-spec}
  - {url: 'https://raw.githubusercontent.com/getsentry/sentry-docs/master/asyncapi.yaml', status: 404}
  - {url: 'https://raw.githubusercontent.com/getsentry/sentry/master/asyncapi.yaml', status: 404}

description: >-
  Sentry's event surface is the Integration Platform webhook system. A public or internal Sentry
  integration subscribes to one or more resources; Sentry POSTs a JSON payload to the integration's
  configured webhook URL. There is no polling contract, no streaming endpoint and no message broker —
  outbound HTTP webhooks are the whole event surface.

delivery:
  style: outbound-http-webhook
  method: POST
  content_type: application/json
  timeout: 1s
  timeout_note: Webhooks should respond within 1 second; anything slower is treated as a timeout.
  subscription: >-
    Configured per integration in Settings > Developer Settings (internal) or on the public
    integration's definition. Each resource is subscribed to individually.
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/

headers:
- name: Content-Type
  value: application/json
- name: Request-ID
  description: Unique identifier for the delivery, for tracking and debugging.
- name: Sentry-Hook-Resource
  description: Which resource triggered the delivery (see resources[] below).
- name: Sentry-Hook-Timestamp
  description: Delivery timestamp.
- name: Sentry-Hook-Signature
  description: HMAC-SHA256 of the raw JSON body, keyed with the integration's Client Secret.

security:
  signature:
    algorithm: HMAC-SHA256
    header: Sentry-Hook-Signature
    key: the integration's Client Secret
    signed_payload: the JSON-serialized request body
    verification_docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/
    note: Sentry publishes JavaScript and Python verification snippets on the webhooks page.

envelope:
  fields:
  - {name: action, type: string, description: The action that corresponds with the resource in the header.}
  - {name: installation, type: object, description: 'Object carrying the installation uuid, so a delivery can be mapped to an install.'}
  - {name: data, type: object, description: Resource-specific payload; shape differs per resource and can be customized via UI components.}
  - {name: actor, type: object, description: 'Who triggered it — a user, the integration application, or Sentry itself (type user|application).'}

resources:
- resource: installation
  name: Installation
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/installation/
  actions: [created, deleted]
  data_key: installation
  note: Delivered to public integrations on install and uninstall.
- resource: event_alert
  name: Issue Alerts
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issue-alerts/
  actions: [triggered]
  data_key: event
  fields: [data.event.url, data.event.web_url, data.event.issue_url, data.event.issue_id, data.triggered_rule, data.issue_alert.title, data.issue_alert.settings]
  note: Delivered to integrations exposed as issue-alert actions.
- resource: metric_alert
  name: Metric Alerts
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/metric-alerts/
  actions: [critical, warning, resolved]
  data_key: metric_alert
  fields: [data.metric_alert.alert_rule, data.metric_alert.alert_rule.triggers, data.description_text, data.description_title, data.web_url]
- resource: activity_alert
  name: Activity Alerts
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/activity-alerts/
  actions: [triggered]
  data_key: activity
  activity_types: [seer_root_cause_started, seer_root_cause_completed, seer_solution_started, seer_solution_completed, seer_coding_started, seer_coding_completed, seer_pr_created, seer_pr_iteration_started, seer_pr_iteration_completed]
  fields: [data.issue, data.activity.type, data.activity.details, data.alert.title, data.alert.url, data.alert.web_url]
- resource: issue
  name: Issues
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/issues/
  actions: [created, resolved, assigned, archived, unresolved]
  data_key: issue
  fields: [data.issue.url, data.issue.web_url, data.issue.project_url, data.issue.status, data.issue.substatus, data.issue.statusDetails]
  substatuses: [archived_until_escalating, archived_until_condition_met, archived_forever, escalating, ongoing, regressed, new]
  rest_binding: {operationId: updateIssue, note: 'The same status transitions this webhook reports are the ones updateIssue (PUT /issues/{issue_id}/) performs.'}
- resource: comment
  name: Comments
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/comments/
  actions: [created, updated, deleted]
  fields: [data.comment, data.project_slug, data.comment_id, data.issue_id, data.timestamp]
- resource: error
  name: Errors
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/errors/
  actions: [created]
  data_key: error
  fields: [data.error.url, data.error.web_url, data.error.issue_url, data.error.user]
  availability: Business and Enterprise plans only.
- resource: seer
  name: Seer
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/seer/
  actions: [root_cause_started, root_cause_completed, solution_started, solution_completed, coding_started, coding_completed, pr_created]
  event_names: [seer.root_cause_started, seer.root_cause_completed, seer.solution_started, seer.solution_completed, seer.coding_started, seer.coding_completed, seer.pr_created]
  fields: [data.run_id, data.group_id]
  rest_binding: {operationId: startSeerIssueFix, note: 'These events track the run started by POST /issues/{issue_id}/seer/autofix/ (startSeerIssueFix); retrieveSeerIssueFixState polls the same state.'}
- resource: preprod_artifact
  name: Preprod Artifacts
  docs: https://docs.sentry.io/organization/integrations/integration-platform/webhooks/preprod-artifacts/
  actions: [size_analysis_completed, build_distribution_completed]
  event_names: [preprod_artifact.size_analysis_completed, preprod_artifact.build_distribution_completed]
  fields: [data.buildId, data.organizationSlug, data.projectSlug, data.platform, data.state, data.appInfo]
  states: [COMPLETED, FAILED]
  requires: 'project:read permission or higher; select preprod_artifact as the webhook type on an internal integration.'

counts:
  resources: 9
  actions: 30

related:
  service_hooks:
    note: >-
      Separate from the Integration Platform, Sentry's REST API also exposes project-level service hooks
      (a legacy per-project webhook), captured in the OpenAPI as the Service Hooks API.
    spec: openapi/sentry-system-service-hooks-api-openapi.yml
    operations: [listProjectServiceHooks, createProjectServiceHook, retrieveProjectServiceHook, updateProjectServiceHook, deleteProjectServiceHook]
  docs_index: https://docs.sentry.io/organization/integrations/integration-platform/

Work with this as data

Every AsyncAPI spec here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for asyncapi

4 MCP tools reach this
  • find_asyncapisBrowse and filter every AsyncAPI spec in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This AsyncAPI spec
curl "https://apis.io/api/v1/asyncapis/sentry-system-webhooks"
All asyncapi
curl "https://apis.io/api/v1/asyncapis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.