List API keys for the authenticated account.
const url = 'https://api.siteqwality.com/account/api_key/';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.siteqwality.com/account/api_key/ \ --header 'Authorization: Bearer <token>'Secrets are never returned: only the stored prefix/suffix fragments, the key type, any scopes, and the lifecycle timestamps. Revoked keys are omitted; expired ones are included so the customer can see why a key stopped working rather than watching it silently disappear.
The response stays a bare array, unchanged in shape from before hashing, so a dashboard build that predates this deploy still renders the list.
Authorizations
Section titled “Authorizations ”Responses
Section titled “ Responses ”API keys, without secrets
One API key in list responses. Never contains the secret: after creation the secret exists only in the customer’s hands.
object
First 8 characters of the secret, kept in plaintext for display.
Last 4 characters of the secret, kept in plaintext for display.
What a customer API key is allowed to do.
Mirrors the Datadog split between an API key (telemetry push) and an application key (full API access), collapsed into one credential with a type so the ingest path and the management path can share a table.
Empty means unrestricted.
Lifecycle state of a key, derived rather than stored so it can never disagree with the timestamps.
Example
[ { "key_type": "ingest", "status": "active" }]Missing or invalid authentication
Internal server error