Admin API: Registration tokens
Operations on registration tokens in the Odudu admin API, one section each. Every request carries a bearer token; the index says which audience it needs and how a refusal is shaped.
GET /admin/tenants/{tenant}/registration-tokens
Requires the "manage-clients" capability.
Path parameters
| Name | Type | Required | Details |
|---|---|---|---|
tenant | string | yes | The tenant being administered, addressed by name. |
Query parameters
| Name | Type | Required | Details |
|---|---|---|---|
cursor | string | no | The next value of the previous page, to continue after it. |
limit | integer | no | How many items to return. A value over 200 is treated as 200; the default is 50. Constraints: at least 1. |
Responses
200 OK
Body: application/json
| Field | Type | Required | Details |
|---|---|---|---|
items | array of object | yes | The entries of this answer. |
items[] | object | yes | |
items[].id | string | yes | The token’s identifier, for revoking it. The token itself is never shown again. |
items[].remaining_uses | integer | yes | How many more registrations the token allows. |
items[].created_at | string | yes | When the token was minted. |
items[].expires_at | string | yes | When the token stops working. |
next | string | no | An opaque cursor for the next page; absent on the last page. |
401 RFC 9457 problem details
Body: application/problem+json, an RFC 9457 problem document described under problem details.
403 RFC 9457 problem details
Body: application/problem+json, an RFC 9457 problem document described under problem details.
POST /admin/tenants/{tenant}/registration-tokens
Requires the "manage-clients" capability.
Answers token exactly once. Nothing else this API serves ever repeats it: not a later GET, not an audit detail.
Path parameters
| Name | Type | Required | Details |
|---|---|---|---|
tenant | string | yes | The tenant being administered, addressed by name. |
Request body
Body: application/json
| Field | Type | Required | Details |
|---|---|---|---|
uses | integer | yes | How many client registrations the token allows before it is spent. Constraints: at least 1, at most 2147483647. |
ttl_seconds | integer | yes | How long the token stays valid, from 60 seconds to a year. Constraints: at least 60, at most 31536000. |
Responses
201 Created
Body: application/json
| Field | Type | Required | Details |
|---|---|---|---|
id | string | yes | The token’s identifier, for revoking it. |
token | string | yes | The initial access token. Shown only in this response; give it to the registering client as a bearer token. |
remaining_uses | integer | yes | How many registrations it allows. |
expires_at | string | yes | When it stops working. |
401 RFC 9457 problem details
Body: application/problem+json, an RFC 9457 problem document described under problem details.
403 RFC 9457 problem details
Body: application/problem+json, an RFC 9457 problem document described under problem details.
DELETE /admin/tenants/{tenant}/registration-tokens/{id}
Requires the "manage-clients" capability.
Path parameters
| Name | Type | Required | Details |
|---|---|---|---|
tenant | string | yes | The tenant being administered, addressed by name. |
id | string | yes | A row id. Constraints: a UUID. |
Responses
204 OK
Body: application/json
| Field | Type | Required | Details |
|---|---|---|---|
(body) | any | yes |
401 RFC 9457 problem details
Body: application/problem+json, an RFC 9457 problem document described under problem details.
403 RFC 9457 problem details
Body: application/problem+json, an RFC 9457 problem document described under problem details.
Documentation coverage: 14 of 14 fields described (100%).