---
title: "Your API keys"
method: GET
path: "/v1/keys"
tags: ["Account"]
---

# Your API keys

`GET /v1/keys`

## Request

- Base URL: `https://api.placementapi.com`
- URL: `https://api.placementapi.com/v1/keys`
- Auth: HTTP bearer

Secrets are never returned; `prefix` is enough to recognise a key. `current` marks the key making the request.

## Response `200`

OK

- object
  - `keys` object[]
    - `key_id` string
    - `name` string, nullable
    - `prefix` string
    - `created_at` string
    - `last_used_at` string, nullable
    - `revoked` boolean
    - `scopes` string[]
    - `can_order` boolean
    - `current` boolean

## Other responses

- `401`: Missing, malformed or revoked Bearer credential: `{ error: "unauthorized" }`.
- `403`: `insufficient_scope` when the key lacks the `order` scope; `customer_key_required` when the operator token is used where a customer must be attributable.
- `503`: `server_misconfigured` when the store is not configured; `upstream_unfunded` when the measurement provider's prepaid balance is exhausted (fresh profiles, gap maps and SERPs pause; cached results and catalogue are unaffected); `upstream_unavailable` on a provider error; `payments_unavailable` when card payments are not configured.

---

[API](https://skmtc.dev/placementapi/apis/placement-api.md) · [All operations](https://skmtc.dev/placementapi/apis/placement-api/llms.txt) · [OpenAPI document](https://skmtc.dev/placementapi/apis/placement-api/revisions/fc4e7866eaf7?raw)
