PagerDuty Users API

Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.

OpenAPI Specification

pagerduty-users-api-openapi.yml Raw ↑
openapi: 3.0.2
info:
  description: 'This document describes the PagerDuty REST APIs.


    For guides and examples please visit our [Documentation.](https://developer.pagerduty.com/docs/get-started/getting-started/)


    Our REST APIs are defined in OpenAPI v3.x. You can view the schema at [github.com/PagerDuty/api-schema](https://github.com/PagerDuty/api-schema).


    Note that properties in some schemas have fields not shown by default such as `readOnly`, `format`, and `default`. Hover your cursor over the right column that looks like `optional+1` to see the full list of fields.

    '
  contact:
    name: PagerDuty Support
    url: http://www.pagerduty.com/support
    email: support@pagerduty.com
  title: PagerDuty Abilities Users API
  version: 2.0.0
servers:
- url: https://api.pagerduty.com
  description: PagerDuty V2 API.
security:
- api_key: []
tags:
- name: Users
  description: 'Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.

    '
paths:
  /users:
    description: List and create users.
    get:
      x-pd-requires-scope: users.read
      tags:
      - Users
      operationId: listUsers
      description: 'List users of your PagerDuty account, optionally filtered by a search query.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users.read`

        '
      summary: PagerDuty List users
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/query'
      - $ref: '#/components/parameters/team_ids'
      - $ref: '#/components/parameters/offset_limit'
      - $ref: '#/components/parameters/offset_offset'
      - $ref: '#/components/parameters/offset_total'
      - $ref: '#/components/parameters/include_user'
      responses:
        '200':
          description: A paginated array of users.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/Pagination'
                - type: object
                  properties:
                    users:
                      type: array
                      items:
                        $ref: '#/components/schemas/User'
                  required:
                  - users
              examples:
                response:
                  summary: Response Example
                  value:
                    users:
                    - id: PXPGF42
                      type: user
                      summary: Earline Greenholt
                      self: https://api.pagerduty.com/users/PXPGF42
                      html_url: https://subdomain.pagerduty.com/users/PXPGF42
                      name: Earline Greenholt
                      email: 125.greenholt.earline@graham.name
                      time_zone: America/Lima
                      color: green
                      role: admin
                      avatar_url: https://secure.gravatar.com/avatar/a8b714a39626f2444ee05990b078995f.png?d=mm&r=PG
                      description: I'm the boss
                      invitation_sent: false
                      contact_methods:
                      - id: PTDVERC
                        type: email_contact_method_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/contact_methods/PTDVERC
                      notification_rules:
                      - id: P8GRWKK
                        type: assignment_notification_rule_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/notification_rules/P8GRWKK
                        html_url: null
                      job_title: Director of Engineering
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
                    - id: PAM4FGS
                      type: user
                      summary: Kyler Kuhn
                      self: https://api.pagerduty.com/users/PAM4FGS
                      html_url: https://subdomain.pagerduty.com/users/PAM4FGS
                      name: Kyler Kuhn
                      email: 126_dvm_kyler_kuhn@beahan.name
                      time_zone: Asia/Hong_Kong
                      color: red
                      role: admin
                      avatar_url: https://secure.gravatar.com/avatar/47857d059adacf9a41dc4030c2e14b0a.png?d=mm&r=PG
                      description: Actually, I am the boss
                      invitation_sent: false
                      contact_methods:
                      - id: PVMGSML
                        type: email_contact_method_reference
                        summary: Work
                        self: https://api.pagerduty.com/users/PAM4FGS/contact_methods/PVMGSMLL
                      notification_rules:
                      - id: P8GRWKK
                        type: assignment_notification_rule_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/notification_rules/P8GRWKK
                        html_url: null
                      job_title: Senior Engineer
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
                    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'
    post:
      x-pd-requires-scope: users.write
      tags:
      - Users
      operationId: createUser
      description: 'Create a new user.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users.write`

        '
      summary: PagerDuty Create a user
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/from_header'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  allOf:
                  - $ref: '#/components/schemas/User'
                  - properties:
                      license:
                        allOf:
                        - description: The License assigned to the User
                        - $ref: '#/components/schemas/LicenseReference'
              required:
              - user
            examples:
              request:
                summary: Request Example
                value:
                  user:
                    type: user
                    name: Earline Greenholt
                    email: 125.greenholt.earline@graham.name
                    time_zone: America/Lima
                    color: green
                    role: admin
                    job_title: Director of Engineering
                    avatar_url: https://secure.gravatar.com/avatar/1d1a39d4635208d5664082a6c654a73f.png?d=mm&r=PG
                    description: I'm the boss
                    license:
                      id: PTDVERC
                      type: license_reference
        description: The user to be created.
      responses:
        '201':
          description: The user that was created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  user:
                    $ref: '#/components/schemas/User'
                required:
                - user
              examples:
                response:
                  summary: Response Example
                  value:
                    user:
                      id: PXPGF42
                      type: user
                      summary: Earline Greenholt
                      self: https://api.pagerduty.com/users/PXPGF42
                      html_url: https://subdomain.pagerduty.com/users/PXPGF42
                      name: Earline Greenholt
                      email: 125.greenholt.earline@graham.name
                      time_zone: America/Lima
                      color: green
                      role: admin
                      avatar_url: https://secure.gravatar.com/avatar/a8b714a39626f2444ee05990b078995f.png?d=mm&r=PG
                      description: I'm the boss
                      invitation_sent: false
                      contact_methods:
                      - id: PTDVERC
                        type: email_contact_method_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/contact_methods/PTDVERC
                      notification_rules:
                      - id: P8GRWKK
                        type: assignment_notification_rule_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/notification_rules/P8GRWKK
                        html_url: null
                      job_title: Director of Engineering
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /users/{id}:
    description: Manage a user.
    get:
      x-pd-requires-scope: users.read
      tags:
      - Users
      operationId: getUser
      description: 'Get details about an existing user.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users.read`

        '
      summary: PagerDuty Get a user
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/include_user'
      responses:
        '200':
          description: The user requested.
          content:
            application/json:
              schema:
                type: object
                properties:
                  user:
                    $ref: '#/components/schemas/User'
                required:
                - user
              examples:
                response:
                  summary: Response Example
                  value:
                    user:
                      id: PXPGF42
                      type: user
                      summary: Earline Greenholt
                      self: https://api.pagerduty.com/users/PXPGF42
                      html_url: https://subdomain.pagerduty.com/users/PXPGF42
                      name: Earline Greenholt
                      email: 125.greenholt.earline@graham.name
                      time_zone: America/Lima
                      color: green
                      role: admin
                      avatar_url: https://secure.gravatar.com/avatar/a8b714a39626f2444ee05990b078995f.png?d=mm&r=PG
                      description: I'm the boss
                      invitation_sent: false
                      contact_methods:
                      - id: PTDVERC
                        type: email_contact_method_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/contact_methods/PTDVERC
                      notification_rules:
                      - id: P8GRWKK
                        type: assignment_notification_rule_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/notification_rules/P8GRWKK
                        html_url: null
                      job_title: Director of Engineering
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
        '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: users.write
      tags:
      - Users
      operationId: deleteUser
      description: 'Remove an existing user.


        Returns 400 if the user has assigned incidents unless your [pricing plan](https://www.pagerduty.com/pricing) has the `offboarding` feature and the account is [configured](https://support.pagerduty.com/docs/offboarding#section-additional-configurations) appropriately.


        Note that the incidents reassignment process is asynchronous and has no guarantee to complete before the api call return.


        [*Learn more about `offboarding` feature*](https://support.pagerduty.com/docs/offboarding).


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users.write`

        '
      summary: PagerDuty Delete a user
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      responses:
        '204':
          description: The user was deleted successfully.
        '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: users.write
      tags:
      - Users
      operationId: updateUser
      description: 'Update an existing user.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users.write`

        '
      summary: PagerDuty Update a user
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                user:
                  allOf:
                  - $ref: '#/components/schemas/User'
                  - properties:
                      license:
                        allOf:
                        - description: The License assigned to the User
                        - $ref: '#/components/schemas/LicenseReference'
              required:
              - user
            examples:
              request:
                summary: Request Example
                value:
                  user:
                    type: user
                    name: Earline Greenholt
                    email: 125.greenholt.earline@graham.name
                    time_zone: America/Lima
                    color: green
                    role: admin
                    job_title: Director of Engineering
                    avatar_url: https://secure.gravatar.com/avatar/1d1a39d4635208d5664082a6c654a73f.png?d=mm&r=PG
                    description: I'm the boss
                    license:
                      id: PTDVERC
                      type: license_reference
        description: The user to be updated.
      responses:
        '200':
          description: The user that was updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  user:
                    $ref: '#/components/schemas/User'
                required:
                - user
              examples:
                response:
                  summary: Response Example
                  value:
                    user:
                      id: PXPGF42
                      type: user
                      summary: Earline Greenholt
                      self: https://api.pagerduty.com/users/PXPGF42
                      html_url: https://subdomain.pagerduty.com/users/PXPGF42
                      name: Earline Greenholt
                      email: 125.greenholt.earline@graham.name
                      time_zone: America/Lima
                      color: green
                      role: admin
                      avatar_url: https://secure.gravatar.com/avatar/a8b714a39626f2444ee05990b078995f.png?d=mm&r=PG
                      description: I'm the boss
                      invitation_sent: false
                      contact_methods:
                      - id: PTDVERC
                        type: email_contact_method_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/contact_methods/PTDVERC
                      notification_rules:
                      - id: P8GRWKK
                        type: assignment_notification_rule_reference
                        summary: Default
                        self: https://api.pagerduty.com/users/PXPGF42/notification_rules/P8GRWKK
                        html_url: null
                      job_title: Director of Engineering
                      teams:
                      - id: PQ9K7I8
                        type: team_reference
                        summary: Engineering
                        self: https://api.pagerduty.com/teams/PQ9K7I8
                        html_url: https://subdomain.pagerduty.com/teams/PQ9K7I8
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /users/{id}/audit/records:
    description: List audit records of changes made to the user.
    get:
      x-pd-requires-scope: audit_records.read
      tags:
      - Users
      operationId: listUsersAuditRecords
      summary: PagerDuty List audit records for a user
      description: 'The response will include audit records with changes that are made to the identified user not changes made by the identified user.



        The returned records are sorted by the `execution_time` from newest to oldest.


        See [`Cursor-based pagination`](https://developer.pagerduty.com/docs/rest-api-v2/pagination/) for instructions on how to paginate through the result set.


        For more information see the [Audit API Document](https://developer.pagerduty.com/docs/rest-api-v2/audit-records-api/).


        Scoped OAuth requires: `audit_records.read`

        '
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/cursor_limit'
      - $ref: '#/components/parameters/cursor_cursor'
      - $ref: '#/components/parameters/audit_since'
      - $ref: '#/components/parameters/audit_until'
      responses:
        '200':
          description: Records matching the query criteria.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AuditRecordResponseSchema'
              examples:
                response:
                  $ref: '#/components/examples/AuditRecordUserResponse'
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
  /users/{id}/contact_methods:
    description: List a user's contact methods.
    get:
      x-pd-requires-scope: users:contact_methods.read
      tags:
      - Users
      operationId: getUserContactMethods
      description: 'List contact methods of your PagerDuty user.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users:contact_methods.read`

        '
      summary: PagerDuty List a user's contact methods
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      responses:
        '200':
          description: A list of contact methods.
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact_methods:
                    type: array
                    items:
                      oneOf:
                      - $ref: '#/components/schemas/PhoneContactMethod'
                      - $ref: '#/components/schemas/PushContactMethod'
                      - $ref: '#/components/schemas/EmailContactMethod'
              examples:
                response:
                  summary: Response Example
                  value:
                    contact_methods:
                    - id: PXPGF42
                      type: email_contact_method
                      summary: Work
                      self: https://api.pagerduty.com/users/PXPGF42/contact_method/PXPGF42
                      label: Work
                      address: grady.haylie.126@hickle.net
                      send_short_email: false
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
    post:
      x-pd-requires-scope: users:contact_methods.write
      tags:
      - Users
      operationId: createUserContactMethod
      description: 'Create a new contact method for the User.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users:contact_methods.write`

        '
      summary: PagerDuty Create a user contact method
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                contact_method:
                  oneOf:
                  - $ref: '#/components/schemas/PhoneContactMethod'
                  - $ref: '#/components/schemas/PushContactMethod'
                  - $ref: '#/components/schemas/EmailContactMethod'
              required:
              - contact_method
            examples:
              request:
                summary: Request Example
                value:
                  contact_method:
                    id: PXPGF42
                    type: email_contact_method
                    summary: Work
                    self: https://api.pagerduty.com/users/PXPGF42/contact_method/PXPGF42
                    label: Work
                    address: grady.haylie.126@hickle.net
                    send_short_email: false
        description: The contact method to be created.
      responses:
        '201':
          description: The contact method that was created.
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact_method:
                    oneOf:
                    - $ref: '#/components/schemas/PhoneContactMethod'
                    - $ref: '#/components/schemas/PushContactMethod'
                    - $ref: '#/components/schemas/EmailContactMethod'
              examples:
                response:
                  summary: Response Example
                  value:
                    contact_method:
                      id: PXPGF42
                      type: email_contact_method
                      summary: Work
                      self: https://api.pagerduty.com/users/PXPGF42/contact_method/PXPGF42
                      label: Work
                      address: grady.haylie.126@hickle.net
                      send_short_email: false
        '400':
          $ref: '#/components/responses/ArgumentError'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '429':
          $ref: '#/components/responses/TooManyRequests'
  /users/{id}/contact_methods/{contact_method_id}:
    description: Manage a user's contact method.
    get:
      x-pd-requires-scope: users:contact_methods.read
      tags:
      - Users
      operationId: getUserContactMethod
      description: 'Get details about a User''s contact method.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users:contact_methods.read`

        '
      summary: PagerDuty Get a user's contact method
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/user_contact_method_id'
      responses:
        '200':
          description: The user's contact method requested.
          content:
            application/json:
              schema:
                type: object
                properties:
                  contact_method:
                    oneOf:
                    - $ref: '#/components/schemas/PhoneContactMethod'
                    - $ref: '#/components/schemas/PushContactMethod'
                    - $ref: '#/components/schemas/EmailContactMethod'
              examples:
                response:
                  summary: Response Example
                  value:
                    contact_method:
                      id: PXPGF42
                      type: email_contact_method
                      summary: Work
                      self: https://api.pagerduty.com/users/PXPGF42/contact_method/PXPGF42
                      label: Work
                      address: grady.haylie.126@hickle.net
                      send_short_email: false
        '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: users:contact_methods.write
      tags:
      - Users
      operationId: deleteUserContactMethod
      description: 'Remove a user''s contact method.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users:contact_methods.write`

        '
      summary: PagerDuty Delete a user's contact method
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/user_contact_method_id'
      responses:
        '204':
          description: The contact method was deleted successfully.
        '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: users:contact_methods.write
      tags:
      - Users
      operationId: updateUserContactMethod
      description: 'Update a User''s contact method.


        Users are members of a PagerDuty account that have the ability to interact with Incidents and other data on the account.


        For more information see the [API Concepts Document](../../api-reference/ZG9jOjI3NDc5Nzc-api-concepts#users)


        Scoped OAuth requires: `users:contact_methods.write`

        '
      summary: PagerDuty Update a user's contact method
      parameters:
      - $ref: '#/components/parameters/header_Accept'
      - $ref: '#/components/parameters/header_Content-Type'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/user_contact_method_id'
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                contact_method:
                  oneOf:
                  - $ref: '#/components/schemas/PhoneContactMethod'
                  - $ref: '#/components/schemas/PushContactMethod'
                  - $ref: '#/components/schemas/EmailContactMethod'
              required:
              - contact_method
            examples:
              request:
                summary: Request Example
                value:
                  contact_method:
                    id: PXPGF42
                    type: email_contact_method
                    summary: Work
                    self: https://api.pagerduty.com/users/PXPGF42/contact_method/PXPGF42
                    label: Work
                    address: grady.haylie.126@hickle.net
                    send_short_email: false
        description: The user's contact method to be updated.
      responses:
        '200':
          description: The user's contact method that was updated.
          content:
            application/json:
              schema:
        

# --- truncated at 32 KB (132 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/pagerduty/refs/heads/main/openapi/pagerduty-users-api-openapi.yml