---
title: "Lists all keys (never includes key material or hashes)."
method: GET
path: "/admin/keys"
tags: ["admin"]
---

# Lists all keys (never includes key material or hashes).

`GET /admin/keys`

## Request

- Base URL: `https://api.mapmap.ai`
- URL: `https://api.mapmap.ai/admin/keys`
- Auth: HTTP bearer

## Response `200`

All keys, newest first

- ApiKeyRecord[]
  - `allowed_origins` string[], nullable: Origins this key may be called from (see [`crate::origin`]). Omitted when the key is unrestricted, which is the default.
  - `created_at` string, required: RFC 3339 creation timestamp (UTC).
  - `expires_at` string, nullable: RFC 3339 expiry (provisional keys only).
  - `first_success_at` string, nullable: RFC 3339 timestamp of the key's first successful (2xx) metered API call (the activation event) or `null` if it has never had one.
  - `id` string, required: Opaque key id (UUID v4).
  - `monthly_quota` integer, required: Requests allowed per calendar month.
  - `name` string, required: Human-readable key name.
  - `rate_per_min` integer, required: Requests allowed per minute.
  - `revoked_at` string, nullable: RFC 3339 revocation timestamp, if revoked.
  - `scope` string, nullable: [`SCOPE_MAPS`] when the key is map-scoped; omitted for the full surface, which is the default.
  - `state` string, required: Lifecycle state: `admin`, `provisional` or `verified`.

## Other responses

- `401`: Missing or wrong admin token

---

[API](https://skmtc.dev/mapmap/apis/sn-gateway.md) · [All operations](https://skmtc.dev/mapmap/apis/sn-gateway/llms.txt) · [OpenAPI document](https://skmtc.dev/mapmap/apis/sn-gateway/revisions/2293be8b4c38?raw)
