Skip to main content
The Sentry Integration Platform lets you build custom apps that extend Sentry’s functionality. A Sentry App is an OAuth application that can subscribe to webhooks, render UI components inside Sentry, and make API calls on behalf of an organization. Use these endpoints to manage installed Sentry Apps, link Sentry issues to external trackers, and provision users via SCIM.

Sentry App installations

When an organization installs your Sentry App, Sentry creates an installation record. Each installation has a UUID that you use to identify which organization and app the requests refer to.

List installed apps

GET /api/0/organizations/{organization_id_or_slug}/sentry-app-installations/
Returns all Sentry App installations for the organization. Required scope: org:read

Path parameters

organization_id_or_slug
string
required
The numeric ID or slug of the organization.

Example request

curl https://sentry.io/api/0/organizations/my-org/sentry-app-installations/ \
  -H "Authorization: Bearer sntrys_TOKEN"

Example response

[
  {
    "app": {
      "uuid": "a8e5d37a-696c-4c54-adb5-b3f28d64c7de",
      "slug": "my-sentry-app",
      "name": "My Sentry App"
    },
    "organization": {
      "slug": "my-org"
    },
    "uuid": "a8e5d37a-abcd-1234-5678-b3f28d64c7de",
    "status": "installed"
  }
]

External issues

External issues link a Sentry issue to a ticket or work item in an external system (such as GitHub Issues, Jira, or a custom tracker). This lets Sentry display the linked ticket alongside the issue.

List external issues

GET /api/0/sentry-app-installations/{uuid}/external-issues/
Returns the external issue links created by this Sentry App installation. Required scope: event:read

Path parameters

uuid
string
required
The UUID of the Sentry App installation.

Create an external issue

POST /api/0/sentry-app-installations/{uuid}/external-issues/
Links a Sentry issue to an item in an external issue tracker. Required scope: event:write

Request body

issueId
integer
required
The numeric ID of the Sentry issue to link.
webUrl
string
required
The URL to the external issue in the third-party system.
project
string
required
The slug of the project the Sentry issue belongs to.
identifier
string
required
The identifier of the issue in the external system (e.g. "42" for issue #42).

Example request

curl -X POST https://sentry.io/api/0/sentry-app-installations/UUID/external-issues/ \
  -H "Authorization: Bearer sntrys_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "issueId": 12345,
    "webUrl": "https://github.com/org/repo/issues/42",
    "project": "my-project",
    "identifier": "42"
  }'

Example response

{
  "id": "1",
  "issueId": "12345",
  "webUrl": "https://github.com/org/repo/issues/42",
  "project": "my-project",
  "identifier": "42"
}

Delete an external issue

DELETE /api/0/sentry-app-installations/{uuid}/external-issues/{id}/
Removes the link between a Sentry issue and an external issue. Required scope: event:admin

Path parameters

id
string
required
The ID of the external issue link to delete.
Returns 204 No Content on success.

SCIM API

The SCIM (System for Cross-domain Identity Management) API lets you provision and manage Sentry organization members and teams from your identity provider (IdP). This enables automated user lifecycle management — onboarding, offboarding, and role changes flow directly from your IdP into Sentry.
SCIM is available on Business and Enterprise plans. You must configure a SAML identity provider for your organization before using SCIM.

Users

List users

GET /api/0/organizations/{organization_id_or_slug}/scim/v2/Users

Provision a user

POST /api/0/organizations/{organization_id_or_slug}/scim/v2/Users

Update a user

PATCH /api/0/organizations/{organization_id_or_slug}/scim/v2/Users/{id}

Remove a user

DELETE /api/0/organizations/{organization_id_or_slug}/scim/v2/Users/{id}

SCIM user schema

SCIM endpoints use the SCIM 2.0 protocol format. The request and response bodies follow the urn:ietf:params:scim:schemas:core:2.0:User schema.

Example: provision a user

curl -X POST https://sentry.io/api/0/organizations/my-org/scim/v2/Users \
  -H "Authorization: Bearer sntrys_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "schemas": ["urn:ietf:params:scim:schemas:core:2.0:User"],
    "userName": "jane@example.com",
    "name": {
      "givenName": "Jane",
      "familyName": "Smith"
    },
    "emails": [
      {
        "primary": true,
        "value": "jane@example.com",
        "type": "work"
      }
    ],
    "active": true
  }'

Example: deprovision a user

curl -X DELETE https://sentry.io/api/0/organizations/my-org/scim/v2/Users/123 \
  -H "Authorization: Bearer sntrys_TOKEN"
This removes the user from the organization. The user’s Sentry account is not deleted.