v2

latestOpenAPI 3.0.3Apache-2.02026-08-07119359591.9 KB
Role Bindings

Create a role binding

Create a new role binding that assigns a role to a user on a resource.

Payload Requirements

  • role_id, user_id, resource_type, and resource_id are required.
  • resource_type must be SPACE or PROJECT.
  • resource_id must be a unique identifier for the selected resource_type.
  • Only one binding per user and resource is allowed. If the target user already has any binding on the resource, the request returns 409 Conflict.
  • System-managed fields (id, created_at, updated_at) are returned by the server and are rejected on input.

Valid example

{
  "role_id": "Um9sZToxOlY0S2E=",
  "user_id": "VXNlcjoxOmxQZzI=",
  "resource_type": "PROJECT",
  "resource_id": "TW9kZWw6MTpGdmxM"
}

Invalid example

{
  "role_id": "Um9sZToxOlY0S2E=",
  "user_id": "VXNlcjoxOmxQZzI=",
  "resource_type": "PROJECT",
  "resource_id": "U3BhY2U6MTp1Rk4x"
}

This fails because resource_id must encode a PROJECT ID when resource_type is PROJECT.

Use PATCH /v2/role-bindings/{binding_id} to change the assigned role for an existing binding.

<Note>This endpoint is in beta, read more here.</Note>

post/v2/role-bindings

Request body

role_idstring required

A universally unique identifier (base64-encoded opaque string).

user_idstring required

A universally unique identifier (base64-encoded opaque string).

resource_type'SPACE' | 'PROJECT' required

Resource type for the binding. Only SPACE and PROJECT are supported for single-binding CRUD. resource_id must encode the same resource type.

resource_idstring required

A universally unique identifier (base64-encoded opaque string).

Example request

{
  "role_id": "RW50aXR5OjEyMzQ1",
  "user_id": "RW50aXR5OjEyMzQ1",
  "resource_id": "RW50aXR5OjEyMzQ1"
}

Response

A role binding object.

idstring required

Unique identifier for the role binding.

role_idstring required

A universally unique identifier (base64-encoded opaque string).

user_idstring required

A universally unique identifier (base64-encoded opaque string).

resource_type'SPACE' | 'PROJECT' required

Resource type for the binding. Only SPACE and PROJECT are supported for single-binding CRUD. resource_id must encode the same resource type.

resource_idstring required

A universally unique identifier (base64-encoded opaque string).

created_atstring date-time required

Timestamp when the binding was created.

updated_atstring date-time required

Timestamp when the binding was last updated.

Example response

{
  "role_id": "RW50aXR5OjEyMzQ1",
  "user_id": "RW50aXR5OjEyMzQ1",
  "resource_id": "RW50aXR5OjEyMzQ1"
}