Lists the API keys tied to the project, the newest first.
HTTP
GET /projects/{projectId}/api-keysAccess: Session token only. API keys get 403 with insufficient_scope.
Role: Project manager (organisation owners and admins are managers of every project).
Path parameters #
| Parameter | Description |
|---|---|
projectId | The id of the project. |
Response 200 #
A list of keys.
JSON
[
{
"id": "0197a3c2-7d10-7e4b-8a21-5c3f9d2e1b07",
"name": "CI",
"value": "ct_live_••••••••••••7f3a",
"scopes": ["projects:read", "translations:read"],
"createdBy": "Ada Lovelace",
"createdAt": "2026-10-16T09:30:00+00:00",
"lastUsedMinutes": 12,
"expiresAt": null,
"expired": false
}
]Response fields #
| Field | Type | Description |
|---|---|---|
id | string | The id of the key. |
name | string | The name you gave it. |
value | string | The key with all but the last 4 characters hidden. The full key is shown only when it is created. |
scopes | list of string | The scopes of the key. |
createdBy | string | The name of the person who created the key. |
createdAt | string | When the key was created. |
lastUsedMinutes | integer or null | Minutes since the key was last used, null if never. |
expiresAt | string or null | When the key expires, null if it does not. |
expired | boolean | Whether the key has expired. |
Errors #
| Status | error | When |
|---|---|---|
| 401 | unauthenticated | The token is missing or not valid. |
| 404 | not_found | The project does not exist in your organisation, you have no access to it, or projectId is not a UUID. |
| 403 | forbidden | You are a member of the project, but not a manager. |
| 429 | rate_limited | Too many requests, see Rate limiting. |
See Errors for the error format.