openapi: 3.1.0 info: title: Sentry Alerts Custom Integrations API description: The Alerts API provides endpoints for managing alert rules in Sentry, including creating, retrieving, updating, and deleting metric alert rules and issue alert rules, as well as managing spike protection notification actions. version: 0.0.1 contact: name: Sentry Support url: https://sentry.io/support/ email: support@sentry.io servers: - url: https://sentry.io/api/0 description: Sentry Production API security: - BearerAuth: [] tags: - name: Custom Integrations description: Manage custom integrations paths: /organizations/{organization_id_or_slug}/sentry-apps/: get: operationId: listOrganizationCustomIntegrations summary: Sentry Retrieve the custom integrations created by an organization description: Returns a list of custom integrations built by the organization. tags: - Custom Integrations parameters: - $ref: '#/components/parameters/OrganizationIdOrSlug' responses: '200': description: A list of custom integrations. content: application/json: schema: type: array items: $ref: '#/components/schemas/SentryApp' '401': description: Unauthorized. '403': description: Forbidden. /sentry-apps/{sentry_app_id_or_slug}/: get: operationId: retrieveCustomIntegration summary: Sentry Retrieve a custom integration by ID or slug description: Returns details for a specific custom integration (Sentry App). tags: - Custom Integrations parameters: - $ref: '#/components/parameters/SentryAppIdOrSlug' responses: '200': description: Custom integration details. content: application/json: schema: $ref: '#/components/schemas/SentryApp' '401': description: Unauthorized. '404': description: Integration not found. put: operationId: updateCustomIntegration summary: Sentry Update an existing custom integration description: Updates an existing custom integration. tags: - Custom Integrations parameters: - $ref: '#/components/parameters/SentryAppIdOrSlug' requestBody: required: true content: application/json: schema: type: object properties: name: type: string scopes: type: array items: type: string webhookUrl: type: string format: uri redirectUrl: type: string format: uri overview: type: string responses: '200': description: Integration updated. content: application/json: schema: $ref: '#/components/schemas/SentryApp' '400': description: Bad request. '401': description: Unauthorized. '404': description: Integration not found. delete: operationId: deleteCustomIntegration summary: Sentry Delete a custom integration description: Deletes a custom integration. tags: - Custom Integrations parameters: - $ref: '#/components/parameters/SentryAppIdOrSlug' responses: '204': description: Integration deleted. '401': description: Unauthorized. '404': description: Integration not found. components: schemas: SentryApp: type: object properties: uuid: type: string format: uuid slug: type: string name: type: string scopes: type: array items: type: string status: type: string webhookUrl: type: string format: uri redirectUrl: type: string format: uri nullable: true overview: type: string nullable: true schema: type: object datePublished: type: string format: date-time nullable: true owner: type: object properties: id: type: string slug: type: string required: - uuid - slug - name parameters: SentryAppIdOrSlug: name: sentry_app_id_or_slug in: path required: true description: The ID or slug of the custom integration. schema: type: string OrganizationIdOrSlug: name: organization_id_or_slug in: path required: true description: The ID or slug of the organization. schema: type: string securitySchemes: BearerAuth: type: http scheme: bearer description: Authentication token for the Sentry API.