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

# List API keys

`GET /v1/api-keys`

## Request

- Base URL: `https://api.mailbeast.ai`
- URL: `https://api.mailbeast.ai/v1/api-keys`
- Auth: HTTP bearer

All keys in the caller’s workspace, with masked prefixes (no secrets).

Requires the `apikeys:manage` scope, which no wildcard grants and which can only be created from the dashboard.

## Response `200`

- ApiKeyListResponseDto
  - `data` ApiKeySummaryDto[], required
    - `id` string, uuid, required
    - `name` string, required
    - `keyPrefix` string, required: Masked prefix - the full secret is only shown once, at creation.
    - `scopes` string[], required
    - `environment` 'live' | 'test', required
    - `lastUsedAt` string, date-time, nullable, required
    - `expiresAt` string, date-time, nullable, required
    - `revokedAt` string, date-time, nullable, required: Always null: a deleted key is removed, not kept as revoked.
    - `createdAt` string, date-time, required

## Other responses

- `401`: Missing or invalid API key.
- `403`: The key lacks a required scope, or the plan does not include API access.
- `429`: Rate limit exceeded - retry after the interval in the Retry-After header.

---

[API](https://skmtc.dev/mailbeast/apis/mailbeast-public-api.md) · [All operations](https://skmtc.dev/mailbeast/apis/mailbeast-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/mailbeast/apis/mailbeast-public-api/revisions/6440ce0738a4?raw)
