PagerDuty Extension Schemas API

A PagerDuty extension vendor represents a specific type of outbound extension such as Generic Webhook, Slack, ServiceNow.

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/pagerduty-extension-schemas-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 email required.

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

OpenAPI Specification

pagerduty-extension-schemas-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  description: 'This document describes the PagerDuty REST APIs.


    For guides and examples please visit our [Documentation.](https://developer.pagerduty.com/docs/get-started/getting-started/)


    Our REST APIs are defined in OpenAPI v3.x. You can view the schema at [github.com/PagerDuty/api-schema](https://github.com/PagerDuty/api-schema).


    Note that properties in some schemas have fields not shown by default such as `readOnly`, `format`, and `default`. Hover your cursor over the right column that looks like `optional+1` to see the full list of fields.

    '
  contact:
    name: PagerDuty Support
    url: http://www.pagerduty.com/support
    email: support@pagerduty.com
  title: PagerDuty Abilities Extension Schemas API
  version: 2.0.0
servers:
- url: https://api.pagerduty.com
  description: PagerDuty V2 API.
security:
- api_key: []
tags:
- name: Extension Schemas
  description: 'A PagerDuty extension vendor represents a specific type of outbound extension such as Generic Webhook, Slack, ServiceNow.

    '
paths:
  /extension_schemas:
    description: List extension schemas.
    get:
      x-pd-requires-scope: extension_schemas.read
      tags:
      - Extension Schemas
      operationId: listExtensionSchemas
      description: 'List all extension schemas.


        A PagerDuty extension vendor represents a specific type of outbound extension such as Generic Webhook, Slack, ServiceNow.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extension-schemas)


        Scoped OAuth requires: `extension_schemas.read`

        '
      summary: PagerDuty List extension schemas
      parameters:
      - $ref: '#/components/parameters/offset_limit'
      - $ref: '#/components/parameters/offset_offset'
      - $ref: '#/components/parameters/offset_total'
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      responses:
        '200':
          description: A paginated array of extension schemas.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Pagination'
                - type: object
                  properties:
                    extension_schemas:
                      type: array
                      items:
                        $ref: '#/components/schemas/ExtensionSchema'
                  required:
                  - extension_schemas
              examples:
                response:
                  summary: Response Example
                  value:
                    extension_schemas:
                    - id: PJFWPEP
                      type: extension_schema
                      summary: Generic Webhook
                      self: https://api.pagerduty.com/extension_schemas/PJFWPEP
                      description: Long description here
                      guide_url: https://developer.pagerduty.com
                      icon_url: https://extension.com/extension.png
                      key: generic_webhook
                      label: Generic Webhook
                      logo_url: https://extension.com/logo.png
                      send_types:
                      - trigger
                      - acknowledge
                      - resolve
                      - delegate
                      - escalate
                      - unacknowledge
                      - assign
                      url: ''
                    limit: 25
                    offset: 0
                    more: false
                    total: null
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /extension_schemas/{id}:
    description: Get details about one specific extension vendor.
    get:
      x-pd-requires-scope: extension_schemas.read
      tags:
      - Extension Schemas
      operationId: getExtensionSchema
      description: 'Get details about one specific extension vendor.


        A PagerDuty extension vendor represents a specific type of outbound extension such as Generic Webhook, Slack, ServiceNow.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#extension-schemas)


        Scoped OAuth requires: `extension_schemas.read`

        '
      summary: PagerDuty Get an extension vendor
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: The extension vendor requested
          content:
            application/json:
              schema:
                type: object
                properties:
                  extension_schema:
                    $ref: '#/components/schemas/ExtensionSchema'
                required:
                - extension_schema
              examples:
                response:
                  summary: Response Example
                  value:
                    extension_schema:
                      id: PJFWPEP
                      type: extension_schema
                      summary: Generic Webhook
                      self: https://api.pagerduty.com/extension_schemas/PJFWPEP
                      description: Long description here
                      guide_url: https://developer.pagerduty.com
                      icon_url: https://extension.com/extension.png
                      key: generic_webhook
                      label: Generic Webhook
                      logo_url: https://extension.com/logo.png
                      send_types:
                      - trigger
                      - acknowledge
                      - resolve
                      - delegate
                      - escalate
                      - unacknowledge
                      - assign
                      url: ''
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    offset_offset:
      name: offset
      in: query
      required: false
      description: Offset to start pagination search results.
      schema:
        type: integer
    header_Accept:
      name: Accept
      description: The `Accept` header is used as a versioning header.
      in: header
      required: true
      schema:
        type: string
        default: application/vnd.pagerduty+json;version=2
    id:
      name: id
      description: The ID of the resource.
      in: path
      required: true
      schema:
        type: string
    header_Content-Type:
      name: Content-Type
      in: header
      required: true
      schema:
        type: string
        default: application/json
        enum:
        - application/json
    offset_limit:
      name: limit
      in: query
      required: false
      description: The number of results per page.
      schema:
        type: integer
    offset_total:
      name: total
      in: query
      required: false
      description: 'By default the `total` field in pagination responses is set to `null` to provide the fastest possible response times. Set `total` to `true` for this field to be populated.


        See our [Pagination Docs](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for more information.

        '
      schema:
        default: false
        type: boolean
  responses:
    Conflict:
      description: The request conflicts with the current state of the server.
      content:
        application/json:
          schema:
            type: object
            properties:
              error:
                type: object
                properties:
                  code:
                    type: integer
                    readOnly: true
                  message:
                    type: string
                    readOnly: true
                    description: Error message string
                  errors:
                    type: array
                    readOnly: true
                    items:
                      type: string
                      readOnly: true
                      description: Human-readable error details
                example:
                  message: Not Found
                  code: 2100
    Unauthorized:
      description: 'Caller did not supply credentials or did not provide the correct credentials.

        If you are using an API key, it may be invalid or your Authorization header may be malformed.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    ArgumentError:
      description: Caller provided invalid arguments. Please review the response for error details. Retrying with the same arguments will *not* work.
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    NotFound:
      description: The requested resource was not found.
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    TooManyRequests:
      description: Too many requests have been made, the rate limit has been reached.
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
    Forbidden:
      description: 'Caller is not authorized to view the requested resource.

        While your authentication is valid, the authenticated user or token does not have permission to perform this action.

        '
      content:
        application/json:
          schema:
            $ref: '#/components/responses/Conflict/content/application~1json/schema'
  schemas:
    ExtensionSchema:
      type: object
      properties:
        icon_url:
          type: string
          format: url
          readOnly: true
          description: A small logo, 18-by-18 pixels.
        logo_url:
          type: string
          format: url
          readOnly: true
          description: A large logo, 75 pixels high and no more than 300 pixels wide.
        label:
          type: string
          readOnly: true
          description: Human friendly display label
        key:
          type: string
          readOnly: true
          description: Machine friendly display label
        description:
          type: string
          description: The long description for the Extension
        guide_url:
          type: string
          format: url
          readOnly: true
          description: A link to the extension's support guide
        send_types:
          type: array
          description: The types of PagerDuty incident events that will activate this Extension
          uniqueItems: true
          items:
            type: string
            enum:
            - trigger
            - acknowledge
            - resolve
            - delegate
            - escalate
            - unacknowledge
            - assign
            - custom
        url:
          type: string
          readOnly: true
          description: The url that the webhook payload will be sent to for this Extension.
      example:
        id: PJFWPEP
        type: extension_schema
        summary: Generic Webhook
        self: https://api.pagerduty.com/extension_schemas/PJFWPEP
        html_url: 'null'
        description: Long description here
        guide_url: https://developer.pagerduty.com
        icon_url: https://extension.com/extension.png
        key: generic_webhook
        label: Generic Webhook
        logo_url: https://extension.com/logo.png
        send_types:
        - trigger
        - acknowledge
        - resolve
        - delegate
        - escalate
        - unacknowledge
        - assign
        - custom
        url: https://developer.pagerduty.com/my_webhook_endpoint
    Pagination:
      type: object
      properties:
        offset:
          type: integer
          description: Echoes offset pagination property.
          readOnly: true
        limit:
          type: integer
          description: Echoes limit pagination property.
          readOnly: true
        more:
          type: boolean
          description: Indicates if there are additional records to return
          readOnly: true
        total:
          type: integer
          description: The total number of records matching the given query.
          nullable: true
          readOnly: true
  securitySchemes:
    api_key:
      type: apiKey
      name: Authorization
      in: header
      description: The API Key with format `Token token=<API_KEY>`