curl "https://api.lumenfall.ai/v1/keys" \
-H "Authorization: Bearer $LUMENFALL_API_KEY"
curl "https://api.lumenfall.ai/v1/keys?status=active" \
-H "Authorization: Bearer $LUMENFALL_API_KEY"
import requests
response = requests.get(
"https://api.lumenfall.ai/v1/keys",
headers={"Authorization": "Bearer your-lumenfall-api-key"},
params={"status": "active"},
)
data = response.json()
for key in data["data"]:
print(f"{key['name']} ({key['last_four']}) — {key['status']}")
const response = await fetch("https://api.lumenfall.ai/v1/keys?status=active", {
headers: { Authorization: "Bearer your-lumenfall-api-key" },
});
const data = await response.json();
for (const key of data.data) {
console.log(`${key.name} (${key.last_four}) — ${key.status}`);
}
{
"object": "list",
"data": [
{
"id": "2m4jLFHhkN1i4VrVHpjJqCOKlPw",
"object": "key",
"name": "Production",
"last_four": "a1b2",
"status": "active",
"created_at": "2026-03-10T09:15:00.000Z",
"revoked_at": null
},
{
"id": "2m4jKEGfmR8h3UqTGnhHpBNkMOx",
"object": "key",
"name": "Staging",
"last_four": "c3d4",
"status": "revoked",
"created_at": "2026-02-01T12:00:00.000Z",
"revoked_at": "2026-03-05T18:30:00.000Z"
}
],
"next_page_url": null,
"previous_page_url": null
}
Billing
List API keys
Retrieve a paginated list of your organization’s API keys
GET
/
v1
/
keys
curl "https://api.lumenfall.ai/v1/keys" \
-H "Authorization: Bearer $LUMENFALL_API_KEY"
curl "https://api.lumenfall.ai/v1/keys?status=active" \
-H "Authorization: Bearer $LUMENFALL_API_KEY"
import requests
response = requests.get(
"https://api.lumenfall.ai/v1/keys",
headers={"Authorization": "Bearer your-lumenfall-api-key"},
params={"status": "active"},
)
data = response.json()
for key in data["data"]:
print(f"{key['name']} ({key['last_four']}) — {key['status']}")
const response = await fetch("https://api.lumenfall.ai/v1/keys?status=active", {
headers: { Authorization: "Bearer your-lumenfall-api-key" },
});
const data = await response.json();
for (const key of data.data) {
console.log(`${key.name} (${key.last_four}) — ${key.status}`);
}
{
"object": "list",
"data": [
{
"id": "2m4jLFHhkN1i4VrVHpjJqCOKlPw",
"object": "key",
"name": "Production",
"last_four": "a1b2",
"status": "active",
"created_at": "2026-03-10T09:15:00.000Z",
"revoked_at": null
},
{
"id": "2m4jKEGfmR8h3UqTGnhHpBNkMOx",
"object": "key",
"name": "Staging",
"last_four": "c3d4",
"status": "revoked",
"created_at": "2026-02-01T12:00:00.000Z",
"revoked_at": "2026-03-05T18:30:00.000Z"
}
],
"next_page_url": null,
"previous_page_url": null
}
Returns a paginated list of API keys for your organization, sorted newest first.
This endpoint uses the native Lumenfall API path (
/v1/keys), not the OpenAI-compatible prefix (/openai/v1).Query parameters
integer
default:"20"
Number of results to return per page. Minimum 1, maximum 100.
string
Cursor for forward pagination. Returns results after the key with this ID.
Use the
next_page_url from a previous response instead of constructing this manually.string
Cursor for backward pagination. Returns results before the key with this ID.
Cannot be combined with
starting_after.string
Filter keys by status. One of
active or revoked. When omitted, both active and revoked keys are returned.Response
string
Always
list.array
Array of key objects, sorted newest first.
Show Key object
Show Key object
string
Unique key identifier (e.g.,
2m4jLFHhkN1i4VrVHpjJqCOKlPw).string
Always
key.string | null
Human-readable name for the key, or
null if unnamed.string | null
Last four characters of the API key for identification.
string
Key status —
active or revoked.string
When the key was created, as an ISO 8601 datetime.
string | null
When the key was revoked, as an ISO 8601 datetime.
null for active keys.string | null
URL to fetch the next page of results.
null when there are no more results.
Includes all original filters so you can follow it directly.string | null
URL to fetch the previous page of results.
null when on the first page.curl "https://api.lumenfall.ai/v1/keys" \
-H "Authorization: Bearer $LUMENFALL_API_KEY"
curl "https://api.lumenfall.ai/v1/keys?status=active" \
-H "Authorization: Bearer $LUMENFALL_API_KEY"
import requests
response = requests.get(
"https://api.lumenfall.ai/v1/keys",
headers={"Authorization": "Bearer your-lumenfall-api-key"},
params={"status": "active"},
)
data = response.json()
for key in data["data"]:
print(f"{key['name']} ({key['last_four']}) — {key['status']}")
const response = await fetch("https://api.lumenfall.ai/v1/keys?status=active", {
headers: { Authorization: "Bearer your-lumenfall-api-key" },
});
const data = await response.json();
for (const key of data.data) {
console.log(`${key.name} (${key.last_four}) — ${key.status}`);
}
{
"object": "list",
"data": [
{
"id": "2m4jLFHhkN1i4VrVHpjJqCOKlPw",
"object": "key",
"name": "Production",
"last_four": "a1b2",
"status": "active",
"created_at": "2026-03-10T09:15:00.000Z",
"revoked_at": null
},
{
"id": "2m4jKEGfmR8h3UqTGnhHpBNkMOx",
"object": "key",
"name": "Staging",
"last_four": "c3d4",
"status": "revoked",
"created_at": "2026-02-01T12:00:00.000Z",
"revoked_at": "2026-03-05T18:30:00.000Z"
}
],
"next_page_url": null,
"previous_page_url": null
}