# List model selection options

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

Get display names, inference names, and capabilities for a model selector.

```text
GET https://billing.moi.matrixorigin.cn/api/v1/taas/models/select-options
```

## 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/models/select-options" \
  -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/models/select-options" \
  -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 |
| --- | --- | --- | --- |
| `type` | string | No | Filter by model type. |
| `status` | string | No | Filter by enabled status. |
| `q` | string | No | Search name, alias, description, series, type, or provider name. |
| `search` | string | No | Search term used when `q` is empty. |
| `pricing_status` | string | No | Pricing filter: `priced` or `unpriced`. |
| `logos` | string | No | Model series; repeat the parameter or separate values with commas. |
| `logo` | string | No | Alias for `logos`; values are combined. |
| `search_logos` | string | No | Add series matches to the search; repeat or comma-separate values. |
| `search_types` | string | No | Add type matches to the search; repeat or comma-separate values. |
| `context_max` | integer | No | Only models with a positive context window no greater than this value. |
| `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 model selection options.

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

```json
{
  "items": [
    {
      "id": "model_example",
      "display_name": "Example Chat",
      "model_id": "example-chat-model",
      "capabilities": [
        "chat"
      ],
      "debug_capabilities": []
    }
  ],
  "total": 1,
  "next_page_token": ""
}
```

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

| Field | Type | Description |
| --- | --- | --- |
| `items` | array of object | Records on this page. |
| `items[].id` | string | Catalog object ID. |
| `items[].display_name` | string | Alias if configured; otherwise the model name. |
| `items[].model_id` | string | Inference model name, corresponding to name in the model catalog. |
| `items[].capabilities` | array of string | Inference capabilities. |
| `items[].debug_capabilities` | array of string | Available debugging capabilities; omitted when empty. |
| `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.

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