PagerDuty Extension Schemas API
A PagerDuty extension vendor represents a specific type of outbound extension such as Generic Webhook, Slack, ServiceNow.
A PagerDuty extension vendor represents a specific type of outbound extension such as Generic Webhook, Slack, ServiceNow.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
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.curl "https://apis.io/api/v1/apis/pagerduty-extension-schemas-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
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: 3.2.0
info:
description: 'This document describes the PagerDuty REST APIs.
For guides and examples please visit our Documentation.
Our REST APIs are defined in OpenAPI v3.x. You can view the schema at 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 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
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
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:
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
- 'null'
description: The total number of records matching the given query.
readOnly: true
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'
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'
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'
NotFound:
description: The requested resource was not found.
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'
parameters:
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_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
offset_offset:
name: offset
in: query
required: false
description: Offset to start pagination search results.
schema:
type: integer
offset_limit:
name: limit
in: query
required: false
description: The number of results per page.
schema:
type: integer
securitySchemes:
api_key:
type: apiKey
name: Authorization
in: header
description: The API Key with format `Token token=<API_KEY>`