List Member API Keys

GET/enterprise/v1/sub-accounts/{subAccountId}/api-keys

Returns inference-key metadata only, not raw secrets or usage counters. For a key’s own spend and remaining budget use GET /v1/key authenticated with that inference key.

Authentication

MANAGEMENT / PROVISIONING key with tenant:keys:read.

Authorization: Bearer <CONTROL_KEY>

Any subAccountId must belong to the authenticated enterprise. hash is a metadata identifier, never a raw key.

Approval and retry guide

Path parameters

subAccountIdstringrequired

10-digit public member ID / 10 位成员编号

Response

HTTP 200; code: 200. Values below are illustrative; fields use camelCase.

codeinteger

200

dataarray
data.hashstring
data.namestring
data.keyDisplaystring
data.workspaceCodestring
data.statusstring
data.allowedIpsarray
data.spendLimitnumber
data.limitResetstring
data.expiresAtstring | null
data.createdAtstring

Errors

Check both HTTP status and code; on failure inspect serviceCode, msg and traceId. Invalid credentials receive no data; missing scopes return API_KEY_SCOPE_DENIED. Cross-tenant resources are inaccessible. Acceptance or pending approval does not mean business completion.

Request

Shell
1curl -X GET "https://api.token360.ai/enterprise/v1/sub-accounts/{subAccountId}/api-keys" \
2  -H "Authorization: Bearer $CONTROL_KEY"

Response

JSON
1{
2  "code": 200,
3  "msg": "success",
4  "data": [
5    {
6      "hash": "<KEY_HASH>",
7      "name": "service-key",
8      "keyDisplay": "sk-…",
9      "workspaceCode": "DEFAULT",
10      "status": "ACTIVE",
11      "allowedIps": [],
12      "spendLimit": 100,
13      "limitReset": "monthly",
14      "expiresAt": null,
15      "createdAt": "2026-11-03T00:00:00Z"
16    }
17  ]
18}
Was this page helpful?
List Member API Keys · Token360