Skip to main content
GET
JavaScript
The credentials that can reach this workspace. Each row carries a state, the scopes in spec.permissions, and never a token. If you need a key’s raw value again, rotate it.

The global key is not in this list

Every key here belongs to exactly one workspace. The system-managed global key spans all workspaces, so it lives on the account instead: get the global API key.

What a row tells you

spec.token is absent on every read. It appears exactly twice in a key’s life: in the create response and in the rotate response.

Filtering

prefix, query, labels, and sortOrder work the same way they do on every list endpoint: prefix matches the ID, query is free-form search, labels takes comma-separated key=value pairs with AND semantics, and limit sets a page size the SDK iterator pages past on its own.

Create an API key

Mint a scoped credential. The one response that carries the token.

API key scopes

The full scope grammar and how denials read.

Disable an API key

The kill switch that keeps the key.

Get the global API key

The one key this list never shows.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

workspaceId
string
required

The workspace whose API keys will be listed (path).

Example:

"workspace_01HXKD2E5NQM3T9AYWCF133E3Q"

Query Parameters

limit
integer<int32>

Maximum number of results to return.

cursor
string

Pagination cursor from previous response.

prefix
string

Filter by ID prefix.

query
string

Free-form search query.

labels
string

Filters by metadata labels. Comma-separated key=value pairs, e.g. "env=prod,team=ai". A resource matches only if every pair matches exactly (AND semantics).

sortOrder
string

Sort order for results (asc or desc by creation time).

includeInfo
boolean

When true, included info fields are populated. Requests with this flag count more against your rate limit.

Response

OK

items
object[]
pagination
object

Page carries cursor-based pagination state. There is no total: the cursor walks the result set without ever counting it, and a count would cost a second query on every list.