# List models

Retrieve a list of available AI models with their capabilities, pricing, and configuration details.

#### Query Parameters

**`ui_models_only`** boolean optional · Defaults to `false`

Filter to show only UI-visible models. When `true`, returns only models that should be displayed in user interfaces.

**`include_pricing`** boolean optional · Defaults to `false`

Include pricing information for each model. When enabled, returns per-model synapse pricing (`input_price_per_1m_synapses`, `output_price_per_1m_synapses`, `consumption_synapses_per_second`, `currency`).

**`include_details`** boolean optional · Defaults to `false`

Include detailed model information (`provider`, `context_window`, `release_date`, `training_data_cutoff`, `added_to_aitronos_date`, `description`, `recommended_for`).

**`include_capabilities`** boolean optional · Defaults to `true`

Include model capabilities array (text_generation, vision, tool_calling, etc.).

**`include_deprecated`** boolean optional · Defaults to `false`

Include deprecated models in the response.

**`include_legacy`** boolean optional · Defaults to `false`

Include legacy models that may be phased out.

**`include_recent_usage`** boolean optional · Defaults to `false`

Include recent usage statistics for each model.

**`modality`** string optional

Filter by modality. One of `text`, `audio`, `image`, `video`, `avatar`. Chat pickers should pass `modality=text` to exclude non-chat models.

## Query parameters

**`assistant_id`** string optional

The assistant id.

**`organization_id`** string optional

The organization id.

## Returns

A list of [Model objects](/docs/api-reference/objects/model-object).

Basic

```bash cURL
curl "https://api.aitronos.com/v1/models" \
  -H "X-API-Key: $FREDDY_API_KEY"
```


```python Python
import os
import requests

api_key = os.environ["FREDDY_API_KEY"]

response = requests.get(
    "https://api.aitronos.com/v1/models",
    headers={"X-API-Key": api_key}
)

models = response.json()
print(f"Found {models['total_count']} models")
for model in models['models']:
    print(f"- {model['name']} ({model['id']})")
```


```javascript JavaScript
const apiKey = process.env.FREDDY_API_KEY;

const response = await fetch('https://api.aitronos.com/v1/models', {
  headers: {
    'X-API-Key': apiKey
  }
});

const models = await response.json();
console.log(`Found ${models.total_count} models`);
models.models.forEach(model => {
  console.log(`- ${model.name} (${model.id})`);
});
```

**Response:**


```json 200 OK
{
  "models": [
    {
      "id": "mdl_09adacc3e5d3",
      "key": "gpt-4o",
      "name": "GPT-4o",
      "is_visible_in_ui": true,
      "is_deprecated": false,
      "capabilities": ["text_generation", "vision", "tool_calling"]
    }
  ],
  "total_count": 1
}
```

With Pricing & Details

```bash cURL
curl "https://api.aitronos.com/v1/models?include_pricing=true&include_details=true" \
  -H "X-API-Key: $FREDDY_API_KEY"
```


```python Python
import os
import requests

api_key = os.environ["FREDDY_API_KEY"]

response = requests.get(
    "https://api.aitronos.com/v1/models",
    headers={"X-API-Key": api_key},
    params={
        "include_pricing": True,
        "include_details": True
    }
)

models = response.json()
for model in models['models']:
    p = model.get('pricing')
    if p:
        print(f"{model['name']}: {p['input_price_per_1m_synapses']} CHF/1M input, {p['output_price_per_1m_synapses']} CHF/1M output")
```


```javascript JavaScript
const apiKey = process.env.FREDDY_API_KEY;

const response = await fetch('https://api.aitronos.com/v1/models?include_pricing=true&include_details=true', {
  headers: {
    'X-API-Key': apiKey
  }
});

const models = await response.json();
models.models.forEach(model => {
  const p = model.pricing;
  if (p) {
    console.log(`${model.name}: ${p.input_price_per_1m_synapses} CHF/1M input, ${p.output_price_per_1m_synapses} CHF/1M output`);
  }
});
```

**Response:**


```json 200 OK
{
  "models": [
    {
      "id": "mdl_09adacc3e5d3",
      "key": "gpt-4o",
      "name": "GPT-4o",
      "description": "Most advanced multimodal model with vision, audio, and tool calling capabilities",
      "provider": "openai",
      "is_visible_in_ui": true,
      "is_deprecated": false,
      "context_window": 128000,
      "pricing": {
        "input_price_per_1m_synapses": 2.50,
        "output_price_per_1m_synapses": 10.00,
        "consumption_synapses_per_second": 1.0,
        "currency": "CHF"
      },
      "release_date": "2024-05-13T00:00:00Z",
      "training_data_cutoff": null
    }
  ],
  "total_count": 1
}
```

Minimal Response

```bash cURL
curl "https://api.aitronos.com/v1/models?include_capabilities=false" \
  -H "X-API-Key: $FREDDY_API_KEY"
```


```python Python
import os
import requests

api_key = os.environ["FREDDY_API_KEY"]

response = requests.get(
    "https://api.aitronos.com/v1/models",
    headers={"X-API-Key": api_key},
    params={"include_capabilities": False}
)

models = response.json()
# Returns only: id, key, name, is_visible_in_ui, is_deprecated
```


```javascript JavaScript
const apiKey = process.env.FREDDY_API_KEY;

const response = await fetch('https://api.aitronos.com/v1/models?include_capabilities=false', {
  headers: {
    'X-API-Key': apiKey
  }
});

const models = await response.json();
// Returns only: id, key, name, is_visible_in_ui, is_deprecated
```

**Response:**


```json 200 OK
{
  "models": [
    {
      "id": "mdl_09adacc3e5d3",
      "key": "gpt-4o",
      "name": "GPT-4o",
      "is_visible_in_ui": true,
      "is_deprecated": false
    }
  ],
  "total_count": 1
}
```

Errors

```json 401 Unauthorized
{
  "success": false,
  "error": {
    "code": "AUTHENTICATION_REQUIRED",
    "message": "Authentication required. Please provide a valid API key.",
    "system_message": "Missing or invalid authorization header",
    "type": "authentication_error",
    "status": 401,
    "trace_id": "req_abc123xyz",
    "timestamp": "2025-11-11T10:30:00Z",
    "details": {}
  }
}
```


```json 403 Forbidden
{
  "success": false,
  "error": {
    "code": "INSUFFICIENT_PERMISSIONS",
    "message": "You do not have permission to access this resource.",
    "system_message": "Insufficient permissions for organization",
    "type": "authorization_error",
    "status": 403,
    "trace_id": "req_def456uvw",
    "timestamp": "2025-11-11T10:30:00Z",
    "details": {}
  }
}
```


```json 429 Rate Limit
{
  "success": false,
  "error": {
    "code": "RATE_LIMIT_EXCEEDED",
    "message": "Too many requests. Please try again later.",
    "system_message": "Rate limit exceeded for endpoint",
    "type": "rate_limit_error",
    "status": 429,
    "trace_id": "req_ghi789rst",
    "timestamp": "2025-11-11T10:30:00Z",
    "details": {}
  }
}
```


```json 500 Server Error
{
  "success": false,
  "error": {
    "code": "INTERNAL_ERROR",
    "message": "An unexpected error occurred. Please try again later.",
    "system_message": "Database connection timeout",
    "type": "server_error",
    "status": 500,
    "trace_id": "req_jkl012mno",
    "timestamp": "2025-11-11T10:30:00Z",
    "details": {}
  }
}
```

## Related Resources

- [Recently Used Models](/docs/api-reference/models/recent-usage)
- [Get Usage Analytics](/assets/get-usage.fa7defc6cb9b6d48300c08caa122c16e2b18e2e0891b48f9fcf2c379a598f3a1.96f20eaa.md)