# List local token keys

```{raw} html
<div class="mo-api-page-show-toc" aria-hidden="true"></div>
```

List the current user’s TaaS local keys, call limits, and quotas without returning raw secrets.

```text
GET https://billing.moi.matrixorigin.cn/api/v1/taas/token-keys
```

## Before you begin

Prepare a personal access token. For creation and management, see [Manage personal access tokens](../../../../../guides/billing/credentials.md#personal-access-token).

Results are scoped to data accessible to the current user.

## Query parameters

Replace `$MOI_PERSONAL_ACCESS_TOKEN` in the example with your personal access token.

:::::::{div} mo-api-tabs
::::::{tab-set}
:::::{tab-item} Request example

```bash
curl --get "https://billing.moi.matrixorigin.cn/api/v1/taas/token-keys" \
  -H "X-API-Key: $MOI_PERSONAL_ACCESS_TOKEN" \
  --data-urlencode "page_size=2"
```

Save the returned `next_page_token` as `$NEXT_PAGE_TOKEN`, retain the same filters, and request the next page. Stop when this value is empty or omitted.

```bash
curl --get "https://billing.moi.matrixorigin.cn/api/v1/taas/token-keys" \
  -H "X-API-Key: $MOI_PERSONAL_ACCESS_TOKEN" \
  --data-urlencode "page_size=2" \
  --data-urlencode "page_token=$NEXT_PAGE_TOKEN"
```

:::::
:::::{tab-item} Parameters

::::{div} mo-api-parameter-table

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `status` | string | No | Status filter; `disabled` includes both `disabled` and `revoked`. |
| `name` | string | No | Case-insensitive substring match on the name. |
| `page_size` | integer | No | Page size; default 100, maximum 1000. |
| `page_token` | string | No | Next-page token from the previous response; omit for the first request. |

::::

:::::
::::::
:::::::

## Successful response

Returns HTTP `200` with the current page of local keys and pagination information.

:::::::{div} mo-api-tabs mo-api-response-tabs
::::::{tab-set}
:::::{tab-item} Response example

```json
{
  "items": [],
  "total": 0,
  "next_page_token": ""
}
```

:::::
:::::{tab-item} Fields

| Field | Type | Description |
| --- | --- | --- |
| `items` | array of object | Records on this page. |
| `items[].id` | string | TaaS local token key ID. |
| `items[].user_id` | string | Owning user ID. |
| `items[].name` | string | Key name. |
| `items[].key_prefix` | string | Key prefix. |
| `items[].status` | string | Key status. |
| `items[].remark` | string | Key remark, when present. |
| `items[].concurrency_limit` | integer | Concurrent request limit. |
| `items[].rpm_limit` | integer | Requests-per-minute limit. |
| `items[].tpm_limit` | integer | Tokens-per-minute limit. |
| `items[].daily_budget_limit` | string | Daily quota limit. Returned when populated. |
| `items[].daily_used_quota` | string | Quota used `today`. Returned when populated. |
| `items[].total_quota` | string | Total quota limit. Returned when populated. |
| `items[].used_quota` | string | Cumulative used quota. Returned when populated. |
| `items[].remaining_quota` | string | Remaining quota. Returned when populated. |
| `items[].allowed_models` | array of string | Allowed catalog model object IDs. |
| `items[].allowed_model_names` | array of string | Display names of allowed models, preferring aliases; returned when populated. |
| `items[].expires_at` | integer or null | Expiry time, Unix seconds; `null` when unset. |
| `items[].last_called_at` | integer or null | Last call time, Unix seconds; `null` without a recorded call. |
| `items[].created_at` | integer | Creation time, Unix seconds. |
| `items[].updated_at` | integer | Update time, Unix seconds. |
| `total` | integer | Total records matching the filters. |
| `next_page_token` | string | Next-page token; empty or omitted on the last page. |

In field paths, `[]` denotes each array item.

:::::
::::::
:::::::

This list contains keys issued locally by TaaS. Personal access tokens and service-account keys are managed on the Access Credentials page.
