Create Sub-Account API Key
Creates an API key owned by the sub account. Parent credentials must belong to the parent account and include sub-account-api-keys:write; sub-account credentials cannot manage nested API keys. The returned secret_key authenticates as the child account and should be stored immediately.
Bootstrap example:
- Create the sub account with
POST /v2/accounts/{account_id}/sub-accountsand a uniqueIdempotency-Key. - Create the bootstrap child API key with this endpoint and a different unique
Idempotency-Key. - Store the one-time
secret_keyfrom the201response. Exact idempotent replays within 5 minutes return the samesecret_key. - Use that child secret with the child
sub_account_idas theaccount_idon ordinary v2 routes.
Authorizations
API key for authentication
Headers
Optional idempotency key for safe request retries. Must be a unique string for each logical request.
Requests with the same key will return the same response. Keys for non-secret responses expire after 24 hours.
API-key create responses include a one-time secret_key, so their encrypted replay responses expire after 5 minutes.
255Path Parameters
Parent account ID
Sub account ID
Body
Human-readable label for the API key; must not be empty
1 - 255Array of scope strings to grant to this API key
1Optional list of source IPs allowed to authenticate with this key. Each entry is a CIDR block (e.g. 203.0.113.0/24) or a bare IPv4/IPv6 address (stored as a /32 or /128). Entries are canonicalized (host bits are masked) and de-duplicated. The allow-all prefixes 0.0.0.0/0 and ::/0 are rejected, and at most 100 entries are allowed after de-duplication. Omit the field or pass an empty array to leave the key usable from any IP.
Response
Sub-account API key created successfully
Object type identifier
api_key Unique identifier for the API key
When the API key was created
When the API key was last updated
Account ID this API key belongs to
Human-readable label for the API key
Public portion of the API key
Scopes granted to this API key
Source IPs allowed to authenticate with this API key, as canonical CIDR blocks (a bare address is stored as a /32 for IPv4 or /128 for IPv6). Always present; an empty array means the key may be used from any source IP. When non-empty, an authenticated request whose client IP is not covered by an entry is rejected with HTTP 403 on every v2 endpoint, regardless of the key's scopes.
When the API key was last used (updates every 5-10 minutes)
Secret key. Only returned when an API key is created, including exact idempotent replays of create requests within the 5-minute secret-bearing replay window. Store it immediately; list, get, update, and delete responses omit it.

