OpsGenie Integrations API

Operations for creating, retrieving, enabling, disabling, and managing integrations.

Operations 8

POST /v2/integrations Create integration #
GET /v2/integrations List integrations #
GET /v2/integrations/{id} Get integration #
PUT /v2/integrations/{id} Update integration #
DELETE /v2/integrations/{id} Delete integration #
POST /v2/integrations/{id}/enable Enable integration #
POST /v2/integrations/{id}/disable Disable integration #
POST /v2/integrations/authenticate Authenticate integration #

Documentation

Specifications

Schemas & Data

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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 API
curl "https://apis.io/api/v1/apis/opsgenie-integrations-api"
All apis
curl "https://apis.io/api/v1/apis?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.

OpenAPI Specification

opsgenie-integrations-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: OpsGenie Integration Integrations API
  description: The OpsGenie Integration API enables developers to programmatically manage integrations that connect OpsGenie with third-party monitoring, ticketing, and communication tools. It provides endpoints for creating, enabling, disabling, and configuring integrations and their associated actions. Note that the Integration API does not support Zendesk, Slack, or Incoming Call integrations, which must be configured through the OpsGenie web interface.
  version: 2.0.0
  contact:
    name: Atlassian Support
    url: https://support.atlassian.com/opsgenie/
  termsOfService: https://www.atlassian.com/legal/cloud-terms-of-service
servers:
- url: https://api.opsgenie.com
  description: Production Server
- url: https://api.eu.opsgenie.com
  description: EU Production Server
security:
- genieKey: []
tags:
- name: Integrations
  description: Operations for creating, retrieving, enabling, disabling, and managing integrations.
paths:
  /v2/integrations:
    post:
      operationId: createIntegration
      summary: Create integration
      description: Creates a new integration in OpsGenie. The type of integration determines the configuration options available.
      tags:
      - Integrations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateIntegrationRequest'
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreateIntegrationResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    get:
      operationId: listIntegrations
      summary: List integrations
      description: Returns a list of all integrations configured in the account.
      tags:
      - Integrations
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListIntegrationsResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/integrations/{id}:
    get:
      operationId: getIntegration
      summary: Get integration
      description: Retrieves the details of a specific integration by its ID.
      tags:
      - Integrations
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier of the integration.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntegrationResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    put:
      operationId: updateIntegration
      summary: Update integration
      description: Updates the specified integration's configuration.
      tags:
      - Integrations
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier of the integration.
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateIntegrationRequest'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '400':
          description: Bad Request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
    delete:
      operationId: deleteIntegration
      summary: Delete integration
      description: Deletes the specified integration.
      tags:
      - Integrations
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier of the integration.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/integrations/{id}/enable:
    post:
      operationId: enableIntegration
      summary: Enable integration
      description: Enables the specified integration so it can process incoming events.
      tags:
      - Integrations
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier of the integration.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/integrations/{id}/disable:
    post:
      operationId: disableIntegration
      summary: Disable integration
      description: Disables the specified integration so it stops processing events.
      tags:
      - Integrations
      parameters:
      - name: id
        in: path
        required: true
        description: Unique identifier of the integration.
        schema:
          type: string
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SuccessResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
        '404':
          description: Not Found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
  /v2/integrations/authenticate:
    post:
      operationId: authenticateIntegration
      summary: Authenticate integration
      description: Authenticates an integration using the provided API key and returns the integration details if the key is valid.
      tags:
      - Integrations
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - type
              properties:
                type:
                  type: string
                  description: Type of the integration to authenticate.
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetIntegrationResponse'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorResponse'
components:
  schemas:
    ListIntegrationsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/Integration'
          description: List of integrations.
        took:
          type: number
          description: Time taken in seconds.
        requestId:
          type: string
          description: Unique identifier for the request.
    CreateIntegrationResponse:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              description: ID of the created integration.
            name:
              type: string
              description: Name of the integration.
            enabled:
              type: boolean
              description: Whether the integration is enabled.
            type:
              type: string
              description: Integration type.
            apiKey:
              type: string
              description: API key for the integration.
        took:
          type: number
          description: Time taken in seconds.
        requestId:
          type: string
          description: Unique identifier for the request.
    ErrorResponse:
      type: object
      properties:
        message:
          type: string
          description: Error message.
        took:
          type: number
          description: Time taken in seconds.
        requestId:
          type: string
          description: Unique identifier for the request.
    UpdateIntegrationRequest:
      type: object
      properties:
        name:
          type: string
          description: Updated integration name.
        ownerTeam:
          type: object
          description: Updated owner team.
          properties:
            id:
              type: string
              description: Team ID.
            name:
              type: string
              description: Team name.
        allowWriteAccess:
          type: boolean
          description: Updated write access setting.
        allowConfigurationAccess:
          type: boolean
          description: Updated configuration access setting.
        ignoreRespondersFromPayload:
          type: boolean
          description: Updated responder ignore setting.
        suppressNotifications:
          type: boolean
          description: Updated notification suppression setting.
        responders:
          type: array
          description: Updated default responders.
          items:
            type: object
            properties:
              id:
                type: string
                description: Responder ID.
              name:
                type: string
                description: Responder name.
              type:
                type: string
                description: Responder type.
    SuccessResponse:
      type: object
      properties:
        result:
          type: string
          description: Result message.
        took:
          type: number
          description: Time taken in seconds.
        requestId:
          type: string
          description: Unique identifier for the request.
    CreateIntegrationRequest:
      type: object
      required:
      - name
      - type
      properties:
        name:
          type: string
          description: Name of the integration.
        type:
          type: string
          description: Type of the integration (e.g. API, Marid, Email, etc.).
        ownerTeam:
          type: object
          description: Team that owns the integration.
          properties:
            id:
              type: string
              description: Team ID.
            name:
              type: string
              description: Team name.
        allowWriteAccess:
          type: boolean
          description: Whether the integration allows write access.
        allowConfigurationAccess:
          type: boolean
          description: Whether the integration allows configuration access.
        ignoreRespondersFromPayload:
          type: boolean
          description: Whether to ignore responders from the incoming payload.
        suppressNotifications:
          type: boolean
          description: Whether to suppress notifications from this integration.
        responders:
          type: array
          description: Default responders for the integration.
          items:
            type: object
            properties:
              id:
                type: string
                description: Responder ID.
              name:
                type: string
                description: Responder name.
              type:
                type: string
                enum:
                - team
                - user
                - escalation
                - schedule
                description: Responder type.
    Integration:
      type: object
      properties:
        id:
          type: string
          description: Unique identifier.
        name:
          type: string
          description: Name of the integration.
        type:
          type: string
          description: Type of the integration.
        enabled:
          type: boolean
          description: Whether the integration is currently enabled.
        ownerTeam:
          type: object
          properties:
            id:
              type: string
              description: Team ID.
            name:
              type: string
              description: Team name.
          description: Owner team.
        isGlobal:
          type: boolean
          description: Whether this is a global (account-level) integration.
        allowWriteAccess:
          type: boolean
          description: Whether write access is enabled.
        allowConfigurationAccess:
          type: boolean
          description: Whether configuration access is enabled.
        responders:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Responder ID.
              name:
                type: string
                description: Responder name.
              type:
                type: string
                description: Responder type.
          description: Default responders.
    GetIntegrationResponse:
      type: object
      properties:
        data:
          $ref: '#/components/schemas/Integration'
        took:
          type: number
          description: Time taken in seconds.
        requestId:
          type: string
          description: Unique identifier for the request.
  securitySchemes:
    genieKey:
      type: apiKey
      in: header
      name: Authorization
      description: API key authentication using the GenieKey scheme.
externalDocs:
  description: OpsGenie Integration API Documentation
  url: https://docs.opsgenie.com/docs/integration-api