List API keys

The API keys you have created in this organization: what each one is called, what it may do, when it expires and when it was last used. Secrets never appear here — you see a secret once, when the key is created. You can hold ten keys at a time, so this list is always short. `last_used_at` is the quick way to spot a key that is no longer used. It can be a minute or so behind. Requires the `api-keys.read` permission.

GET
/api-keys
AuthorizationBearer <token>

The access token returned after a successful sign-in, sent as Authorization: Bearer <access_token>.

It identifies the person and the organization they are working in, and it lasts about fifteen minutes. When it runs out, use their refresh token at POST /auth/refresh-token instead of asking them to sign in again.

In: header

Query Parameters

name?string

Return only keys with this exact name.

limit?integer

How many keys to return. Values above 10 are treated as 10.

Default10
Formatint64
Range1 <= value <= 10
next?string

Cursor for the next page, taken verbatim from the previous response.

Response Body

application/json

application/json

application/json

application/json

curl -X GET "https://api.dual.network/api-keys"
{
  "keys": [
    {
      "id": "665f1c2d4b1a2c3d4e5f6a60",
      "name": "ci-deploy",
      "permissions": [
        {
          "resource": "objects",
          "crud": {
            "read": true,
            "create": false,
            "update": false,
            "delete": false
          }
        }
      ],
      "expires_at": "2027-02-14T08:00:00Z",
      "last_used_at": "2026-03-06T07:41:00Z",
      "when_created": "2026-02-14T08:00:00Z",
      "when_modified": "2026-02-14T08:00:00Z"
    }
  ]
}
{
  "code": 3,
  "message": "Key: 'limit' Error:Field validation for 'limit' failed on the 'lte' tag"
}

{
  "code": 16,
  "message": "no auth provided"
}

{
  "code": 13,
  "message": "internal error"
}