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

# endstate.publishableKeys.list

> Returns your active publishable keys, oldest first. If you have none, one is created automatically, so a first call always returns a usable key. A publishable key is safe to embed in browser code: it identifies your organization and grants no access by itself.

```ts theme={null}
list(query?: ListParams, options?: RequestOptions): Paginated<PublishableKey, ListPublishableKeysResponse>
```

|             |                                                                                     |
| ----------- | ----------------------------------------------------------------------------------- |
| Endpoint    | [`GET /v1/publishable-keys`](/api-reference/publishable-keys/list-publishable-keys) |
| Credential  | Secret key (`end_sk_...`)                                                           |
| Retry class | `read`                                                                              |

Retried on network failure, timeout, `429`, and `5xx`.

## Example

```ts theme={null}
const result = await endstate.publishableKeys.list();
```

## Parameters

<ParamField body="limit" type="integer">
  Maximum number of records to return. Defaults to 50; maximum 100.
</ParamField>

<ParamField body="cursor" type="string">
  Opaque cursor from the previous page.
</ParamField>

## Returns

`200` - `ListPublishableKeysResponse`.

<ResponseField name="publishable_keys" type="object[]" required />

<ResponseField name="pagination" type="object" required />

## Errors

Branch on `error.code`, never on the HTTP status - several codes share one.

| Code                | HTTP | Retry         |
| ------------------- | ---- | ------------- |
| `auth.unauthorized` | 401  | Do not retry  |
| `internal.error`    | 500  | Safe to retry |
| `validation.failed` | 400  | Do not retry  |

See [Errors and retries](/sdks/core/errors-and-retries) for the error types and how to narrow them.
