1. Docs
  2. API Reference
  3. List a machine client's role assignments

List a machine client's role assignments

GET/api/v1/oauth-clients/{id}/assignments

Returns one page of the machine client's role assignments in the current Environment, each with its role and node, searched by role or node name with q and sorted with the standard options. id is the client's client_id. A web client answers 400 (oauth.client_not_machine): only a machine client holds roles.

Authentication

Bearer TokenAuthorization Option A

JWT access token. Never send alongside X-API-Key: a request carrying both is refused.

API KeyX-API-Key Option B

API key for management-tier access. Never send alongside an Authorization header: a request carrying both is refused.

Path Parameters

idstring Required

Query Parameters

pagenumber Optional

Page number (1-based)

min 1

takenumber Optional

Items per page (1-100, default 20)

range 1–100

qstring Optional

Search role and node names

max length 200

sort_byenum Optional

Sort column. Defaults to `created`, oldest first.

one of "role" · "node" · "created"

orderenum Optional

Sort direction

one of "asc" · "desc"

Responses

application/json

  • itemsAssignmentResponseDto[]*
  • paginationPageMetaDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

application/json

  • errorApiErrorBodyDto*

Pagination

This endpoint returns a paginated collection. Use the query parameters below to page through results.

pagenumber

Page number (1-indexed). Defaults to 1.

takenumber

Items per page (1 to 100). Defaults to 20.

Each response includes an items array alongside a pagination object with item_count, page_count, has_previous_page, and has_next_page fields.

Returned object

Request
curl -X GET "https://auth.canopy-io.com/api/v1/oauth-clients/value/assignments?page=0&take=0&q=value&sort_by=role&order=asc" \
  -H "X-API-Key: $CANOPY_API_KEY"
Response
{
  "items": [
    {
      "id": "string",
      "identity_id": "string",
      "oauth_client_id": "string",
      "application_node_id": "string",
      "role_id": "string",
      "role_name": "string",
      "node_name": "string",
      "effective_from": "2026-04-20T12:00:00.000Z",
      "effective_to": "2026-04-20T12:00:00.000Z",
      "created_at": "2026-04-20T12:00:00.000Z",
      "updated_at": "2026-04-20T12:00:00.000Z",
      "version": 0
    }
  ],
  "pagination": {
    "page": 0,
    "take": 0,
    "item_count": 0,
    "page_count": 0,
    "has_previous_page": false,
    "has_next_page": false
  }
}
Related endpoints
GETList OAuth clients for Application
POSTRegister a new OAuth client
GETActive/inactive OAuth client counts for the environment
GETGet OAuth client details
PATCHUpdate OAuth client
DELETEDelete OAuth client
POSTRotate an OAuth client's secret
POSTAssign a role to a machine client at a node
PATCHChange a machine client's assignment
DELETERemove a machine client's assignment
GETGet where a machine client holds each permission
Was this page helpful?

Tell us how we can improve this guide.