# GET /client-tokens

**List client-side tokens**

Returns a paginated list of client-side tokens. Use the query parameters to [page through results](https://developer.paddle.com/api-reference/about/pagination).

**Required permissions:** `client_token.read`

## Query parameters

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `after` | string | optional | Return entities after the specified Paddle ID when working with paginated endpoints. Used in the `meta.pagination.next` URL in responses for list operations. |
| `per_page` | integer | optional | Set how many entities are returned per page. Paddle returns the maximum number of results if a number greater than the maximum is requested. Check `meta.pagination.per_page` in the response to see how many were returned.

Default: `50`; Maximum: `200`. (Max: 200) |
| `order_by` | string | optional | Order returned entities by the specified field and direction (`[ASC]` or `[DESC]`). For example, `?order_by=id[ASC]`.

Valid fields for ordering: `id`. |
| `status` | array | optional | Return entities that match the specified status. Use a comma-separated list to specify multiple status values. |

## Response (200)

- `data`: array (required)
- `meta`: object (required) — Information about this response.
  - `request_id`: string (required) — Unique ID for the request relating to this response. Provide this when contacting Paddle support about a specific request.
  - `pagination`: object (required) — Keys used for working with paginated results.
    - `per_page`: integer (required) — Number of entities per page for this response. May differ from the number requested if the requested number is greater than the maximum.
    - `next`: string (uri) (required) — URL containing the query parameters of the original request, along with the `after` parameter that marks the starting point of the next page. Always returned, even if `has_more` is `false`.
    - `has_more`: boolean (required) — Whether this response has another page.
    - `estimated_total`: integer — Estimated number of entities for this response.

### Response example

```json
{
  "data": [
    {
      "id": "ctkn_01jppmjcn2ydvfrf861sptq6zh",
      "token": "live_7d279f61a3499fed520f7cd8c08",
      "name": "In-app subscription management",
      "description": "Used to allow logged-in users to upgrade/downgrade their subscriptions directly within our web app's account settings.",
      "status": "active",
      "created_at": "2025-06-25T15:30:14.321Z",
      "updated_at": "2025-06-25T15:30:14.321Z",
      "revoked_at": null
    },
    {
      "id": "ctkn_01ghbkd0frb9k95cnhwd1bxpvk",
      "token": "live_7d279f61a3499fed520f7cd8c08",
      "name": "Pricing page integration",
      "description": "Used to display prices and open checkout within our pricing page on our marketing domain.",
      "status": "revoked",
      "created_at": "2025-06-26T14:36:14.695Z",
      "updated_at": "2025-06-27T11:26:10.253Z",
      "revoked_at": "2025-06-27T11:26:10.253Z"
    }
  ],
  "meta": {
    "request_id": "913dee78-d496-4d13-a93e-09d834c208dd",
    "pagination": {
      "per_page": 50,
      "next": "https://api.paddle.com/client-tokens?after=ctkn_01ghbkd0frb9k95cnhwd1bxpvk",
      "has_more": false,
      "estimated_total": 2
    }
  }
}
```
