PagerDuty Tags API
The Tags API from PagerDuty — 4 operation(s) for tags.
The Tags API from PagerDuty — 4 operation(s) for tags.
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-tags-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 Tags API
version: 2.0.0
servers:
- url: https://api.pagerduty.com
description: PagerDuty V2 API.
security:
- api_key: []
tags:
- name: Tags
paths:
/{entity_type}/{id}/tags:
get:
x-pd-requires-scope: tags.read
tags:
- Tags
operationId: getEntityTypeByIdTags
description: 'Get related tags for Users, Teams or Escalation Policies.
A Tag is applied to Escalation Policies, Teams or Users and can be used to filter them.
For more information see the API Concepts Document
Scoped OAuth requires: `tags.read`'
summary: PagerDuty Get tags for entities
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/offset_limit'
- $ref: '#/components/parameters/offset_offset'
- $ref: '#/components/parameters/offset_total'
- $ref: '#/components/parameters/entity_type'
- $ref: '#/components/parameters/id'
responses:
'200':
description: An array of tags.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
required:
- tags
examples:
response:
summary: Response Example
value:
tags:
- type: tag
summary: Batman
self: https://api.pagerduty.com/tags/P5IYCNZ
label: Batman
id: P5IYCNZ
html_url: null
limit: 100
offset: 0
total: 1
more: false
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/tags:
get:
x-pd-requires-scope: tags.read
tags:
- Tags
operationId: listTags
description: 'List all of your account''s tags.
A Tag is applied to Escalation Policies, Teams or Users and can be used to filter them.
For more information see the API Concepts Document
Scoped OAuth requires: `tags.read`'
summary: PagerDuty List tags
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/offset_limit'
- $ref: '#/components/parameters/offset_offset'
- $ref: '#/components/parameters/offset_total'
- $ref: '#/components/parameters/tag_query'
responses:
'200':
description: An array of tags names.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
tags:
type: array
items:
$ref: '#/components/schemas/Tag'
required:
- tags
examples:
response:
summary: Response Example
value:
tags:
- type: tag
summary: Batman
self: https://api.pagerduty.com/tags/P5IYCNZ
label: Batman
id: P5IYCNZ
html_url: null
limit: 100
offset: 0
total: 1
more: false
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
post:
x-pd-requires-scope: tags.write
tags:
- Tags
operationId: createTags
description: 'Create a Tag.
A Tag is applied to Escalation Policies, Teams or Users and can be used to filter them.
For more information see the API Concepts Document
Scoped OAuth requires: `tags.write`'
summary: PagerDuty Create a tag
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
requestBody:
content:
application/json:
schema:
type: object
properties:
tag:
$ref: '#/components/schemas/Tag'
required:
- tag
examples:
request:
summary: Request Example
value:
tag:
type: tag
label: Batman
responses:
'201':
description: The tag that was created.
content:
application/json:
schema:
type: object
properties:
tag:
$ref: '#/components/schemas/Tag'
required:
- tag
examples:
response:
summary: Response Example
value:
tag:
type: tag
summary: Batman
self: https://api.pagerduty.com/tags/P5IYCNZ
label: Batman
id: P5IYCNZ
html_url: null
'400':
$ref: '#/components/responses/ArgumentError'
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/tags/{id}:
get:
x-pd-requires-scope: tags.read
tags:
- Tags
operationId: getTag
description: 'Get details about an existing Tag.
A Tag is applied to Escalation Policies, Teams or Users and can be used to filter them.
For more information see the API Concepts Document
Scoped OAuth requires: `tags.read`'
summary: PagerDuty Get a tag
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/id'
responses:
'200':
description: The tag requested.
content:
application/json:
schema:
type: object
properties:
tag:
$ref: '#/components/schemas/Tag'
required:
- tag
examples:
response:
summary: Response Example
value:
tag:
type: tag
summary: Batman
self: https://api.pagerduty.com/tags/P5IYCNZ
label: Batman
id: P5IYCNZ
html_url: null
'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: tags.write
tags:
- Tags
operationId: deleteTag
description: 'Remove an existing Tag.
A Tag is applied to Escalation Policies, Teams or Users and can be used to filter them.
For more information see the API Concepts Document
Scoped OAuth requires: `tags.write`'
summary: PagerDuty Delete a tag
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/id'
responses:
'204':
description: The tag was deleted successfully.
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
/tags/{id}/{entity_type}:
get:
x-pd-requires-scope: tags.read
tags:
- Tags
operationId: getTagsByEntityType
description: 'Get related Users, Teams or Escalation Policies for the Tag.
A Tag is applied to Escalation Policies, Teams or Users and can be used to filter them.
For more information see the API Concepts Document
Scoped OAuth requires: `tags.read`'
summary: PagerDuty Get connected entities
parameters:
- $ref: '#/components/parameters/header_Accept'
- $ref: '#/components/parameters/header_Content-Type'
- $ref: '#/components/parameters/offset_limit'
- $ref: '#/components/parameters/offset_offset'
- $ref: '#/components/parameters/offset_total'
- $ref: '#/components/parameters/id'
- $ref: '#/components/parameters/entity_type'
responses:
'200':
description: An array of connected entities.
content:
application/json:
schema:
allOf:
- $ref: '#/components/schemas/Pagination'
- type: object
properties:
users:
type: array
items:
$ref: '#/components/schemas/EntityReference'
teams:
type: array
items:
$ref: '#/components/schemas/EntityReference'
escalation_policies:
type: array
items:
$ref: '#/components/schemas/EntityReference'
examples:
response:
summary: Response Example
value:
users:
- id: PXPGF42
type: user_reference
- id: PAM4FGS
type: user_reference
limit: 100
offset: 0
total: 2
more: false
'401':
$ref: '#/components/responses/Unauthorized'
'403':
$ref: '#/components/responses/Forbidden'
'429':
$ref: '#/components/responses/TooManyRequests'
components:
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
tag_query:
name: query
in: query
description: Filters the result, showing only the tags whose label matches the query.
required: false
schema:
type: string
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
id:
name: id
description: The ID of the resource.
in: path
required: true
schema:
type: string
offset_offset:
name: offset
in: query
required: false
description: Offset to start pagination search results.
schema:
type: integer
entity_type:
name: entity_type
in: path
description: Type of entity related with the tag
required: true
schema:
type: string
enum:
- users
- teams
- escalation_policies
header_Content-Type:
name: Content-Type
in: header
required: true
schema:
type: string
default: application/json
enum:
- application/json
schemas:
Tag:
allOf:
- type: object
properties:
id:
type: string
readOnly: true
summary:
type:
- string
- 'null'
readOnly: true
description: A short-form, server-generated string that provides succinct, important information about an object suitable for primary labeling of an entity in a client. In many cases, this will be identical to `name`, though it is not intended to be an identifier.
type:
type: string
readOnly: true
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.
self:
type:
- string
- 'null'
readOnly: true
format: url
description: the API show URL at which the object is accessible
html_url:
type:
- string
- 'null'
readOnly: true
format: url
description: a URL at which the entity is uniquely displayed in the Web app
- type: object
properties:
type:
type: string
description: The type of object being created.
default: tag
enum:
- tag
label:
type: string
description: The label of the tag.
maxLength: 191
required:
- label
- type
example:
type: tag
label: Batman
EntityReference:
allOf:
- $ref: '#/components/schemas/Reference'
- type: object
properties:
type:
type: string
enum:
- user_reference
- team_reference
- escalation_policy_reference
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
Reference:
allOf:
- $ref: '#/components/schemas/Tag/allOf/0'
- type: object
required:
- type
- id
responses:
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'
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'
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
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'
securitySchemes:
api_key:
type: apiKey
name: Authorization
in: header
description: The API Key with format `Token token=<API_KEY>`