PagerDuty Extension Schemas API

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

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>`