Datadog · Capability

Datadog API — Users

Datadog API — Users. 28 operations. Lead operation: Datadog Get All Application Keys Owned by Current User. Self-contained Naftiko capability covering one Datadog business surface.

Run with Naftiko DatadogUsers

What You Can Do

GET
Listcurrentuserapplicationkeys — Datadog Get All Application Keys Owned by Current User
/v1/api/v2/current-user/application-keys
POST
Createcurrentuserapplicationkey — Datadog Create an Application Key for Current User
/v1/api/v2/current-user/application-keys
DELETE
Deletecurrentuserapplicationkey — Datadog Delete an Application Key Owned by Current User
/v1/api/v2/current-user/application-keys/{app-key-id}
GET
Getcurrentuserapplicationkey — Datadog Get One Application Key Owned by Current User
/v1/api/v2/current-user/application-keys/{app-key-id}
PATCH
Updatecurrentuserapplicationkey — Datadog Edit an Application Key Owned by Current User
/v1/api/v2/current-user/application-keys/{app-key-id}
GET
Listuserrestrictionqueries — Datadog Get All Restriction Queries for a Given User
/v1/api/v2/logs/config/restriction-queries/user/{user-id}
GET
Getscheduleoncalluser — Datadog Get the Schedule On-call User
/v1/api/v2/on-call/schedules/{schedule-id}/on-call
GET
Getteamoncallusers — Datadog Get Team On-call Users
/v1/api/v2/on-call/teams/{team-id}/on-call
DELETE
Removeuserfromrole — Datadog Remove a User from a Role
/v1/api/v2/roles/{role-id}/users
GET
Listroleusers — Datadog Get All Users of a Role
/v1/api/v2/roles/{role-id}/users
POST
Addusertorole — Datadog Add a User to a Role
/v1/api/v2/roles/{role-id}/users
GET
Listscimusers — Datadog List Users
/v1/api/v2/scim/users
POST
Createscimuser — Datadog Create User
/v1/api/v2/scim/users
DELETE
Deletescimuser — Datadog Delete User
/v1/api/v2/scim/users/{user-uuid}
GET
Getscimuser — Datadog Get User
/v1/api/v2/scim/users/{user-uuid}
PATCH
Patchscimuser — Datadog Patch User
/v1/api/v2/scim/users/{user-uuid}
PUT
Updatescimuser — Datadog Update User
/v1/api/v2/scim/users/{user-uuid}
POST
Createteammembership — Datadog Add a User to a Team
/v1/api/v2/team/{team-id}/memberships
DELETE
Deleteteammembership — Datadog Remove a User from a Team
/v1/api/v2/team/{team-id}/memberships/{user-id}
GET
Getinvitation — Datadog Get a User Invitation
/v1/api/v2/user-invitations/{user-invitation-uuid}
GET
Listusers — Datadog List All Users
/v1/api/v2/users
POST
Createuser — Datadog Create a User
/v1/api/v2/users
DELETE
Disableuser — Datadog Disable a User
/v1/api/v2/users/{user-id}
GET
Getuser — Datadog Get User Details
/v1/api/v2/users/{user-id}
PATCH
Updateuser — Datadog Update a User
/v1/api/v2/users/{user-id}
GET
Listuserorganizations — Datadog Get a User Organization
/v1/api/v2/users/{user-id}/orgs
GET
Listuserpermissions — Datadog Get a User Permissions
/v1/api/v2/users/{user-id}/permissions
GET
Getusermemberships — Datadog Get User Memberships
/v1/api/v2/users/{user-uuid}/memberships

MCP Tools

datadog-get-all-application-keys

Datadog Get All Application Keys Owned by Current User

read-only idempotent
datadog-create-application-key-current

Datadog Create an Application Key for Current User

datadog-delete-application-key-owned

Datadog Delete an Application Key Owned by Current User

idempotent
datadog-get-one-application-key

Datadog Get One Application Key Owned by Current User

read-only idempotent
datadog-edit-application-key-owned

Datadog Edit an Application Key Owned by Current User

idempotent
datadog-get-all-restriction-queries

Datadog Get All Restriction Queries for a Given User

read-only idempotent
datadog-get-schedule-call-user

Datadog Get the Schedule On-call User

read-only idempotent
datadog-get-team-call-users

Datadog Get Team On-call Users

read-only idempotent
datadog-remove-user-role

Datadog Remove a User from a Role

idempotent
datadog-get-all-users-role

Datadog Get All Users of a Role

read-only idempotent
datadog-add-user-role

Datadog Add a User to a Role

datadog-list-users

Datadog List Users

read-only idempotent
datadog-create-user

Datadog Create User

datadog-delete-user

Datadog Delete User

idempotent
datadog-get-user

Datadog Get User

read-only idempotent
datadog-patch-user

Datadog Patch User

idempotent
datadog-update-user

Datadog Update User

idempotent
datadog-add-user-team

Datadog Add a User to a Team

datadog-remove-user-team

Datadog Remove a User from a Team

idempotent
datadog-get-user-invitation

Datadog Get a User Invitation

read-only idempotent
datadog-list-all-users

Datadog List All Users

read-only idempotent
datadog-create-user-2

Datadog Create a User

datadog-disable-user

Datadog Disable a User

idempotent
datadog-get-user-details

Datadog Get User Details

read-only idempotent
datadog-update-user-2

Datadog Update a User

idempotent
datadog-get-user-organization

Datadog Get a User Organization

read-only idempotent
datadog-get-user-permissions

Datadog Get a User Permissions

read-only idempotent
datadog-get-user-memberships

Datadog Get User Memberships

read-only idempotent

Capability Spec

datadog-users.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Datadog API — Users
  description: 'Datadog API — Users. 28 operations. Lead operation: Datadog Get All Application Keys Owned by Current User.
    Self-contained Naftiko capability covering one Datadog business surface.'
  tags:
  - Datadog
  - Users
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    DATADOG_API_KEY: DATADOG_API_KEY
capability:
  consumes:
  - type: http
    namespace: datadog-users
    baseUri: https://{subdomain}.{site}
    description: Datadog API — Users business capability. Self-contained, no shared references.
    resources:
    - name: api-v2-current_user-application_keys
      path: /api/v2/current_user/application_keys
      operations:
      - name: listcurrentuserapplicationkeys
        method: GET
        description: Datadog Get All Application Keys Owned by Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: createcurrentuserapplicationkey
        method: POST
        description: Datadog Create an Application Key for Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-current_user-application_keys-app_key_id
      path: /api/v2/current_user/application_keys/{app_key_id}
      operations:
      - name: deletecurrentuserapplicationkey
        method: DELETE
        description: Datadog Delete an Application Key Owned by Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getcurrentuserapplicationkey
        method: GET
        description: Datadog Get One Application Key Owned by Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updatecurrentuserapplicationkey
        method: PATCH
        description: Datadog Edit an Application Key Owned by Current User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-logs-config-restriction_queries-user-user_id
      path: /api/v2/logs/config/restriction_queries/user/{user_id}
      operations:
      - name: listuserrestrictionqueries
        method: GET
        description: Datadog Get All Restriction Queries for a Given User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-on-call-schedules-schedule_id-on-call
      path: /api/v2/on-call/schedules/{schedule_id}/on-call
      operations:
      - name: getscheduleoncalluser
        method: GET
        description: Datadog Get the Schedule On-call User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include
          in: query
          type: string
          description: 'Specifies related resources to include in the response as a comma-separated list. Allowed value: `user`.'
        - name: schedule_id
          in: path
          type: string
          description: The ID of the schedule.
          required: true
        - name: filter[at_ts]
          in: query
          type: string
          description: Retrieves the on-call user at the given timestamp (ISO-8601). Defaults to the current time if omitted."
    - name: api-v2-on-call-teams-team_id-on-call
      path: /api/v2/on-call/teams/{team_id}/on-call
      operations:
      - name: getteamoncallusers
        method: GET
        description: Datadog Get Team On-call Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: include
          in: query
          type: string
          description: 'Comma-separated list of included relationships to be returned. Allowed values: `responders`, `escalations`,
            `escalations.responders`.'
        - name: team_id
          in: path
          type: string
          description: The team ID
          required: true
    - name: api-v2-roles-role_id-users
      path: /api/v2/roles/{role_id}/users
      operations:
      - name: removeuserfromrole
        method: DELETE
        description: Datadog Remove a User from a Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listroleusers
        method: GET
        description: Datadog Get All Users of a Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sort
          in: query
          type: string
          description: User attribute to order results by. Sort order is **ascending** by default.
        - name: filter
          in: query
          type: string
          description: Filter all users by the given string. Defaults to no filtering.
      - name: addusertorole
        method: POST
        description: Datadog Add a User to a Role
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-scim-Users
      path: /api/v2/scim/Users
      operations:
      - name: listscimusers
        method: GET
        description: Datadog List Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: startIndex
          in: query
          type: integer
          description: Specifies the start index to fetch the results (1-indexed).
        - name: count
          in: query
          type: integer
          description: Specifies the number of users to be returned.
        - name: filter
          in: query
          type: string
          description: Specifies the url encoded filter to use to narrow down the results.
      - name: createscimuser
        method: POST
        description: Datadog Create User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-scim-Users-user_uuid
      path: /api/v2/scim/Users/{user_uuid}
      operations:
      - name: deletescimuser
        method: DELETE
        description: Datadog Delete User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_uuid
          in: path
          type: string
          description: None
          required: true
      - name: getscimuser
        method: GET
        description: Datadog Get User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_uuid
          in: path
          type: string
          description: None
          required: true
      - name: patchscimuser
        method: PATCH
        description: Datadog Patch User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_uuid
          in: path
          type: string
          description: None
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: updatescimuser
        method: PUT
        description: Datadog Update User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_uuid
          in: path
          type: string
          description: None
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-team-team_id-memberships
      path: /api/v2/team/{team_id}/memberships
      operations:
      - name: createteammembership
        method: POST
        description: Datadog Add a User to a Team
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          description: None
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-team-team_id-memberships-user_id
      path: /api/v2/team/{team_id}/memberships/{user_id}
      operations:
      - name: deleteteammembership
        method: DELETE
        description: Datadog Remove a User from a Team
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: team_id
          in: path
          type: string
          description: None
          required: true
        - name: user_id
          in: path
          type: string
          description: None
          required: true
    - name: api-v2-user_invitations-user_invitation_uuid
      path: /api/v2/user_invitations/{user_invitation_uuid}
      operations:
      - name: getinvitation
        method: GET
        description: Datadog Get a User Invitation
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_invitation_uuid
          in: path
          type: string
          description: The UUID of the user invitation.
          required: true
    - name: api-v2-users
      path: /api/v2/users
      operations:
      - name: listusers
        method: GET
        description: Datadog List All Users
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: sort
          in: query
          type: string
          description: User attribute to order results by. Sort order is ascending by default.
        - name: sort_dir
          in: query
          type: string
          description: 'Direction of sort. Options: `asc`, `desc`.'
        - name: filter
          in: query
          type: string
          description: Filter all users by the given string. Defaults to no filtering.
        - name: filter[status]
          in: query
          type: string
          description: Filter on status attribute.
      - name: createuser
        method: POST
        description: Datadog Create a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-users-user_id
      path: /api/v2/users/{user_id}
      operations:
      - name: disableuser
        method: DELETE
        description: Datadog Disable a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: getuser
        method: GET
        description: Datadog Get User Details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
      - name: updateuser
        method: PATCH
        description: Datadog Update a User
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
    - name: api-v2-users-user_id-orgs
      path: /api/v2/users/{user_id}/orgs
      operations:
      - name: listuserorganizations
        method: GET
        description: Datadog Get a User Organization
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-users-user_id-permissions
      path: /api/v2/users/{user_id}/permissions
      operations:
      - name: listuserpermissions
        method: GET
        description: Datadog Get a User Permissions
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-v2-users-user_uuid-memberships
      path: /api/v2/users/{user_uuid}/memberships
      operations:
      - name: getusermemberships
        method: GET
        description: Datadog Get User Memberships
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: user_uuid
          in: path
          type: string
          description: None
          required: true
    authentication:
      type: bearer
      token: '{{env.DATADOG_API_KEY}}'
  exposes:
  - type: rest
    namespace: datadog-users-rest
    port: 8080
    description: REST adapter for Datadog API — Users. One Spectral-compliant resource per consumed operation, prefixed with
      /v1.
    resources:
    - path: /v1/api/v2/current-user/application-keys
      name: api-v2-current-user-application-keys
      description: REST surface for api-v2-current_user-application_keys.
      operations:
      - method: GET
        name: listcurrentuserapplicationkeys
        description: Datadog Get All Application Keys Owned by Current User
        call: datadog-users.listcurrentuserapplicationkeys
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createcurrentuserapplicationkey
        description: Datadog Create an Application Key for Current User
        call: datadog-users.createcurrentuserapplicationkey
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/current-user/application-keys/{app-key-id}
      name: api-v2-current-user-application-keys-app-key-id
      description: REST surface for api-v2-current_user-application_keys-app_key_id.
      operations:
      - method: DELETE
        name: deletecurrentuserapplicationkey
        description: Datadog Delete an Application Key Owned by Current User
        call: datadog-users.deletecurrentuserapplicationkey
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getcurrentuserapplicationkey
        description: Datadog Get One Application Key Owned by Current User
        call: datadog-users.getcurrentuserapplicationkey
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updatecurrentuserapplicationkey
        description: Datadog Edit an Application Key Owned by Current User
        call: datadog-users.updatecurrentuserapplicationkey
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/logs/config/restriction-queries/user/{user-id}
      name: api-v2-logs-config-restriction-queries-user-user-id
      description: REST surface for api-v2-logs-config-restriction_queries-user-user_id.
      operations:
      - method: GET
        name: listuserrestrictionqueries
        description: Datadog Get All Restriction Queries for a Given User
        call: datadog-users.listuserrestrictionqueries
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/on-call/schedules/{schedule-id}/on-call
      name: api-v2-on-call-schedules-schedule-id-on-call
      description: REST surface for api-v2-on-call-schedules-schedule_id-on-call.
      operations:
      - method: GET
        name: getscheduleoncalluser
        description: Datadog Get the Schedule On-call User
        call: datadog-users.getscheduleoncalluser
        with:
          include: rest.include
          schedule_id: rest.schedule_id
          filter[at_ts]: rest.filter[at_ts]
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/on-call/teams/{team-id}/on-call
      name: api-v2-on-call-teams-team-id-on-call
      description: REST surface for api-v2-on-call-teams-team_id-on-call.
      operations:
      - method: GET
        name: getteamoncallusers
        description: Datadog Get Team On-call Users
        call: datadog-users.getteamoncallusers
        with:
          include: rest.include
          team_id: rest.team_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/roles/{role-id}/users
      name: api-v2-roles-role-id-users
      description: REST surface for api-v2-roles-role_id-users.
      operations:
      - method: DELETE
        name: removeuserfromrole
        description: Datadog Remove a User from a Role
        call: datadog-users.removeuserfromrole
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listroleusers
        description: Datadog Get All Users of a Role
        call: datadog-users.listroleusers
        with:
          sort: rest.sort
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: addusertorole
        description: Datadog Add a User to a Role
        call: datadog-users.addusertorole
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/scim/users
      name: api-v2-scim-users
      description: REST surface for api-v2-scim-Users.
      operations:
      - method: GET
        name: listscimusers
        description: Datadog List Users
        call: datadog-users.listscimusers
        with:
          startIndex: rest.startIndex
          count: rest.count
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createscimuser
        description: Datadog Create User
        call: datadog-users.createscimuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/scim/users/{user-uuid}
      name: api-v2-scim-users-user-uuid
      description: REST surface for api-v2-scim-Users-user_uuid.
      operations:
      - method: DELETE
        name: deletescimuser
        description: Datadog Delete User
        call: datadog-users.deletescimuser
        with:
          user_uuid: rest.user_uuid
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getscimuser
        description: Datadog Get User
        call: datadog-users.getscimuser
        with:
          user_uuid: rest.user_uuid
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: patchscimuser
        description: Datadog Patch User
        call: datadog-users.patchscimuser
        with:
          user_uuid: rest.user_uuid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: updatescimuser
        description: Datadog Update User
        call: datadog-users.updatescimuser
        with:
          user_uuid: rest.user_uuid
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/team/{team-id}/memberships
      name: api-v2-team-team-id-memberships
      description: REST surface for api-v2-team-team_id-memberships.
      operations:
      - method: POST
        name: createteammembership
        description: Datadog Add a User to a Team
        call: datadog-users.createteammembership
        with:
          team_id: rest.team_id
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/team/{team-id}/memberships/{user-id}
      name: api-v2-team-team-id-memberships-user-id
      description: REST surface for api-v2-team-team_id-memberships-user_id.
      operations:
      - method: DELETE
        name: deleteteammembership
        description: Datadog Remove a User from a Team
        call: datadog-users.deleteteammembership
        with:
          team_id: rest.team_id
          user_id: rest.user_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/user-invitations/{user-invitation-uuid}
      name: api-v2-user-invitations-user-invitation-uuid
      description: REST surface for api-v2-user_invitations-user_invitation_uuid.
      operations:
      - method: GET
        name: getinvitation
        description: Datadog Get a User Invitation
        call: datadog-users.getinvitation
        with:
          user_invitation_uuid: rest.user_invitation_uuid
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/users
      name: api-v2-users
      description: REST surface for api-v2-users.
      operations:
      - method: GET
        name: listusers
        description: Datadog List All Users
        call: datadog-users.listusers
        with:
          sort: rest.sort
          sort_dir: rest.sort_dir
          filter: rest.filter
          filter[status]: rest.filter[status]
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: createuser
        description: Datadog Create a User
        call: datadog-users.createuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/users/{user-id}
      name: api-v2-users-user-id
      description: REST surface for api-v2-users-user_id.
      operations:
      - method: DELETE
        name: disableuser
        description: Datadog Disable a User
        call: datadog-users.disableuser
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getuser
        description: Datadog Get User Details
        call: datadog-users.getuser
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: updateuser
        description: Datadog Update a User
        call: datadog-users.updateuser
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/users/{user-id}/orgs
      name: api-v2-users-user-id-orgs
      description: REST surface for api-v2-users-user_id-orgs.
      operations:
      - method: GET
        name: listuserorganizations
        description: Datadog Get a User Organization
        call: datadog-users.listuserorganizations
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/users/{user-id}/permissions
      name: api-v2-users-user-id-permissions
      description: REST surface for api-v2-users-user_id-permissions.
      operations:
      - method: GET
        name: listuserpermissions
        description: Datadog Get a User Permissions
        call: datadog-users.listuserpermissions
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/v2/users/{user-uuid}/memberships
      name: api-v2-users-user-uuid-memberships
      description: REST surface for api-v2-users-user_uuid-memberships.
      operations:
      - method: GET
        name: getusermemberships
        description: Datadog Get User Memberships
        call: datadog-users.getusermemberships
        with:
          user_uuid: rest.user_uuid
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: datadog-users-mcp
    port: 9090
    transport: http
    description: MCP adapter for Datadog API — Users. One tool per consumed operation, routed inline through this capability's
      consumes block.
    tools:
    - name: datadog-get-all-application-keys
      description: Datadog Get All Application Keys Owned by Current User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.listcurrentuserapplicationkeys
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-create-application-key-current
      description: Datadog Create an Application Key for Current User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-users.createcurrentuserapplicationkey
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-delete-application-key-owned
      description: Datadog Delete an Application Key Owned by Current User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-users.deletecurrentuserapplicationkey
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-one-application-key
      description: Datadog Get One Application Key Owned by Current User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.getcurrentuserapplicationkey
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-edit-application-key-owned
      description: Datadog Edit an Application Key Owned by Current User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-users.updatecurrentuserapplicationkey
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-all-restriction-queries
      description: Datadog Get All Restriction Queries for a Given User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.listuserrestrictionqueries
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-schedule-call-user
      description: Datadog Get the Schedule On-call User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.getscheduleoncalluser
      with:
        include: tools.include
        schedule_id: tools.schedule_id
        filter[at_ts]: tools.filter[at_ts]
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-team-call-users
      description: Datadog Get Team On-call Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.getteamoncallusers
      with:
        include: tools.include
        team_id: tools.team_id
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-remove-user-role
      description: Datadog Remove a User from a Role
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-users.removeuserfromrole
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-all-users-role
      description: Datadog Get All Users of a Role
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.listroleusers
      with:
        sort: tools.sort
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-add-user-role
      description: Datadog Add a User to a Role
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-users.addusertorole
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-list-users
      description: Datadog List Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.listscimusers
      with:
        startIndex: tools.startIndex
        count: tools.count
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-create-user
      description: Datadog Create User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-users.createscimuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-delete-user
      description: Datadog Delete User
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-users.deletescimuser
      with:
        user_uuid: tools.user_uuid
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-user
      description: Datadog Get User
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.getscimuser
      with:
        user_uuid: tools.user_uuid
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-patch-user
      description: Datadog Patch User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-users.patchscimuser
      with:
        user_uuid: tools.user_uuid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-update-user
      description: Datadog Update User
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: datadog-users.updatescimuser
      with:
        user_uuid: tools.user_uuid
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-add-user-team
      description: Datadog Add a User to a Team
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-users.createteammembership
      with:
        team_id: tools.team_id
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-remove-user-team
      description: Datadog Remove a User from a Team
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: datadog-users.deleteteammembership
      with:
        team_id: tools.team_id
        user_id: tools.user_id
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-get-user-invitation
      description: Datadog Get a User Invitation
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.getinvitation
      with:
        user_invitation_uuid: tools.user_invitation_uuid
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-list-all-users
      description: Datadog List All Users
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: datadog-users.listusers
      with:
        sort: tools.sort
        sort_dir: tools.sort_dir
        filter: tools.filter
        filter[status]: tools.filter[status]
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-create-user-2
      description: Datadog Create a User
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: datadog-users.createuser
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: datadog-disable-user
    

# --- truncated at 32 KB (33 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/datadog/refs/heads/main/capabilities/datadog-users.yaml