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

# List Models

> List all available models

```
GET /v1/models
```

Lists all models available through VoidAI. This endpoint does not require authentication.

## Response

<ResponseField name="object" type="string">
  Always `list`.
</ResponseField>

<ResponseField name="data" type="array">
  Array of model objects.

  <Expandable title="Model object">
    <ResponseField name="id" type="string">
      The model identifier (used in API requests).
    </ResponseField>

    <ResponseField name="object" type="string">
      Always `model`.
    </ResponseField>

    <ResponseField name="created" type="integer">
      Unix timestamp of when the model was added.
    </ResponseField>

    <ResponseField name="owned_by" type="string">
      The organization that owns the model.
    </ResponseField>
  </Expandable>
</ResponseField>

## Examples

### List All Models

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

  client = OpenAI(
      api_key="sk-voidai-your_key_here",
      base_url="https://api.voidai.app/v1"
  )

  models = client.models.list()

  for model in models.data:
      print(f"{model.id} - {model.owned_by}")
  ```

  ```typescript TypeScript theme={null}
  import OpenAI from 'openai';

  const client = new OpenAI({
    apiKey: 'sk-voidai-your_key_here',
    baseURL: 'https://api.voidai.app/v1'
  });

  const models = await client.models.list();

  for (const model of models.data) {
    console.log(`${model.id} - ${model.owned_by}`);
  }
  ```

  ```bash cURL theme={null}
  curl https://api.voidai.app/v1/models
  ```
</CodeGroup>

### Filter by Provider

```python theme={null}
from openai import OpenAI

client = OpenAI(
    api_key="sk-voidai-your_key_here",
    base_url="https://api.voidai.app/v1"
)

models = client.models.list()

# Group by provider
providers = {}
for model in models.data:
    provider = model.owned_by
    if provider not in providers:
        providers[provider] = []
    providers[provider].append(model.id)

# Print models by provider
for provider, model_ids in sorted(providers.items()):
    print(f"\n{provider}:")
    for model_id in sorted(model_ids):
        print(f"  - {model_id}")
```

## Response Example

```json theme={null}
{
  "object": "list",
  "data": [
    {
      "id": "gpt-4",
      "object": "model",
      "created": 1687882411,
      "owned_by": "openai"
    },
    {
      "id": "gpt-4o",
      "object": "model",
      "created": 1715367049,
      "owned_by": "openai"
    },
    {
      "id": "claude-3-5-sonnet",
      "object": "model",
      "created": 1718841600,
      "owned_by": "anthropic"
    },
    {
      "id": "gemini-2.0-flash",
      "object": "model",
      "created": 1701388800,
      "owned_by": "google"
    },
    {
      "id": "mistral-large",
      "object": "model",
      "created": 1708300800,
      "owned_by": "mistral"
    },
    {
      "id": "deepseek-chat",
      "object": "model",
      "created": 1704067200,
      "owned_by": "deepseek"
    }
  ]
}
```

## Available Providers

VoidAI supports models from multiple providers:

| Provider    | Examples                                               |
| ----------- | ------------------------------------------------------ |
| OpenAI      | `gpt-4`, `gpt-4o`, `gpt-3.5-turbo`, `dall-e-3`         |
| Anthropic   | `claude-3-5-sonnet`, `claude-3-opus`, `claude-3-haiku` |
| Google      | `gemini-2.0-flash`, `gemini-1.5-pro`                   |
| Mistral     | `mistral-large`, `mistral-medium`, `mistral-small`     |
| DeepSeek    | `deepseek-chat`, `deepseek-coder`                      |
| And more... | Check the full list via the API                        |

<Info>
  Model availability may vary. Use this endpoint to get the current list of available models.
</Info>
