Sentry Custom Integrations API

Manage custom integrations

Documentation

Specifications

Schemas & Data

Other Resources

OpenAPI Specification

sentry-system-custom-integrations-api-openapi.yml Raw ↑
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.