Source: https://datafa.st/docs/api/account/website-keys/list
Markdown source: https://datafa.st/docs/api/account/website-keys/list.md
Description: List df_ website API keys.

# List website keys

`GET https://datafa.st/api/v1/admin/websites/{websiteId}/apikeys`

List df_ website API keys.

## Request

### Authentication

- `dft_` account token with `api-keys:read`.


### Path parameters

| Parameter | Type | Description |
| --- | --- | --- |
| `websiteId` | string | Website ObjectId used by account tokens to choose which website to query or manage. Website ObjectId. The caller token must have access to this website. |

## Response

Returns a JSON object with `status` and endpoint-specific fields.

### Response fields

| Field | Type | Description |
| --- | --- | --- |
| `data[]._id` | string | Website API key ObjectId. |
| `data[].name` | string|null | Human-readable name for the resource or event. The exact meaning depends on the endpoint. |
| `data[].displayKey` | string | Masked key shown in the dashboard. |
| `data[].websiteId` | string | Website ObjectId used by account tokens to choose which website to query or manage. |
| `data[].lastUsedAt` | string|null | Last usage timestamp. |
| `data[].createdAt` | string | Creation timestamp. |
| `data[].key` | string | Only returned when creating or rolling a key. Full raw key shown once. |

### Errors

Common errors include `400` for invalid input, `401` for missing or invalid tokens, `403` for missing permissions or website access, `404` for missing resources, and `500` for server errors.

## Code examples

### Example request

```bash
curl -X GET "https://datafa.st/api/v1/admin/websites/{websiteId}/apikeys" \
  -H "Authorization: Bearer dft_xxx"
```

### Success response

```json
{
  "status": "success",
  "data": [{
    "_id": "665f0b3c4d2e1a0012345678",
    "name": "Production key",
    "displayKey": "df_ab12...xyz9",
    "websiteId": "665f0b3c4d2e1a0012345678",
    "lastUsedAt": null,
    "createdAt": "2026-05-21T00:00:00.000Z"
  }]
}
```
