---
title: "List API keys"
method: GET
path: "/v1beta/api-keys"
tags: ["API Keys"]
---

# List API keys

`GET /v1beta/api-keys`

Lists API keys for an organization.

## Query parameters

- `organization_id` string, required — Organization ID to list keys for. Pattern: org_[0-9a-hjkmnp-tv-z]{26}
- `include_revoked` boolean — Whether to include revoked keys in the response. Default: false (only active and expired-but-not-revoked keys are returned). When true, all keys including revoked ones are returned. Note: Expired keys are always included unless also revoked; use is_active to filter.
- `page_token` string — Opaque pagination token from a previous response.
- `page_size` integer — Maximum number of items to return per page (1-100). Default: 50.

## Response `200`

Success

- ListApiKeysResponse — ListApiKeysResponse contains a page of API keys.
  - `items` ApiKey[] — List of API keys (secrets are never included).
    - `created_at` string, date-time, required — Timestamp when the key was created.
    - `expires_at` string, date-time — Expiration timestamp. If set, the key becomes invalid after this time.
    - `id` string, required — Unique ID for the API key. Pattern: key_[0-9a-hjkmnp-tv-z]{26}
    - `is_active` boolean, required — Whether the key is currently active (not revoked and not expired). Computed: is_active = (revoked_at == null) && (expires_at == null || expires_at > now())
    - `key_prefix` string, required — Truncated key prefix for identification in UI (e.g., "ffy_prod_01jd4h5..."). Shows the first 16 characters for better uniqueness while maintaining security.
    - `name` string, required — Human-readable name for the key (e.g., "Production", "Staging").
    - `organization_id` string, required — ID of the organization this key belongs to. Pattern: org_[0-9a-hjkmnp-tv-z]{26}
    - `revoked_at` string, date-time — Timestamp when the key was revoked. Null if the key has not been revoked.
  - `pagination` Pagination, required — Pagination contains cursor-based pagination metadata. Follows Google AIP-158 for pagination field naming.
    - `has_more` boolean — Whether there are more results in the forward direction.
    - `next_page_token` string — Token to retrieve the next page of results. Empty if there are no more results in the forward direction.
    - `prev_page_token` string — Token to retrieve the previous page of results. Empty if this is the first page.

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication failed - missing or invalid API key
- `403` — Authorization failed - valid key but insufficient permissions
- `404` — Resource not found
- `429` — Too many requests
- `500` — Internal server error

---

[API](https://skmtc.net/factify-inc/apis/factify-api.md) · [All operations](https://skmtc.net/factify-inc/apis/factify-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/factify-inc/factify-api/revisions/8baabdfb82bf/schema)
