> ## Documentation Index
> Fetch the complete documentation index at: https://docs.vouchmark.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List API keys

> List your API keys per environment.

Returns your API keys. Secret keys are never returned in full here — only a non-reversible `secretPrefix` and `secretSuffix` for identification. The full secret is shown once, at rotation time.

## Query parameters

<ParamField query="environment" type="string">
  Filter by environment. One of `sandbox` or `live`.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl "https://api.vouchmark.com/v1/developers/api-keys?environment=live" \
    -H "Authorization: Bearer $TOKEN"
  ```
</RequestExample>

<ResponseExample>
  ```json theme={null}
  {
    "success": true,
    "data": [
      {
        "id": "...",
        "environment": "live",
        "publicKey": "live_pk_...",
        "secretPrefix": "live_sk_xxxx",
        "secretSuffix": "abc",
        "rotatedAt": "...",
        "createdAt": "..."
      }
    ]
  }
  ```
</ResponseExample>

## Response fields

<ResponseField name="success" type="boolean" />

<ResponseField name="data" type="object[]">
  <Expandable title="apiKey">
    <ResponseField name="id" type="string" />

    <ResponseField name="environment" type="string">
      One of `sandbox` or `live`.
    </ResponseField>

    <ResponseField name="publicKey" type="string">
      Full public key. Prefixed `live_pk_` (live) or `test_pk_` (sandbox).
    </ResponseField>

    <ResponseField name="secretPrefix" type="string">
      First 12 characters of the secret, for identification.
    </ResponseField>

    <ResponseField name="secretSuffix" type="string | null">
      Last 3 characters of the secret. May be `null`.
    </ResponseField>

    <ResponseField name="rotatedAt" type="string" />

    <ResponseField name="createdAt" type="string" />
  </Expandable>
</ResponseField>
