---
title: "List an application's API keys (secrets omitted)"
method: GET
path: "/applications/{id}/keys"
tags: ["Applications"]
---

# List an application's API keys (secrets omitted)

`GET /applications/{id}/keys`

## Request

- Base URL: `https://api.customdomain.ai/v1`
- URL: `https://api.customdomain.ai/v1/applications/{id}/keys`
- Auth: one of:
  - HTTP bearer
  - HTTP bearer

## Path parameters

- `id` string, required

## Response `200`

Keys (metadata only; the secret is never returned again)

- object
  - `keys` ApiKey[], required
    - `id` string, required
    - `application_id` string, required: The application the key belongs to.
    - `name` string, required
    - `prefix` string, required: The stored, non-secret prefix that identifies the key, for example cd_live_ab12cd34.
    - `environment` 'production' | 'staging' | 'development', required
    - `scopes` string[]
    - `is_default` boolean, required: true on the workspace default key (at most one active per workspace).
    - `last_used_at` string, date-time: When the key last authenticated a request. Absent until it has been used.
    - `created_at` string, date-time, required
    - `revoked_at` string, date-time: When the key was revoked. Absent while the key is active.

## Other responses

- `401`: Error envelope: {code, title, details}.
- `404`: Error envelope: {code, title, details}.

---

[API](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api.md) · [All operations](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/llms.txt) · [OpenAPI document](https://skmtc.dev/customdomain/apis/customdomain-control-plane-api/revisions/34d89cb7a7cd?raw)
