Appearance
Applications
The platform operator's routes. A tenant cannot create tenants.
Create a tenant
POST /v1/applications
Credential: The platform operator's key. A tenant key is refused permission_denied.
Rate limit: write, 120 a minute
Request body application/json
| Field | Type | Description |
|---|---|---|
slug | string | 2–40 characters. Matches ^[a-z0-9][a-z0-9-]*$. |
name | string | 1–120 characters. |
settings? | ApplicationSettings | The platform defaults this tenant runs with. Nothing in it is a tenant domain concept. |
Response 201 — The application.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
slug | string | |
name | string | |
status | string | One of active, suspended. |
settings | ApplicationSettings | The platform defaults this tenant runs with. Nothing in it is a tenant domain concept. |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
Errors
Read a tenant
GET /v1/applications/{id}
Credential: The platform operator's key. A tenant key is refused permission_denied.
Rate limit: read, 600 a minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id | path | string (uuid) |
Response 200 — The application.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
slug | string | |
name | string | |
status | string | One of active, suspended. |
settings | ApplicationSettings | The platform defaults this tenant runs with. Nothing in it is a tenant domain concept. |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
Errors
Rename, suspend or reconfigure a tenant
PATCH /v1/applications/{id}
A change of status or settings reaches every node at once, not in a minute.
Credential: The platform operator's key. A tenant key is refused permission_denied.
Rate limit: write, 120 a minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id | path | string (uuid) |
Request body application/json
| Field | Type | Description |
|---|---|---|
name? | string | 1–120 characters. |
status? | string | One of active, suspended. |
settings? | ApplicationSettings | The platform defaults this tenant runs with. Nothing in it is a tenant domain concept. |
Response 200 — The application, as it now stands.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
slug | string | |
name | string | |
status | string | One of active, suspended. |
settings | ApplicationSettings | The platform defaults this tenant runs with. Nothing in it is a tenant domain concept. |
createdAt | string (date-time) | |
updatedAt | string (date-time) |
Errors
A tenant's keys, newest first, without their secrets
GET /v1/applications/{id}/keys
Credential: The platform operator's key. A tenant key is refused permission_denied.
Rate limit: read, 600 a minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id | path | string (uuid) | |
limit? | query | integer | 1–100. Default 20. |
cursor? | query | string | The nextCursor of the previous page. 1–512 characters. |
Response 200 — A page of keys.
| Field | Type | Description |
|---|---|---|
data | ApplicationKey[] | |
nextCursor | string | null | The cursor for the next page; null on the last. |
Errors
| Status | Code |
|---|---|
| 400 | validation_failed, token_ttl_too_long |
| 401 | unauthenticated, token_expired, token_replayed, token_not_yet_valid |
| 403 | permission_denied, app_suspended, quota_exhausted |
| 429 | rate_limited |
| 500 | internal |
Mint a key pair
POST /v1/applications/{id}/keys
The secret is in this response and never again; nothing can show it later.
Credential: The platform operator's key. A tenant key is refused permission_denied.
Rate limit: write, 120 a minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id | path | string (uuid) |
Request body application/json
| Field | Type | Description |
|---|---|---|
label? | string | At most 60 characters. |
env? | string | One of live, test. Default "live". |
Response 201 — The key and its secret.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
apiKey | string | Matches ^tlk_(live|test)_. |
apiSecret | string | Shown once. Matches ^tlsk_. |
label | string | |
createdAt | string (date-time) | |
warning | string |
Errors
Revoke a key
DELETE /v1/applications/{id}/keys/{keyId}
Signaling nodes stop honouring it within a second.
Credential: The platform operator's key. A tenant key is refused permission_denied.
Rate limit: write, 120 a minute
Parameters
| Name | In | Type | Description |
|---|---|---|---|
id | path | string (uuid) | |
keyId | path | string (uuid) |
Response 200 — The revoked key.
| Field | Type | Description |
|---|---|---|
id | string (uuid) | |
apiKey | string | |
status | "revoked" | One of revoked. |
revokedAt | string (date-time) |
Errors