Ga naar inhoud

List API keys

GET
/api/v1/api-keys
curl --request GET \
--url https://example.com/api/v1/api-keys \
--cookie bl_%3Cslug%3E_session=%3Cbl_%3Cslug%3E_session%3E

Keys for the management API and the gateway keys of apps; never the keys themselves, only their last four characters.

OK.

Media typeapplication/json

A page of a list. next_cursor is null on the last page.

object
items
required
Array<object>

A key for the management API or the gateway.

object
id
required
string
name
required
string
scopes
required
Array<string>
created_at
required
string format: date-time
last_used_at
string | null format: date-time
last4

Its last four characters, to recognise it; none for keys from before.

string | null
app_id

The app the key belongs to (decisions #73); none for the management API.

string | null
key

The key itself: only in the answer that creates it.

string | null
next_cursor

Pass as cursor for the next page.

string | null

Example generated

{
"items": [
{
"id": "example",
"name": "example",
"scopes": [
"example"
],
"created_at": "2026-04-15T12:00:00Z",
"last_used_at": "2026-04-15T12:00:00Z",
"last4": "example",
"app_id": "example",
"key": "example"
}
],
"next_cursor": "example"
}

No valid session, DPoP-bound token or API key.

Media typeapplication/json

The body of every failed call to a management API.

object
error
required
object
code
required

Stable, machine-readable: invalid_request, unauthenticated, forbidden, not_found, conflict, upstream_unavailable, unavailable, internal, or a more specific code of the operation.

string
message
required

For people; may change between versions.

string

Example

{
"error": {
"code": "not_found",
"message": "unknown negotiation"
}
}

The caller lacks the role this operation needs; or a change with the session cookie came from a page of another site (cross_site_request, decisions #83).

Media typeapplication/json

The body of every failed call to a management API.

object
error
required
object
code
required

Stable, machine-readable: invalid_request, unauthenticated, forbidden, not_found, conflict, upstream_unavailable, unavailable, internal, or a more specific code of the operation.

string
message
required

For people; may change between versions.

string

Example

{
"error": {
"code": "not_found",
"message": "unknown negotiation"
}
}