# List the model catalog

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

List names, capabilities, prices, and enabled status for models visible to the current user.

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

## 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" \
  -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" \
  -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. |
| `health_status` | string | No | Health filter; all applies no restriction. |
| `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 model catalog visible to the current user.

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

```json
{
  "items": [
    {
      "id": "model_example",
      "name": "example-chat-model",
      "alias": "Example Chat",
      "logo": "example",
      "description": "Example chat model.",
      "type": "chat",
      "native_types": [
        "chat"
      ],
      "capabilities": [
        "chat"
      ],
      "context_window": 32768,
      "input_price_per_million": "0",
      "output_price_per_million": "0",
      "cache_creation_price_per_million": "0",
      "cache_hit_price_per_million": "0",
      "ocr_price_per_page": "0",
      "image_price_per_image": "0",
      "image_hd_price_per_image": "0",
      "video_price_per_second": "0",
      "video_hd_price_per_second": "0",
      "tts_price_per_10k_chars": "0",
      "tts_hd_price_per_10k_chars": "0",
      "asr_price_per_minute": "0",
      "asr_realtime_price_per_minute": "0",
      "currency": "CNY",
      "parameters": "7B",
      "max_output_tokens": 8192,
      "visibility": "public",
      "allowed_user_ids": [
        "user_example"
      ],
      "status": "enabled",
      "health_status": "healthy",
      "created_at": 1788710400,
      "updated_at": 1788710400
    }
  ],
  "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, used for management queries such as model health. |
| `items[].name` | string | Model name used in inference requests. |
| `items[].alias` | string | Display alias; omitted when unset. |
| `items[].logo` | string | Model series identifier; omitted when unset. |
| `items[].description` | string | Model description; omitted when unset. |
| `items[].type` | string | Model type. |
| `items[].native_types` | array of string | Associated native model types; omitted when unset. |
| `items[].capabilities` | array of string | Supported inference capabilities; omitted when unset. |
| `items[].context_window` | integer | Context window in tokens; omitted when unset. |
| `items[].input_price_per_million` | string | Price per million input tokens. Omitted when unset. |
| `items[].output_price_per_million` | string | Price per million output tokens. Omitted when unset. |
| `items[].cache_creation_price_per_million` | string | Price per million cache-creation tokens. Omitted when unset. |
| `items[].cache_hit_price_per_million` | string | Price per million cache-read tokens. Omitted when unset. |
| `items[].ocr_price_per_page` | string | OCR price per page. Omitted when unset. |
| `items[].image_price_per_image` | string | Price per image. Omitted when unset. |
| `items[].image_hd_price_per_image` | string | Price per HD image. Omitted when unset. |
| `items[].video_price_per_second` | string | Price per second of video. Omitted when unset. |
| `items[].video_hd_price_per_second` | string | Price per second of HD video. Omitted when unset. |
| `items[].tts_price_per_10k_chars` | string | TTS price per 10,000 characters. Omitted when unset. |
| `items[].tts_hd_price_per_10k_chars` | string | HD TTS price per 10,000 characters. Omitted when unset. |
| `items[].asr_price_per_minute` | string | ASR price per minute. Omitted when unset. |
| `items[].asr_realtime_price_per_minute` | string | Real-time ASR price per minute. Omitted when unset. |
| `items[].currency` | string | Currency of model prices. |
| `items[].parameters` | string | Model parameter-size description; omitted when unset. |
| `items[].max_output_tokens` | integer | Maximum output tokens; omitted when unset. |
| `items[].visibility` | string | Model visibility. |
| `items[].allowed_user_ids` | array of string | User IDs permitted for a private model; omitted when unset. |
| `items[].status` | string | Model enabled status. |
| `items[].health_status` | string | Latest aggregate model health status. |
| `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 endpoint applies the current user’s catalog visibility. Use the inference model name when calling a model; the Genesis model list identifies the models available to the inference credential.

## Next steps

Use an item’s id to [Get model health](get-model-health.md).
