Skip to content
TriedDocs
Account

List API keys

List every API key in the workspace with its masked value, scopes and limits.

GEThttps://api.tried.com.au/api-keys

Returns all API keys of the workspace, oldest first. Keys are shown masked: the plaintext is only returned once, by Create API key.

Request#

This endpoint takes no path, query or body parameters.

Example request#

curl https://api.tried.com.au/api-keys \
  -H "Authorization: Bearer $TRIED_API_KEY"
const res = await fetch("https://api.tried.com.au/api-keys", {
  headers: { Authorization: `Bearer ${process.env.TRIED_API_KEY}` },
});
const keys = await res.json();
import os, requests

res = requests.get(
    "https://api.tried.com.au/api-keys",
    headers={"Authorization": f"Bearer {os.environ['TRIED_API_KEY']}"},
)
keys = res.json()

Response#

200 OK

[
  {
    "api_key_id": "key_6f1c2a9e4b7d03581e2c9a47",
    "name": "Production backend",
    "masked_key": "key_3f9a********c41d",
    "is_webhook_key": true,
    "created_timestamp": 1758240000000,
    "last_used_timestamp": 1760917800000,
    "scopes": [],
    "allowed_ips": [],
    "rate_limit_per_minute": null
  },
  {
    "api_key_id": "key_0d8e4b1f7a2c96e53b0f1d84",
    "name": "Analytics export",
    "masked_key": "key_81c0********7e2a",
    "is_webhook_key": false,
    "created_timestamp": 1760313600000,
    "last_used_timestamp": null,
    "scopes": ["analytics"],
    "allowed_ips": ["203.0.113.10", "2001:db8::25"],
    "rate_limit_per_minute": 120
  }
]
Field Type Description
masked_key string First 8 characters of the key, 8 asterisks, then the last 4 characters.
is_webhook_key boolean Whether this key signs outgoing webhooks. At most one key has it set.
last_used_timestamp integer or null Last time the key authenticated a request. null if never used.
scopes string[] Scopes the key is limited to. An empty list means full access.
allowed_ips string[] Source IPs the key is accepted from. An empty list means any IP.
rate_limit_per_minute integer or null The key's own request limit. null uses the server default.

See Create API key for what each setting does.

Errors#

Status When
401 Missing or invalid API key.
403 The key's IP allowlist or scopes reject the request (this route needs the admin scope), or a dashboard member calls it (Requires role: admin or developer).
429 Rate limit exceeded. See Rate limits.

See Errors for the body format.