API reference
API keys
Create, scope and revoke API keys. Dashboard session only: a key can never mint or list keys.
BrowseAPI keys
List your API keys
GET/
- Access
- Dashboard session. API keys are refused with 403. Use a login access token.
- Rate limit
- 100 requests per second (the default)
Active (non-revoked) keys with their prefix, scopes and last use. Never includes a secret.
Response 200
datarequiredobject[]
idrequiredstring (uuid) · data[].id
keyPrefixrequiredstring · data[].keyPrefix
The first characters of the key, for recognising it. The full key is never shown again.labelrequiredstring · data[].label
scopesrequiredstring[] | null · data[].scopes
null = full access; otherwise the only scopes this key may useOne ofvoice:send,sms:send,dialer:write,routes:read,account:read,purchases:write,offers:write,billing:write,numbers:read,numbers:write,account:write,routes:writeand 5 moreenvironmentrequiredstring · data[].environment
One oflive,testlastUsedAtrequiredstring (date-time) | null · data[].lastUsedAt
ISO-8601 timestamp (UTC)createdAtrequiredstring (date-time) · data[].createdAt
ISO-8601 timestamp (UTC)expiresAtrequiredstring (date-time) | null · data[].expiresAt
ISO-8601 timestamp (UTC)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Create an API key
POST/
- Access
- Dashboard session. API keys are refused with 403. Use a login access token.
- Rate limit
- 100 requests per second (the default)
Returns the full key ONCE in key. Omit scopes for a full-access key; a scoped key can reach only the operations whose scope it holds. Scopes can be narrowed later but never broadened, so include everything the integration needs. A security email is sent to the account owner.
Request body (application/json)
labelrequiredstring
max 100 charsscopesstring[]
One ofvoice:send,sms:send,dialer:write,routes:read,account:read,purchases:write,offers:write,billing:write,numbers:read,numbers:write,account:write,routes:writeand 5 moreenvironmentstring
One oflive,testexpiresAtstring (date-time) | null
Response 201
datarequiredobject
idrequiredstring (uuid) · data.id
keyrequiredstring · data.key
The full secret key. Returned ONCE, here; store it now.keyPrefixrequiredstring · data.keyPrefix
Same value asprefix; the name the list and update responses use.prefixrequiredstring · data.prefix
Deprecated alias ofkeyPrefix, kept for existing clients.labelrequiredstring · data.label
scopesrequiredstring[] | null · data.scopes
One ofvoice:send,sms:send,dialer:write,routes:read,account:read,purchases:write,offers:write,billing:write,numbers:read,numbers:write,account:write,routes:writeand 5 moreenvironmentrequiredstring · data.environment
One oflive,testexpiresAtrequiredstring (date-time) | null · data.expiresAt
ISO-8601 timestamp (UTC)
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Rename an API key or narrow its scopes
PATCH/
- Access
- Dashboard session. API keys are refused with 403. Use a login access token.
- Rate limit
- 100 requests per second (the default)
Scopes may only be tightened: any scope not already on the key is rejected with VALIDATION_ERROR.
Parameters
idrequiredpath · string
Request body (application/json)
labelstring
max 100 charsscopesstring[]
One ofvoice:send,sms:send,dialer:write,routes:read,account:read,purchases:write,offers:write,billing:write,numbers:read,numbers:write,account:write,routes:writeand 5 more
Response 200
datarequiredobject
Same fields as ApiKey, shown earlier on this page.
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.
Revoke an API key
DELETE/
- Access
- Dashboard session. API keys are refused with 403. Use a login access token.
- Rate limit
- 100 requests per second (the default)
Takes effect immediately; requests with the key then get 401.
Parameters
idrequiredpath · string
Response 200
datarequiredobject
messagerequiredstring · data.message
Errors
- 400
VALIDATION_ERROR,INVALID_INPUTorBAD_REQUEST. ForVALIDATION_ERROR,error.detailsis an array of{ path, message }. - 401
UNAUTHORIZED: missing, invalid, expired or revoked credential. - 403
FORBIDDEN: not allowed - a scoped key lacks the scope, or the endpoint is session-only. - 404
NOT_FOUND: no such resource on your account. - 409
CONFLICT(or a code-specific 409): the change clashes with existing state. - 429
RATE_LIMITED: slow down and retry after theRetry-Afterseconds. - 500
INTERNAL_ERROR: unexpected failure. QuoteX-Request-Idto support.