---
search:
  tags:
    - Custom Roles
    - PUT
seo:
  description: >-
    Update a custom role that can be set on… Reference for the PUT
    /api/v1/{team_slug}/{app_slug}/custom-roles/{custom_role_id} endpoint in the
    Management API.
sidebar:
  label: Update a custom role
  badge: PUT
title: Update a custom role
type: openapi-operation
---
Update a custom role that can be set on users.

`PUT /api/v1/{team_slug}/{app_slug}/custom-roles/{custom_role_id}`

**Request body** (`application/json`, required)

custom role details

- `is_default` (boolean)
- `name` (string, required)
- `slug` (string, required)

Request body example:

```json
{
  "is_default": true,
  "name": "string",
  "slug": "string"
}
```

**Responses**

- `200` — custom role created successfully
- `400` — Invalid request (e.g. bad payload, validation error)
- `401` — Unauthorized access
- `404` — Not found
- `409` — Conflict (e.g. already exists)
- `500` — Internal server error

Response example, 200:

```json
{
  "data": {
    "app_id": "string",
    "created_at": "string",
    "id": "string",
    "is_default": true,
    "name": "string",
    "slug": "string",
    "updated_at": "string"
  },
  "details": [
    "string"
  ],
  "success": true
}
```
