GET /{o}/{p}/tokensList project API tokens
Returns token metadata only — never the secret value.
Auth: Bearer token required · Permission:
tokens:manage
Path parameters
| Name | Type | Description |
|---|---|---|
o | string | |
p | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | OK | ProjectTokenList |
401 | Unauthorized | Error |
403 | Forbidden | Error |
POST /{o}/{p}/tokensCreate a project API token
Returns the full token value exactly once. Optionally scope to a set of cell values.
Auth: Bearer token required · Permission:
tokens:manage
Path parameters
| Name | Type | Description |
|---|---|---|
o | string | |
p | string |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
name | string | Token name (required) |
role | owner | admin | write | read | Role (owner|admin|write|read) |
expiresAt | string(date-time) | Expiry timestamp (ISO 8601) |
cellScopes | string[] | null | Optional cell scope; null/omitted = all cells, array = restrict to listed cell-label values |
Responses
| Status | Description | Schema |
|---|---|---|
201 | Created | ProjectTokenCreated |
400 | Bad Request | Error |
401 | Unauthorized | Error |
403 | Forbidden | Error |
404 | Not Found | Error |
DELETE /{o}/{p}/tokens/{tokenId}Revoke a project API token
Auth: Bearer token required · Permission:
tokens:manage
Path parameters
| Name | Type | Description |
|---|---|---|
tokenId | string | Token ID |
o | string | |
p | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | OK | object |
401 | Unauthorized | Error |
403 | Forbidden | Error |
404 | Not Found | Error |
GET /orgs/{orgId}/projects/{projectId}/tokensList project API tokens
Returns token metadata only — never the secret value.
Auth: Bearer token required · Permission:
tokens:manage
Path parameters
| Name | Type | Description |
|---|---|---|
orgId | string | |
projectId | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | OK | ProjectTokenList |
401 | Unauthorized | Error |
403 | Forbidden | Error |
POST /orgs/{orgId}/projects/{projectId}/tokensCreate a project API token
Returns the full token value exactly once. Optionally scope to a set of cell values.
Auth: Bearer token required · Permission:
tokens:manage
Path parameters
| Name | Type | Description |
|---|---|---|
orgId | string | |
projectId | string |
Request body (application/json)
| Field | Type | Description |
|---|---|---|
name | string | Token name (required) |
role | owner | admin | write | read | Role (owner|admin|write|read) |
expiresAt | string(date-time) | Expiry timestamp (ISO 8601) |
cellScopes | string[] | null | Optional cell scope; null/omitted = all cells, array = restrict to listed cell-label values |
Responses
| Status | Description | Schema |
|---|---|---|
201 | Created | ProjectTokenCreated |
400 | Bad Request | Error |
401 | Unauthorized | Error |
403 | Forbidden | Error |
404 | Not Found | Error |
DELETE /orgs/{orgId}/projects/{projectId}/tokens/{tokenId}Revoke a project API token
Auth: Bearer token required · Permission:
tokens:manage
Path parameters
| Name | Type | Description |
|---|---|---|
tokenId | string | Token ID |
orgId | string | |
projectId | string |
Responses
| Status | Description | Schema |
|---|---|---|
200 | OK | object |
401 | Unauthorized | Error |
403 | Forbidden | Error |
404 | Not Found | Error |
Error| Field | Type | Description |
|---|---|---|
error | string | (required) |
code | string |
ProjectTokenCreated| Field | Type | Description |
|---|---|---|
id | string | (required) |
name | string | null | (required) |
tokenPrefix | string | null | (required) |
role | owner | admin | write | read | (required) |
cellScopes | string[] | null | (required) |
expiresAt | string | string | null | (required) |
createdAt | string | string | (required) |
token | string | (required) |
ProjectTokenListType: object[]