Multi-Tenant
API Keys
Create and manage org-scoped bearer tokens for programmatic access to the Solvela Enterprise API.
API Keys
Org-scoped API keys let programs authenticate without the admin token. Keys are prefixed solvela_k_ and sent as a standard Bearer token.
Authorization: Bearer solvela_k_live_...Each key carries a role (owner, admin, or member) that gates what the key can do within the org.
Create a key
Requires admin or owner role.
POST /v1/orgs/018f1a2b-.../api-keys
Authorization: Bearer <admin-token | solvela_k_...>
Content-Type: application/json
{
"name": "ci-deploy",
"role": "admin",
"expires_in_days": 90
}Request fields
| Field | Type | Required | Description |
|---|---|---|---|
name | string | yes | Human-readable label |
role | string | no | owner, admin, or member (default: member) |
expires_in_days | integer | no | Days until the key expires. Omit for no expiry. |
Warning
The full key value is returned once at creation time and never shown again. Store it immediately in a secrets manager.
Response — 201 Created
{
"id": "01a4b5c6-...",
"key": "solvela_k_live_xxxxxxxxxxxxxxxx",
"key_prefix": "solvela_k_live_xxxx",
"name": "ci-deploy",
"role": "admin",
"expires_at": "2025-12-01T00:00:00Z"
}List keys
Returns all non-revoked keys. The full key value is not included — only the prefix.
Requires member role or higher.
GET /v1/orgs/018f1a2b-.../api-keys
Authorization: Bearer <admin-token | solvela_k_...>Response — 200 OK
[
{
"id": "01a4b5c6-...",
"org_id": "018f1a2b-...",
"key_prefix": "solvela_k_live_xxxx",
"name": "ci-deploy",
"role": "admin",
"last_used_at": "2025-09-10T14:22:00Z",
"expires_at": "2025-12-01T00:00:00Z",
"revoked_at": null,
"created_at": "2025-09-01T00:00:00Z"
}
]Revoke a key
Requires admin or owner role.
DELETE /v1/orgs/018f1a2b-.../api-keys/01a4b5c6-...
Authorization: Bearer <admin-token | solvela_k_...>Response — 204 No Content
Revoked keys are rejected immediately on the next request. There is no grace period.
Ready for production?
Solvela Enterprise is $49.99/mo + 5% per route. Includes everything on this page plus the dashboard.
View pricing →