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

# NexLLM Models API: List Available AI Models by Key

> Call GET /v1/models to retrieve the list of AI models available to your API key based on its assigned channel group, including GPT, Claude, and Gemini.

The Models endpoint returns every model your API key can access. Because NexLLM uses channel groups to control model access, the list you receive reflects the specific group assigned to your key — different keys may return different sets of models. Use this endpoint to programmatically discover available model IDs before making inference requests.

## Endpoint

```
GET https://www.nexllm.ai/v1/models
```

This endpoint requires no request body. Include your API key in the `Authorization` header as usual.

## Response Fields

<ResponseField name="data" type="array">
  An array of model objects representing every model accessible to your API key.
</ResponseField>

<ResponseField name="data[].id" type="string">
  The unique identifier for the model. Pass this value as the `model` parameter in chat, embeddings, and other inference requests. Examples: `gpt-4o`, `aws/claude-haiku-4-5`, `gemini-2.5-flash`.
</ResponseField>

<ResponseField name="data[].owned_by" type="string">
  The organization that owns or provides the underlying model, such as `openai`, `anthropic`, or `google`.
</ResponseField>

## Code Examples

<CodeGroup>
  ```python Python theme={null}
  from openai import OpenAI

  client = OpenAI(
      api_key="sk-xxxxxxxxxxxxxxxx",
      base_url="https://www.nexllm.ai/v1"
  )

  models = client.models.list()

  for model in models.data:
      print(model.id)
  ```

  ```bash curl theme={null}
  curl https://www.nexllm.ai/v1/models \
    -H "Authorization: Bearer sk-xxxxxxxxxxxxxxxx"
  ```
</CodeGroup>

### Example Response

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "id": "gpt-4o",
      "object": "model",
      "owned_by": "openai"
    },
    {
      "id": "aws/claude-haiku-4-5",
      "object": "model",
      "owned_by": "anthropic"
    },
    {
      "id": "gemini-2.5-flash",
      "object": "model",
      "owned_by": "google"
    }
  ]
}
```

<Note>
  The models returned depend on the channel group assigned to your API key. If you expect to see a model that isn't appearing in the list, confirm that your key's group includes that model. Use an API key assigned to the `default` group to see all models available on the platform.
</Note>

<Tip>
  Want to understand how channel groups control model access? Visit the [Channel Groups overview](/channel-groups/overview) to learn how to assign the right group to your API keys.
</Tip>
