Skip to content
API console (try a request with your own key)Get early access

List the workspace's API keys

GET
/v1/api-keys
#!/usr/bin/env bash
set -euo pipefail
API=https://api.speccapture.com
AUTH="Authorization: Bearer $SPECCAPTURE_API_KEY"
page=$(curl -sS --fail-with-body "$API/v1/api-keys" \
-H "$AUTH") || { echo "$page" >&2; exit 1; }
jq -r '.data[] as $key | "\($key.prefix)... \"\($key.name)\", a \($key.mode) key acting as \($key.role): \($key.status), last used \($key.lastUsedAt // "never")"' <<<"$page"

Every key the workspace has made, newest first: its name, prefix (its first characters, never the key), mode (live or test), the role it acts with, its rate limit, who made it, when it was made and last used, and its status - active, stopping (revoked with a grace period: it works until stopsAt) or revoked. Page with limit and cursor (the previous page’s nextCursor), narrow with createdAfter, createdBefore and status. Keys are made and revoked in the dashboard. A key acting as the workspace’s owner or an admin.

limit
integer format: int32

How many items the page holds: 1 to 200, 50 when left out.

cursor
string

The previous page’s nextCursor, exactly as it came: the list continues just after that page’s last item, so items made or removed meanwhile never shift a page. Leave it out for the first page.

createdAfter
string format: date-time

Only items made strictly after this date and time (ISO 8601, such as 2026-10-14T09:30:00Z; without an offset it is UTC).

createdBefore
string format: date-time

Only items made strictly before this date and time (ISO 8601, such as 2026-10-14T09:30:00Z; without an offset it is UTC).

status
Allowed values: active stopping revoked

Only items with this status.

OK

Media typeapplication/json
object
data
required
Array<object>
object
keyId
required
string format: uuid
name
required
string
prefix
required
string
mode
required
Allowed values: live test
role
required
Allowed values: owner admin member
requestsPerMinute
required
integer format: int32
createdBy
required
object
kind
required
Allowed values: person apiKey
name
required
null | string
createdAt
required
string format: date-time
lastUsedAt
required
null | string format: date-time
status
required
Allowed values: active stopping revoked
stopsAt
required
null | string format: date-time
hasMore
required
boolean
nextCursor
required
null | string

Bad Request: a problem with a stable code. See Errors for every code and what to do about it.

Media typeapplication/problem+json

Every error: a problem with a stable code. https://speccapture.com/docs/api/errors lists every code.

object
type

A link to the code’s entry in the docs.

null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
code

What went wrong, as a stable code to branch on: a published code never changes meaning.

string
traceId

This request’s trace: quote it when asking for help.

string

Forbidden: a problem with a stable code. See Errors for every code and what to do about it.

Media typeapplication/problem+json

Every error: a problem with a stable code. https://speccapture.com/docs/api/errors lists every code.

object
type

A link to the code’s entry in the docs.

null | string
title
null | string
status
null | integer format: int32
detail
null | string
instance
null | string
code

What went wrong, as a stable code to branch on: a published code never changes meaning.

string
traceId

This request’s trace: quote it when asking for help.

string