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 Status Pages API version: 2.0.0 servers: - url: https://api.pagerduty.com description: PagerDuty V2 API. security: - api_key: [] tags: - name: Status Pages description: 'Status Pages can be public or private read-only pages, that display the status of some predefined set of services, to be shared with customers or internal stakeholders. ' paths: /status_pages: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPages description: 'List Status Pages. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Pages parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/status_page_type' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: status_pages: type: array items: $ref: '#/components/schemas/StatusPage' examples: response: summary: Response Example value: limit: 25 more: false offset: 0 status_pages: - id: PT4KHLK name: My brand Status Page published_at: '2017-09-13T10:11:12.000Z' status_page_type: private type: status_page url: https://status.mybrand.example '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' /status_pages/{id}/impacts: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPageImpacts description: 'List Impacts for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Page Impacts parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_impact_post_type' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: impacts: type: array items: $ref: '#/components/schemas/StatusPageImpact' examples: response: summary: Response Example value: impacts: - description: operational id: PIJ90N7 post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/impacts/PIJ90N7 status_page: id: PQ8W0D0 type: status_page type: status_page_impact - description: partial outage id: PF9KMXH post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/impacts/PF9KMXH status_page: id: PQ8W0D0 type: status_page type: status_page_impact - description: outage id: PBAZLIU post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/impacts/PBAZLIU status_page: id: PQ8W0D0 type: status_page type: status_page_impact limit: 25 more: false offset: 0 '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' /status_pages/{id}/impacts/{impact_id}: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getStatusPageImpact description: 'Get an Impact for a Status Page by Status Page ID and Impact ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Status Page Impact parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_impact_id' responses: '200': description: OK content: application/json: schema: type: object properties: impact: $ref: '#/components/schemas/StatusPageImpact' examples: response: summary: Response Example value: impact: description: operational id: PIJ90N7 post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/impacts/PIJ90N7 status_page: id: PQ8W0D0 type: status_page type: status_page_impact '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /status_pages/{id}/services: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPageServices description: 'List Services for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Page Services parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: services: type: array items: $ref: '#/components/schemas/StatusPageService' examples: response: summary: Response Example value: limit: 25 more: false offset: 0 services: - business_service: id: P32NFFO self: https://api.pagerduty.com/business_services/P32NFFO type: business_service id: PEYSGVF name: Events API (US) status_page: id: PIJ90N7 type: status_page type: status_page_service total: 1 '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' /status_pages/{id}/services/{service_id}: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getStatusPageService description: 'Get a Service for a Status Page by Status Page ID and Service ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Status Page Service parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_service_id' responses: '200': description: OK content: application/json: schema: type: object properties: service: $ref: '#/components/schemas/StatusPageService' examples: response: summary: Response Example value: service: business_service: id: P32NFFO self: https://api.pagerduty.com/business_services/P32NFFO type: business_service id: PEYSGVF name: Events API (US) status_page: id: PIJ90N7 type: status_page type: status_page_service '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /status_pages/{id}/severities: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPageSeverities description: 'List Severities for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Page Severities parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_severity_post_type' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: severities: type: array items: $ref: '#/components/schemas/StatusPageSeverity' examples: response: summary: Response Example value: limit: 25 more: false offset: 0 severities: - description: all good id: PIJ90N7 post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/severities/PIJ90N7 status_page: id: PQ8W0D0 type: status_page type: status_page_severity - description: minor id: PF9KMXH post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/severities/PF9KMXH status_page: id: PQ8W0D0 type: status_page type: status_page_severity - description: major id: PBAZLIU post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/severities/PBAZLIU status_page: id: PQ8W0D0 type: status_page type: status_page_severity total: 3 '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' /status_pages/{id}/severities/{severity_id}: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getStatusPageSeverity description: 'Get a Severity for a Status Page by Status Page ID and Severity ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Status Page Severity parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_severity_id' responses: '200': description: OK content: application/json: schema: type: object properties: severity: $ref: '#/components/schemas/StatusPageSeverity' examples: response: summary: Response Example value: severity: description: all good id: PIJ90N7 post_type: incident status_page: id: PQ8W0D0 type: status_page type: status_page_severity '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /status_pages/{id}/statuses: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPageStatuses description: 'List Statuses for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Page Statuses parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_status_post_type' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: statuses: type: array items: $ref: '#/components/schemas/StatusPageStatus' examples: response: summary: Response Example value: limit: 25 more: false offset: 0 statuses: - description: investigating id: PIJ90N7 post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/statuses/PIJ90N7 status_page: id: PQ8W0D0 type: status_page type: status_page_status - description: detected id: PF9KMXH post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/statuses/PF9KMXH status_page: id: PQ8W0D0 type: status_page type: status_page_status - description: resolved id: PF9KMXH post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/statuses/PF9KMXH status_page: id: PQ8W0D0 type: status_page type: status_page_status total: 3 '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' /status_pages/{id}/statuses/{status_id}: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getStatusPageStatus description: 'Get a Status for a Status Page by Status Page ID and Status ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Status Page Status parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_status_id' responses: '200': description: OK content: application/json: schema: type: object properties: status: $ref: '#/components/schemas/StatusPageStatus' examples: response: summary: Response Example value: status: description: investigating id: PIJ90N7 post_type: incident self: https://api.pagerduty.com/status_pages/PQ8W0D0/statuses/PIJ90N7 status_page: id: PQ8W0D0 type: status_page type: status_page_status '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /status_pages/{id}/posts: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPagePosts description: 'List Posts for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Page Posts parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_type' - $ref: '#/components/parameters/status_page_post_reviewed_status' - $ref: '#/components/parameters/status_page_post_status' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: posts: type: array items: $ref: '#/components/schemas/StatusPagePost' examples: response: summary: Response Example value: limit: 25 more: false offset: 0 posts: - ends_at: '2023-12-12T11:00:00.000Z' id: PIJ90N7 post_type: maintenance postmortem: id: PWZ0PTR self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7/postmortem type: status_page_postmortem self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7 starts_at: '2023-12-12T11:00:00.000Z' status_page: id: PR5LMML type: status_page title: maintenance window for database upgrade type: status_page_post updates: - id: P7HUBBZ self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7/post_updates/P7HUBBZ type: status_page_post_update total: 3 '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' post: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: createStatusPagePost description: 'Create a Post for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Create a Status Page Post parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' requestBody: content: application/json: schema: type: object properties: post: $ref: '#/components/schemas/StatusPagePostPostRequest' required: - post example: post: ends_at: '2023-12-12T11:00:00.000Z' post_type: maintenance starts_at: '2023-12-12T11:00:00.000Z' status_page: id: PR5LMML type: status_page title: maintenance window for database upgrade type: status_page_post updates: - impacted_services: - impact: id: PY5OM08 type: status_page_impact service: id: PYHMEI3 type: status_page_service message:
Message
update_frequency_ms: null notify_subscribers: false severity: id: PY5OM08 type: status_page_severity status: id: P0400H4 type: status_page_status type: status_page_post_update responses: '201': description: Created content: application/json: schema: type: object properties: post: $ref: '#/components/schemas/StatusPagePost' example: post: ends_at: '2023-12-12T11:00:00.000Z' id: PIJ90N7 post_type: maintenance postmortem: id: PWZ0PTR self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7/postmortem type: status_page_postmortem self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7 starts_at: '2023-12-12T11:00:00.000Z' status_page: id: PR5LMML type: status_page title: maintenance window for database upgrade type: status_page_post updates: - id: P7HUBBZ self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7/post_updates/P7HUBBZ type: status_page_post_update '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' /status_pages/{id}/posts/{post_id}: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getStatusPagePost description: 'Get a Post for a Status Page by Status Page ID and Post ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Status Page Post parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' - $ref: '#/components/parameters/status_page_post_include' responses: '200': description: OK content: application/json: schema: type: object properties: post: $ref: '#/components/schemas/StatusPagePost' examples: response: summary: Response Example value: post: ends_at: '2023-12-12T11:00:00.000Z' id: PIJ90N7 post_type: maintenance postmortem: id: PWZ0PTR self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7/postmortem type: status_page_postmortem self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7 starts_at: '2023-12-12T11:00:00.000Z' status_page: id: PR5LMML type: status_page title: maintenance window for database upgrade type: status_page_post updates: - id: P7HUBBZ self: https://api.pagerduty.com/status_pages/PR5LMML/posts/PIJ90N7/post_updates/P7HUBBZ type: status_page_post_update '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' put: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: updateStatusPagePost description: 'Update a Post for a Status Page by Status Page ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Update a Status Page Post parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' requestBody: content: application/json: schema: type: object properties: post: $ref: '#/components/schemas/StatusPagePostPutRequest' required: - post example: post: ends_at: '2023-12-12T11:00:00.000Z' post_type: maintenance starts_at: '2023-12-12T11:00:00.000Z' status_page: id: PR5LMML type: status_page title: maintenance window for database upgrade type: status_page_post responses: '200': description: OK content: application/json: schema: type: object properties: post: $ref: '#/components/schemas/StatusPagePost' examples: response: summary: Response Example value: post: ends_at: '2023-12-12T11:00:00.000Z' post_type: maintenance starts_at: '2023-12-12T11:00:00.000Z' status_page: id: PR5LMML type: status_page title: maintenance window for database upgrade type: status_page_post updates: - impacted_services: - impact: id: PY5OM08 type: status_page_impact service: id: PYHMEI3 type: status_page_service message:Message
update_frequency_ms: null notify_subscribers: false severity: id: PY5OM08 type: status_page_severity status: id: P0400H4 type: status_page_status type: status_page_post_update '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' delete: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: deleteStatusPagePost description: 'Delete a Post for a Status Page by Status Page ID and Post ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Delete a Status Page Post parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /status_pages/{id}/posts/{post_id}/post_updates: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: listStatusPagePostUpdates description: 'List Post Updates for a Status Page by Status Page ID and Post ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty List Status Page Post Updates parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' - $ref: '#/components/parameters/status_page_post_update_reviewed_status' responses: '200': description: OK content: application/json: schema: allOf: - $ref: '#/components/schemas/Pagination' - type: object properties: post_updates: type: array items: $ref: '#/components/schemas/StatusPagePostUpdate' examples: response: summary: Response Example value: limit: 25 more: false offset: 0 post_updates: - id: PXSOCH0 impacted_services: - impact: id: PY5OM08 self: https://api.pagerduty.com/status_pages/PR5LMML/impacts/PY5OM08 type: status_page_impact service: id: PYHMEI3 self: https://api.pagerduty.com/status_pages/PR5LMML/services/PYHMEI3 type: status_page_service message:We will be undergoing schedule maitenance at this date and time
notify_subscribers: false post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post reported_at: '2023-12-12T10:08:19.000Z' reviewed_status: approved self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/post_updates/PXSOCH0 severity: id: PY5OM08 self: https://api.pagerduty.com/status_pages/PR5LMML/severities/PY5OM08 type: status_page_severity status: id: P0400H4 self: https://api.pagerduty.com/status_pages/PR5LMML/statuses/P0400H4 type: status_page_status type: status_page_post_update total: 1 '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' post: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: createStatusPagePostUpdate description: 'Create a Post Update for a Post by Post ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Create a Status Page Post Update parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' requestBody: content: application/json: schema: type: object properties: post_update: $ref: '#/components/schemas/StatusPagePostUpdateRequest' required: - post_update example: post_update: impacted_services: - impact: id: PY5OM08 type: status_page_impact service: id: PYHMEI3 type: status_page_service message:Message
notify_subscribers: false post: id: P6F2CJ3 type: status_page_post severity: id: PY5OM08 type: status_page_severity status: id: P0400H4 type: status_page_status type: status_page_post_update responses: '201': description: Created content: application/json: schema: type: object properties: post_update: $ref: '#/components/schemas/StatusPagePostUpdate' example: post_update: id: PXSOCH0 impacted_services: - impact: id: PY5OM08 self: https://api.pagerduty.com/status_pages/PR5LMML/impacts/PY5OM08 type: status_page_impact service: id: PYHMEI3 self: https://api.pagerduty.com/status_pages/PR5LMML/services/PYHMEI3 type: status_page_service message:We will be undergoing schedule maitenance at this date and time
notify_subscribers: false post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post reported_at: '2023-12-12T10:08:19.000Z' self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/post_updates/PXSOCH0 severity: id: P6F2CJ4 self: https://api.pagerduty.com/status_pages/PR5LMML/severities/P6F2CJ4 type: status_page_severity status: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/statuses/P6F2CJ3 type: status_page_status type: status_page_post_update update_frequency_ms: 300000 '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' /status_pages/{id}/posts/{post_id}/post_updates/{post_update_id}: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getPostUpdate description: 'Get a Post Update for a Post by Post ID and Post Update ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Status Page Post Update parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' - $ref: '#/components/parameters/status_page_post_update_id' responses: '200': description: OK content: application/json: schema: type: object properties: post_update: $ref: '#/components/schemas/StatusPagePostUpdate' examples: response: summary: Response Example value: post_update: id: PXSOCH0 impacted_services: - impact: id: PY5OM08 self: https://api.pagerduty.com/status_pages/PR5LMML/impacts/PY5OM08 type: status_page_impact service: id: PYHMEI3 self: https://api.pagerduty.com/status_pages/PR5LMML/services/PYHMEI3 type: status_page_service message:We will be undergoing schedule maitenance at this date and time
notify_subscribers: false post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post reported_at: '2023-12-12T10:08:19.000Z' self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/post_updates/PXSOCH0 severity: id: P6F2CJ4 self: https://api.pagerduty.com/status_pages/PR5LMML/severities/P6F2CJ4 type: status_page_severity status: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/statuses/P6F2CJ3 type: status_page_status type: status_page_post_update update_frequency_ms: 300000 '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' put: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: updateStatusPagePostUpdate description: 'Update a Post Update for a Post by Post ID and Post Update ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Update a Status Page Post Update parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' - $ref: '#/components/parameters/status_page_post_update_id' requestBody: content: application/json: schema: type: object properties: post_update: $ref: '#/components/schemas/StatusPagePostUpdateRequest' required: - post_update example: post_update: impacted_services: - impact: id: PY5OM08 type: status_page_impact service: id: PYHMEI3 type: status_page_service message:Message
notify_subscribers: false post: id: P6F2CJ3 type: status_page_post severity: id: PY5OM08 type: status_page_severity status: id: P0400H4 type: status_page_status type: status_page_post_update responses: '200': description: OK content: application/json: schema: type: object properties: post_update: $ref: '#/components/schemas/StatusPagePostUpdate' examples: response: summary: Response Example value: post_update: id: PXSOCH0 impacted_services: - impact: id: PY5OM08 self: https://api.pagerduty.com/status_pages/PR5LMML/impacts/PY5OM08 type: status_page_impact service: id: PYHMEI3 self: https://api.pagerduty.com/status_pages/PR5LMML/services/PYHMEI3 type: status_page_service message:We will be undergoing schedule maitenance at this date and time
notify_subscribers: false post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post reported_at: '2023-12-12T10:08:19.000Z' self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/post_updates/PXSOCH0 severity: id: P6F2CJ4 self: https://api.pagerduty.com/status_pages/PR5LMML/severities/P6F2CJ4 type: status_page_severity status: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/statuses/P6F2CJ3 type: status_page_status type: status_page_post_update update_frequency_ms: 300000 '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' delete: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: deleteStatusPagePostUpdate description: 'Delete a Post Update for a Post by Post ID and Post Update ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Delete a Status Page Post Update parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' - $ref: '#/components/parameters/status_page_post_update_id' responses: '204': description: No Content '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' /status_pages/{id}/posts/{post_id}/postmortem: get: x-pd-requires-scope: status_pages.read tags: - Status Pages operationId: getPostmortem description: 'Get a Postmortem for a Post by Post ID. Scoped OAuth requires: `status_pages.read` ' summary: PagerDuty Get a Post Postmortem parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' responses: '200': description: OK content: application/json: schema: type: object properties: postmortem: $ref: '#/components/schemas/StatusPagePostmortem' examples: response: summary: Response Example value: postmortem: id: PIJ90N7 message:Something wrong happened and this is a postmortem.
notify_subscribers: true post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post reported_at: '2023-09-13T10:34:04.000Z' self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/postmortem type: status_page_post_postmortem '401': $ref: '#/components/responses/Unauthorized' '403': $ref: '#/components/responses/Forbidden' '404': $ref: '#/components/responses/NotFound' '429': $ref: '#/components/responses/TooManyRequests' post: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: createStatusPagePostmortem description: 'Create a Postmortem for a Post by Post ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Create a Post Postmortem parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' requestBody: content: application/json: schema: type: object properties: postmortem: $ref: '#/components/schemas/StatusPagePostmortemRequest' required: - post_update example: postmortem: message:
Something wrong happened and this is a postmortem.
notify_subscribers: true post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post type: status_page_post_postmortem responses: '201': description: Created content: application/json: schema: type: object properties: postmortem: $ref: '#/components/schemas/StatusPagePostmortem' example: postmortem: id: PIJ90N7 message:
Something wrong happened and this is a postmortem.
notify_subscribers: true post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post reported_at: '2023-09-13T10:34:04.000Z' self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/postmortem type: status_page_post_postmortem '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' put: x-pd-requires-scope: status_pages.write tags: - Status Pages operationId: updateStatusPagePostmortem description: 'Update a Postmortem for a Post by Post ID. Scoped OAuth requires: `status_pages.write` ' summary: PagerDuty Update a Post Postmortem parameters: - $ref: '#/components/parameters/header_Accept' - $ref: '#/components/parameters/id' - $ref: '#/components/parameters/status_page_post_id' requestBody: content: application/json: schema: type: object properties: postmortem: $ref: '#/components/schemas/StatusPagePostmortemRequest' required: - postmortem example: postmortem: message:
Something wrong happened and this is a postmortem.
notify_subscribers: true post: id: P6F2CJ3 self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3 type: status_page_post type: status_page_post_postmortem responses: '200': description: OK content: application/json: schema: type: object properties: postmortem: $ref: '#/components/schemas/StatusPagePostmortem' examples: response: summary: Response Example value: postmortem: id: PIJ90N7 message:
Something wrong happened and this is a postmortem.
notify_subscribers: true
post:
id: P6F2CJ3
self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3
type: status_page_post
reported_at: '2023-09-13T10:34:04.000Z'
self: https://api.pagerduty.com/status_pages/PR5LMML/posts/P6F2CJ3/postmortem
type: status_page_post_postmortem
'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'
delete:
x-pd-requires-scope: status_pages.write
tags:
- Status Pages
operationId: deleteStatusPagePostmortem
description: 'Delete a Postmortem for a Post by Post ID.
Scoped OAuth requires: `status_pages.write`
'
summary: PagerDuty Delete a Post Postmortem
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/id'
- $ref: '#/components/parameters/status_page_post_id'
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
/status_pages/{id}/subscriptions:
get:
x-pd-requires-scope: status_pages.read
tags:
- Status Pages
operationId: listStatusPageSubscriptions
description: 'List Subscriptions for a Status Page by Status Page ID.
Scoped OAuth requires: `status_pages.read`
'
summary: PagerDuty List Status Page Subscriptions
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/id'
- $ref: '#/components/parameters/status_page_subscription_status'
- $ref: '#/components/parameters/status_page_subscription_channel'
responses:
'200':
description: OK
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
subscriptions:
type: array
items:
$ref: '#/components/schemas/StatusPageSubscription'
examples:
response:
summary: Response Example
value:
limit: 25
more: false
offset: 0
subscriptions:
- channel: email
contact: address@email.example
id: PWZ0PTR
self: https://api.pagerduty.com/status_pages/PIJ90N7/subscriptions/PWZ0PTR
status: active
status_page:
id: PIJ90N7
type: status_page
subscribable_object:
id: PIJ90N7
type: status_page
type: status_page_susbcription
total: 1
'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'
post:
x-pd-requires-scope: status_pages.write
tags:
- Status Pages
operationId: createStatusPageSubscription
description: 'Create a Subscription for a Status Page by Status Page ID.
Scoped OAuth requires: `status_pages.write`
'
summary: PagerDuty Create a Status Page Subscription
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/id'
requestBody:
content:
application/json:
schema:
type: object
properties:
subscription:
type: object
title: StatusPageSubscriptionRequest
description: Request schema for creating a StatusPageSubscription.
properties:
channel:
description: The channel of the Subscription.
enum:
- webhook
- email
nullable: false
title: SubscriptionChannel
type: string
contact:
description: The subscriber's contact - email address or webhook URL.
type: string
nullable: false
status_page:
description: Status Page
nullable: false
properties:
id:
description: The id of the status page.
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
subscribable_object:
type: object
title: SubscribableObject
description: The subscribed entity for a given subscription.
properties:
id:
description: The ID of the subscribed entity for a given subscription.
type: string
nullable: false
type:
description: The type of the subscribed entity for a given subscription.
enum:
- status_page
- status_page_service
- status_page_post
type: string
nullable: false
type:
description: A string that determines the schema of the object.
type: string
required:
- channel
- contact
- subscribable_object
- status_page
- type
required:
- subscription
example:
subscription:
channel: email
contact: joe@email.example
status_page:
id: PIJ90N7
type: status_page
subscribable_object:
id: PSX4LJI
type: status_page_service
type: status_page_subscription
responses:
'201':
description: Created
content:
application/json:
schema:
type: object
properties:
subscription:
$ref: '#/components/schemas/StatusPageSubscription'
example:
subscription:
channel: email
contact: address@email.example
id: PWZ0PTR
self: https://api.pagerduty.com/status_pages/PIJ90N7/subscriptions/PWZ0PTR
status: active
status_page:
id: PIJ90N7
type: status_page
subscribable_object:
id: PSX4LJI
type: status_page_service
type: status_page_subscription
'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'
/status_pages/{id}/subscriptions/{subscription_id}:
get:
x-pd-requires-scope: status_pages.read
tags:
- Status Pages
operationId: getStatusPageSubscription
description: 'Get a Subscription for a Status Page by Status Page ID and Subscription ID.
Scoped OAuth requires: `status_pages.read`
'
summary: PagerDuty Get a Status Page Subscription
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/id'
- $ref: '#/components/parameters/status_page_subscription_id'
responses:
'200':
description: OK
content:
application/json:
schema:
type: object
properties:
subscription:
$ref: '#/components/schemas/StatusPageSubscription'
examples:
response:
summary: Response Example
value:
subscription:
channel: email
contact: address@email.example
id: PWZ0PTR
self: https://api.pagerduty.com/status_pages/PIJ90N7/subscriptions/PWZ0PTR
status: active
status_page:
id: PIJ90N7
type: status_page
subscribable_object:
id: PSX4LJI
type: status_page_service
type: status_page_subscription
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
delete:
x-pd-requires-scope: status_pages.write
tags:
- Status Pages
operationId: deleteStatusPageSubscription
description: 'Delete a Subscription for a Status Page by Status Page ID and Subscription ID.
Scoped OAuth requires: `status_pages.write`
'
summary: PagerDuty Delete a Status Page Subscription
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/id'
- $ref: '#/components/parameters/status_page_subscription_id'
responses:
'204':
description: No Content
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
parameters:
status_page_post_reviewed_status:
name: reviewed_status
description: Filter by the reviewed status of the Post to retrieve.
in: query
required: false
schema:
enum:
- approved
- not_reviewed
nullable: false
type: string
status_page_impact_post_type:
name: post_type
description: Filter by Post type.
in: query
required: false
schema:
enum:
- incident
- maintenance
nullable: false
type: string
status_page_post_id:
name: post_id
description: The ID of the Status Page Post.
in: path
required: true
schema:
type: string
status_page_post_status:
name: status[]
description: Filter by an array of Status identifiers.
in: query
required: false
schema:
type: array
items:
type: string
uniqueItems: true
status_page_subscription_status:
name: status
description: Filter by Subscription status.
in: query
required: false
schema:
enum:
- active
- pending
nullable: false
type: string
status_page_post_update_reviewed_status:
name: reviewed_status
description: Filter by the reviewed status of the Post Update to retrieve.
in: query
required: false
schema:
enum:
- approved
- not_reviewed
nullable: false
type: string
status_page_subscription_id:
name: subscription_id
description: The ID of the Status Page subscription.
in: path
required: true
schema:
type: string
status_page_subscription_channel:
name: channel
description: Filter by Subscription channel.
in: query
required: false
schema:
enum:
- webhook
- email
- slack
nullable: false
type: string
status_page_post_type:
name: post_type
description: Filter by Post type.
in: query
required: false
schema:
enum:
- incident
- maintenance
nullable: false
type: string
status_page_type:
name: status_page_type
description: The type of the Status Page.
in: query
required: false
schema:
enum:
- public
- private
nullable: false
type: string
status_page_post_update_id:
name: post_update_id
description: The ID of the Status Page Post Update.
in: path
required: true
schema:
type: string
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
status_page_severity_id:
name: severity_id
description: The ID of the Status Page severity.
in: path
required: true
schema:
type: string
status_page_status_id:
name: status_id
description: The ID of the Status Page status.
in: path
required: true
schema:
type: string
status_page_severity_post_type:
name: post_type
description: Filter by Post type.
in: query
required: false
schema:
enum:
- incident
- maintenance
nullable: false
type: string
id:
name: id
description: The ID of the resource.
in: path
required: true
schema:
type: string
status_page_status_post_type:
name: post_type
description: Filter by Post type.
in: query
required: false
schema:
enum:
- incident
- maintenance
nullable: false
type: string
status_page_service_id:
name: service_id
description: The ID of the Status Page service.
in: path
required: true
schema:
type: string
status_page_impact_id:
name: impact_id
description: The ID of the Status Page Impact.
in: path
required: true
schema:
type: string
status_page_post_include:
name: include[]
description: Array of additional Models to include in response.
in: query
required: false
schema:
items:
enum:
- status_page_post_update
nullable: false
type: string
nullable: false
type: array
schemas:
StatusPagePostPostRequest:
type: object
title: StatusPagePostRequest
description: Request schema for creating/updating a given Status Page Post resource.
properties:
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post.
nullable: false
enum:
- status_page_post
title:
type: string
description: The title given to a Post.
nullable: false
minLength: 1
maxLength: 128
post_type:
type: string
description: The type of the Post.
nullable: false
enum:
- incident
- maintenance
starts_at:
type: string
description: The date and time the Post intent becomes effective - only for maintenance post type.
nullable: true
format: date-time
ends_at:
type: string
description: The date and time the Post intent is concluded - only for maintenance post type.
nullable: true
format: date-time
updates:
type: array
description: Post Updates to be associated with a Post
items:
$ref: '#/components/schemas/StatusPagePostUpdateRequest'
nullable: false
minItems: 1
maxItems: 50
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
required:
- type
- title
- post_type
- starts_at
- ends_at
- updates
- status_page
StatusPagePostUpdateRequest:
type: object
title: StatusPagePostUpdateRequest
description: Attributes for Post Update creation/update
properties:
self:
type: string
description: The path to which the Post Update resource is accessible.
nullable: false
readOnly: true
post:
description: Status Page Post
nullable: false
properties:
id:
description: Status page post unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
message:
type: string
description: The message of the Post Update.
nullable: false
status:
description: Status Page Status
nullable: false
properties:
id:
description: Status page Status unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
severity:
description: Status Page Severity
nullable: false
properties:
id:
description: Status page Severity unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
impacted_services:
type: array
description: Impacted services represent the status page services affected by a post update, and its impact.
items:
$ref: '#/components/schemas/StatusPagePostUpdate/properties/impacted_services/items'
minItems: 0
update_frequency_ms:
type: integer
description: The frequency of the next Post Update in milliseconds.
nullable: true
notify_subscribers:
type: boolean
description: Determines if the subscribers should be notified of the Post Update.
nullable: false
reported_at:
type: string
description: The date and time the Post Update was reported.
nullable: true
format: date-time
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post Update.
required:
- type
- message
- status
- severity
- update_frequency_ms
- notify_subscribers
- impacted_services
- post
StatusPage:
type: object
title: StatusPage
description: A Status Page with all the configuration needed to present the system status in a public or private manner.
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a Status Page entry.
nullable: false
readOnly: true
name:
type: string
description: The name of a Status Page to be presented as a brand title (for example, the rendered Status Page HTML header).
nullable: false
minLength: 1
maxLength: 125
published_at:
type: string
description: The date time moment when a Status Page was published to be publicly available.
nullable: true
readOnly: true
format: date-time
status_page_type:
type: string
description: The type of Status Pages to retrieve - public is accessible to everyone on the internet or private requiring some sort of authentication/authorization layer.
nullable: false
enum:
- public
- private
url:
type: string
description: The URL from which the Status Page can be accessed on the internet (either customer's domain or default *.trust.pagerduty.com).
nullable: false
format: url
type:
type: string
description: A string that determines the schema of the object. This must be the standard name for the entity, suffixed by _reference if the object is a reference.
StatusPagePostUpdate:
type: object
title: StatusPagePostUpdate
description: An update for a Post.
properties:
id:
type: string
description: The ID of the Post Update.
nullable: false
readOnly: true
self:
type: string
description: The path to which the Post Update resource is accessible.
nullable: false
readOnly: true
post:
description: Status Page Post
nullable: false
properties:
id:
description: Status page post unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
message:
type: string
description: The message of the Post Update.
nullable: false
reviewed_status:
type: string
description: The status of the Post Updates to retrieve.
nullable: false
enum:
- approved
- not_reviewed
status:
description: Status Page Status
nullable: false
properties:
id:
description: Status page Status unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
severity:
description: Status Page Severity
nullable: false
properties:
id:
description: Status page Severity unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
impacted_services:
type: array
description: Impacted services represent the status page services affected by a post update, and its impact.
items:
type: object
title: StatusPagePostUpdateImpact
description: Status Page Post Update Impact
properties:
service:
description: Status Page Service
nullable: false
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a Service entry.
nullable: false
readOnly: true
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Service.
impact:
description: Status Page Impact
nullable: false
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a Status Page Impact entry.
nullable: false
readOnly: true
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Impact.
minItems: 0
update_frequency_ms:
type: integer
description: The frequency of the next Post Update in milliseconds.
nullable: true
notify_subscribers:
type: boolean
description: Determines if the subscribers should be notified of the Post Update.
nullable: false
reported_at:
type: string
description: The date and time the Post Update was reported.
nullable: true
format: date-time
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post Update.
StatusPagePostPutRequest:
type: object
title: StatusPagePostPutRequest
description: Request schema for creating a given Status Page Post resource.
properties:
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post.
nullable: false
enum:
- status_page_post
title:
type: string
description: The title given to a Post.
nullable: false
minLength: 1
maxLength: 128
post_type:
type: string
description: The type of the Post.
nullable: false
enum:
- incident
- maintenance
starts_at:
type: string
description: The date and time the Post intent becomes effective - only for maintenance post type.
nullable: true
format: date-time
ends_at:
type: string
description: The date and time the Post intent is concluded - only for maintenance post type.
nullable: true
format: date-time
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
required:
- type
- title
- post_type
- starts_at
- ends_at
- status_page
StatusPageSubscription:
type: object
title: StatusPageSubscription
description: A StatusPageSubscription resource represents a subscription to a specific status page entity.
properties:
channel:
description: The channel of the subscription.
enum:
- webhook
- email
- slack
nullable: false
title: SubscriptionChannel
type: string
contact:
description: The subscriber's contact - email address, webhook URL, etc...
type: string
id:
description: The ID of the Subscription.
type: string
self:
description: The path in which the Subscription resource is accessible.
type: string
status:
description: The status of the Subscription.
enum:
- active
- pending
nullable: false
title: SubscriptionStatus
type: string
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
subscribable_object:
description: The subscribed entity for a given subscription.
properties:
id:
description: The ID of the subscribed entity.
type: string
type:
description: The type of the subscribed entity.
enum:
- status_page
- status_page_service
- status_page_post
type: string
title: SubscribableObject
type: object
type:
description: A string that determines the schema of the object.
type: string
StatusPagePost:
type: object
title: StatusPagePost
description: A Post represents a communication resource presented in the Status Page about certain aspects of one or more services associated.
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a single Post resource.
nullable: false
readOnly: true
self:
type: string
description: The API resource URL of the Post.
nullable: false
readOnly: true
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post.
nullable: false
readOnly: true
default: status_page_post
post_type:
type: string
description: The type of the Post.
nullable: false
enum:
- incident
- maintenance
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
linked_resource:
description: Linked resource
nullable: false
properties:
id:
description: Linked resource unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
postmortem:
description: Postmortem
nullable: false
properties:
id:
description: Postmortem unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
title:
type: string
description: The title given to a Post.
nullable: false
starts_at:
type: string
description: The date and time the Post intent becomes effective - only for maintenance post type.
nullable: true
format: date-time
ends_at:
type: string
description: The date and time the Post intent is concluded - only for maintenance post type.
nullable: true
format: date-time
updates:
type: array
description: List of status_page_post_update references associated to a Post.
items:
type: object
description: Post Update associated to a given Post as a referenced or included resource
nullable: false
anyOf:
- $ref: '#/components/schemas/StatusPagePostUpdate'
minItems: 1
maxItems: 50
StatusPageImpact:
type: object
title: StatusPageImpact
description: A StatusPageImpact resource represents a level of impact for a given Status Page Post.
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a Impact entry.
nullable: false
readOnly: true
self:
type: string
description: The API resource URL of the Impact.
nullable: false
readOnly: true
description:
type: string
description: The description is a human-readable text that describes the Impact level.
nullable: false
post_type:
type: string
description: The type of the Post.
nullable: false
enum:
- incident
- maintenance
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Impact.
StatusPageSeverity:
type: object
title: StatusPageSeverity
description: A Severity represents a level of impact for a given Status Page post.
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a Severity entry.
nullable: false
readOnly: true
self:
type: string
description: The API resource URL of the Severity.
nullable: false
readOnly: true
description:
type: string
description: The description is a human-readable text that describes the Severity level.
nullable: false
post_type:
type: string
description: The type of the Post.
nullable: false
enum:
- incident
- maintenance
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Severity.
StatusPagePostmortem:
type: object
title: StatusPagePostmortem
description: A Postmortem represents a communication resource presented in the Status Page about follow-up made to a certain Post.
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a single Postmortem resource.
nullable: false
readOnly: true
self:
type: string
description: The API resource URL of the Postmortem.
nullable: false
readOnly: true
post:
description: Status Page Post
nullable: false
properties:
id:
description: The id of the status page post.
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
message:
type: string
description: The message of the Postmortem (supports Rich-Text).
nullable: false
maxLength: 10000
notify_subscribers:
type: boolean
description: Whether or not subscribers of the Status Page should be notified about the Postmortem.
nullable: false
reported_at:
type: string
description: The date and time the Postmortem was reported.
nullable: false
format: date-time
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post Postmortem.
StatusPageStatus:
type: object
title: StatusPageStatus
description: A Status represents a level of undergoing work and/or assessment for a given Status Page post.
properties:
id:
type: string
description: An unique identifier within Status Page scope that defines a Status entry.
nullable: false
readOnly: true
self:
type: string
description: The API resource URL of the Status.
nullable: false
readOnly: true
description:
type: string
description: The description is a human-readable text that describes the Status level.
nullable: false
post_type:
type: string
description: The type of the Post.
nullable: false
enum:
- incident
- maintenance
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Status.
StatusPagePostmortemRequest:
type: object
title: PostmortemRequest
description: Request to create/update a given Postmortem resource.
properties:
type:
type: string
description: The type of the object returned by the API - in this case, a Status Page Post Postmortem.
nullable: false
readOnly: true
enum:
- status_page_post_postmortem
default: status_page_post_postmortem
post:
description: Status Page Post
nullable: false
properties:
id:
description: Status page post unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
message:
type: string
description: The message of the Postmortem (supports Rich-Text).
nullable: false
maxLength: 10000
notify_subscribers:
type: boolean
description: Whether or not subscribers of the Status Page should be notified about the Postmortem.
nullable: false
required:
- type
- message
- post
- notify_subscribers
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
StatusPageService:
type: object
title: StatusPageService
description: A Service represents a PagerDuty service that is linked to a Status Page.
properties:
id:
description: An unique identifier within Status Page scope that defines a Service entry.
type: string
nullable: false
readOnly: true
self:
type: string
description: The API resource URL of the Service.
nullable: false
readOnly: true
name:
type: string
description: The name of the Service.
nullable: false
status_page:
description: Status Page
nullable: false
properties:
id:
description: Status page unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type: object
business_service:
description: Business Service
nullable: false
properties:
id:
description: Business Service unique identifier
type: string
type:
description: A string that determines the schema of the object.
type: string
required:
- id
type:
type: string
description: A string that determines the schema of the object.
responses:
NotFound:
description: The requested resource was not found.
content:
application/json:
schema:
$ref: '#/components/responses/Conflict/content/application~1json/schema'
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'
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
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'
securitySchemes:
api_key:
type: apiKey
name: Authorization
in: header
description: The API Key with format `Token token=