PagerDuty Service Dependencies API
Services are categorized into technical and business services. Dependencies can be created via any combination of these services.
Services are categorized into technical and business services. Dependencies can be created via any combination of these services.
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-service-dependencies-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 Service Dependencies API
version: 2.0.0
servers:
- url: https://api.pagerduty.com
description: PagerDuty V2 API.
security:
- api_key: []
tags:
- name: Service Dependencies
description: Services are categorized into technical and business services. Dependencies can be created via any combination of these services.
paths:
/service_dependencies/associate:
description: Associate dependencies of services.
post:
x-pd-requires-scope: services.write
tags:
- Service Dependencies
operationId: createServiceDependency
summary: PagerDuty Associate service dependencies
description: 'Create new dependencies between two services.
Business services model capabilities that span multiple technical services and that may be owned by several different teams.
A service can have a maximum of 2,000 dependencies with a depth limit of 100. If the limit is reached, the API will respond with an error.
For more information see the API Concepts Document
Scoped OAuth requires: `services.write`'
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
requestBody:
content:
application/json:
schema:
type: object
properties:
relationships:
type: array
description: List of all service dependencies to be created.
items:
type: object
properties:
supporting_service:
type: object
description: The reference to the service that supports the dependent service.
properties:
id:
type: string
type:
type: string
dependent_service:
type: object
description: The reference to the service that is dependent on the supporting service.
properties:
id:
type: string
type:
type: string
examples:
request:
summary: Request Example
value:
relationships:
- supporting_service:
id: P7AD56
type: service
dependent_service:
id: P99DJ6
type: business_service
- supporting_service:
id: DT93K1
type: business_service
dependent_service:
id: RS34D9
type: service
responses:
'200':
description: An array of service relationships that were successfully associated.
content:
application/json:
schema:
type: object
properties:
relationships:
type: array
description: List of all the technical service's dependencies
items:
type: object
properties:
supporting_service:
type: object
description: The reference to the service that supports the technical service.
properties:
id:
type: string
type:
type: string
dependent_service:
type: object
description: The reference to the service that is dependent on the technical service.
properties:
id:
type: string
type:
type: string
id:
type: string
type:
type: string
examples:
relationships:
summary: Response Example
value:
relationships:
- supporting_service:
id: P7AD56
type: technical_service_reference
dependent_service:
id: P99DJ6
type: business_service_reference
id: DQVP7E6G0E8AC3NR
type: service_dependency
- supporting_service:
id: DT93K1
type: business_service_reference
dependent_service:
id: RS34D9
type: technical_service_reference
id: D3PG0QVACE87RNE6
type: service_dependency
'400':
$ref: '#/components/responses/ArgumentError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/service_dependencies/business_services/{id}:
description: Get the dependencies of a given Business Service.
get:
x-pd-requires-scope: services.read
tags:
- Service Dependencies
operationId: getBusinessServiceServiceDependencies
summary: PagerDuty Get Business Service dependencies
description: 'Get all immediate dependencies of any Business Service.
Business Services model capabilities that span multiple technical services and that may be owned by several different teams.
For more information see the API Concepts Document
Scoped OAuth requires: `services.read`'
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/id'
responses:
'200':
description: An array of service relationships.
content:
application/json:
schema:
type: object
properties:
relationships:
type: array
description: List of all the Business Service's dependencies.
items:
type: object
properties:
supporting_service:
type: object
description: The reference to the service that supports the Business Service.
properties:
id:
type: string
type:
type: string
dependent_service:
type: object
description: The reference to the service that is dependent on the Business Service.
properties:
id:
type: string
type:
type: string
id:
type: string
type:
type: string
examples:
relationships:
summary: Response Example
value:
relationships:
- supporting_service:
id: P7AD56
type: technical_service_reference
dependent_service:
id: P99DJ6
type: business_service_reference
id: DQVP7E6G0E8AC3NR
type: service_dependency
- supporting_service:
id: P99DJ6
type: business_service_reference
dependent_service:
id: RS34D9
type: business_service_reference
id: D3PG0QVACE87RNE6
type: service_dependency
'400':
$ref: '#/components/responses/ArgumentError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/service_dependencies/disassociate:
description: Disassociate dependencies of services.
post:
x-pd-requires-scope: services.write
tags:
- Service Dependencies
operationId: deleteServiceDependency
summary: PagerDuty Disassociate service dependencies
description: 'Disassociate dependencies between two services.
Business services model capabilities that span multiple technical services and that may be owned by several different teams.
For more information see the API Concepts Document
Scoped OAuth requires: `services.write`'
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
requestBody:
content:
application/json:
schema:
type: object
properties:
relationships:
type: array
description: List of all service dependencies to be deleted.
items:
type: object
properties:
supporting_service:
type: object
description: The reference to the service that supports the dependent service.
properties:
id:
type: string
type:
type: string
dependent_service:
type: object
description: The reference to the service that is dependent on the supporting service.
properties:
id:
type: string
type:
type: string
examples:
request:
summary: Request Example
value:
relationships:
- supporting_service:
id: P7AD56
type: service
dependent_service:
id: P99DJ6
type: business_service
- supporting_service:
id: DT93K1
type: business_service
dependent_service:
id: RS34D9
type: service
responses:
'200':
description: An array of service relationships that were successfully disassociated.
content:
application/json:
schema:
type: object
properties:
relationships:
type: array
description: List of all the technical service's dependencies
items:
type: object
properties:
supporting_service:
type: object
description: The reference to the service that supports the technical service.
properties:
id:
type: string
type:
type: string
dependent_service:
type: object
description: The reference to the service that is dependent on the technical service.
properties:
id:
type: string
type:
type: string
id:
type: string
type:
type: string
examples:
relationships:
summary: Example Response
value:
relationships:
- supporting_service:
id: P7AD56
type: technical_service_reference
dependent_service:
id: P99DJ6
type: business_service_reference
id: DQVP7E6G0E8AC3NR
type: service_dependency
- supporting_service:
id: DT93K1
type: business_service_reference
dependent_service:
id: RS34D9
type: technical_service_reference
id: D3PG0QVACE87RNE6
type: service_dependency
'400':
$ref: '#/components/responses/ArgumentError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
/service_dependencies/technical_services/{id}:
description: Get the dependencies of a given technical service.
get:
x-pd-requires-scope: services.read
tags:
- Service Dependencies
operationId: getTechnicalServiceServiceDependencies
summary: PagerDuty Get technical service dependencies
description: 'Get all immediate dependencies of any technical service.
Technical services are also known as `services`.
For more information see the API Concepts Document
Scoped OAuth requires: `services.read`'
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/id'
responses:
'200':
description: An array of service relationships.
content:
application/json:
schema:
type: object
properties:
relationships:
type: array
description: List of all the technical service's dependencies
items:
type: object
properties:
supporting_service:
type: object
description: The reference to the service that supports the technical service.
properties:
id:
type: string
type:
type: string
dependent_service:
type: object
description: The reference to the service that is dependent on the technical service.
properties:
id:
type: string
type:
type: string
id:
type: string
type:
type: string
examples:
relationships:
summary: Response Example
value:
relationships:
- supporting_service:
id: P7AD56
type: technical_service_reference
dependent_service:
id: P99DJ6
type: business_service_reference
id: DQVP7E6G0E8AC3NR
type: service_dependency
- supporting_service:
id: R87DK4
type: technical_service_reference
dependent_service:
id: P7AD56
type: technical_service_reference
id: D3PG0QVACE87RNE6
type: service_dependency
'400':
$ref: '#/components/responses/ArgumentError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'404':
$ref: '#/components/responses/NotFound'
components:
responses:
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'
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
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'
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'
parameters:
header_Content-Type:
name: Content-Type
in: header
required: true
schema:
type: string
default: application/json
enum:
- application/json
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
securitySchemes:
api_key:
type: apiKey
name: Authorization
in: header
description: The API Key with format `Token token=<API_KEY>`