---
title: "Update a role"
method: PATCH
path: "/api/v2/roles/{role_id}"
tags: ["Roles"]
---

# Update a role

`PATCH /api/v2/roles/{role_id}`

## Request

- Base URL: `https://api.datadoghq.com`
- URL: `https://api.datadoghq.com/api/v2/roles/{role_id}`
- Auth: one of:
  - API key in header `DD-API-KEY` and API key in header `DD-APPLICATION-KEY`
  - OAuth 2
    - Authorization code: `/oauth2/v1/authorize`
    - Token URL: `/oauth2/v1/token` scopes: `user_access_manage`

Edit a role. Can only be used with application keys belonging to administrators.

## Path parameters

- `role_id` string, required

## Request body

- RoleUpdateRequest: Update a role.
  - `data` RoleUpdateData, required: Data related to the update of a role.
    - `attributes` RoleUpdateAttributes, required: Attributes of the role.
      - `created_at` string, date-time: Creation time of the role.
      - `modified_at` string, date-time: Time of last role modification.
      - `name` string: Name of the role.
      - `receives_permissions_from` string[]: The managed role from which this role automatically inherits new permissions. Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". If empty or not specified, the role does not automatically inherit permissions from any managed role.
      - `user_count` integer: The user count.
    - `id` string, required: The unique identifier of the role.
    - `relationships` RoleRelationships: Relationships of the role object.
      - `permissions` RelationshipToPermissions: Relationship to multiple permissions objects.
        - `data` RelationshipToPermissionData[]: Relationships to permission objects.
          - `id` string: ID of the permission.
          - `type` 'permissions': Permissions resource type.
    - `type` 'roles', required: Roles type.

## Response `200`

OK

- RoleUpdateResponse: Response containing information about an updated role.
  - `data` RoleUpdateResponseData: Role object returned by the API.
    - `attributes` RoleUpdateAttributes: Attributes of the role.
      - `created_at` string, date-time: Creation time of the role.
      - `modified_at` string, date-time: Time of last role modification.
      - `name` string: Name of the role.
      - `receives_permissions_from` string[]: The managed role from which this role automatically inherits new permissions. Specify one of the following: "Datadog Admin Role", "Datadog Standard Role", or "Datadog Read Only Role". If empty or not specified, the role does not automatically inherit permissions from any managed role.
      - `user_count` integer: The user count.
    - `id` string: The unique identifier of the role.
    - `relationships` RoleResponseRelationships: Relationships of the role object returned by the API.
      - `permissions` RelationshipToPermissions: Relationship to multiple permissions objects.
        - `data` RelationshipToPermissionData[]: Relationships to permission objects.
          - `id` string: ID of the permission.
          - `type` 'permissions': Permissions resource type.
    - `type` 'roles', required: Roles type.

## Other responses

- `400`: Bad Request
- `403`: Authentication error
- `404`: Not found
- `422`: Unprocessable Entity
- `429`: Too many requests

---

[API](https://skmtc.dev/datadog/apis/datadog-api-v2-collection.md) - [All operations](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/llms.txt) - [OpenAPI document](https://skmtc.dev/datadog/apis/datadog-api-v2-collection/revisions/da68bf029e4c?raw)
