---
title: "Get Api Keys"
method: GET
path: "/v1/admin/api-keys"
tags: ["beta.admin.api-keys"]
---

# Get Api Keys

`GET /v1/admin/api-keys`

List API keys for the Organization.

## Query parameters

- `limit` integer — Maximum number of results to return.
- `offset` integer — Number of results to skip before returning results.

## Response `200`

OK

- APIKeysExtendedOUT
  - `keys` APIKeyExtendedOUT[], required — API keys for the Organization.
    - `key_id` string, uuid, required — API key ID.
    - `key` string, nullable, required — Plaintext API key value. Only returned at creation time.
    - `name` string, nullable, required — Name of the API key.
    - `hidden_key` string, required — Masked API key value for display.
    - `created_at` string, date-time, nullable, required — Time when the API key was created.
    - `expiration_date` string, date, nullable, required — Date when the API key expires.
    - `actions` APIKeyActions, required — Per-action availability for an API key, keyed by action name. This is the generic, reusable shape for surfacing what a viewer may do with a resource on get/list endpoints: each action maps to a value that is either available or unavailable with an optional reason code. Add fields here as more actions are exposed. Every action is opt-in: fields default to ``None`` (the action is absent), and an absent action means "unavailable, with no specified reason". An action is only available when a producer explicitly sets it to ``ActionAvailable``. This keeps permissions opt-in rather than opt-out, so forgetting to populate an action can never accidentally expose it.
      - `rotate` union
        - ActionAvailable — The viewer may perform the action on the resource.
          - `status` 'available'
        - ActionUnavailableRotateUnavailableReason
          - `status` 'unavailable'
          - `reason` 'unsupported_scope' | 'key_expired' | 'not_allowed' — Machine-readable reason why an API key cannot be rotated. This is the single field shared across services to describe rotation eligibility. An absent reason (None) means the key can be rotated; any value means it cannot, and identifies why so consumers (e.g. the dashboard rotate button) can show an appropriate message without hardcoding the rules. Consumers should treat unknown values as "rotation unavailable". Reasons fall into three kinds. Scope-based reasons are immutable (a function of the key's scope alone) and are owned by services that hold the key, e.g. Albe. Key-state reasons depend on the key's own state (e.g. expiry) and are likewise determined where the key lives. Permission-based reasons are request-scoped (they depend on who is asking) and can only be determined where the acting user is known, e.g. the dashboard. When several reasons apply, precedence runs immutable scope-based, then key-state, then request-scoped permission.
      - `delete` union
        - ActionAvailable — The viewer may perform the action on the resource.
          - `status` 'available'
        - ActionUnavailableDeleteUnavailableReason
          - `status` 'unavailable'
          - `reason` 'not_allowed' — Machine-readable reason why an API key cannot be deleted. Deletion eligibility currently turns on a single request-scoped permission: whether the acting user may delete (archive) the key. The reason is therefore determined where the acting user is known (e.g. the dashboard), not from the key's scope or state. Consumers should treat unknown values as "delete unavailable".
    - `workspace_id` string, uuid, nullable, required — Workspace ID for the API key.
    - `workspace_name` string, nullable, required — Name of the Workspace for the API key.
    - `created_by` string, nullable, required — User or API key that created this API key.
    - `product` 'API' | 'Mistral Code' | 'Vibe', required
    - `last_used` string, date, nullable, required — Date when the API key was last used.
    - `can_delete` boolean, nullable, required — Whether you can delete this API key.

---

[API](https://skmtc.net/mistral/apis/mistral-ai-api.md) · [All operations](https://skmtc.net/mistral/apis/mistral-ai-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/mistral/mistral-ai-api/versions/933c4ebdcd72/schema)
