# List of Available Models on the Parasail Platform

This endpoint works on the standard gateway and serves both the chat completions and Responses APIs.

## Endpoint

```
GET https://api.parasail.io/v1/models
```

## Authentication

Pass your API key in the `Authorization` header:

```
Authorization: Bearer <PARASAIL_API_KEY>
```

See [Authentication](https://docs.parasail.io/parasail-docs/api-reference/authentication) for how to create and store a key.

## Request

### cURL

```
curl https://api.parasail.io/v1/models \
  -H "Authorization: Bearer $PARASAIL_API_KEY"
```

### Python (OpenAI SDK)

```
from openai import OpenAI

client = OpenAI(
    base_url="https://api.parasail.io/v1",
    api_key="<PARASAIL_API_KEY>"
)

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

## Response

A successful request returns a list of model objects:

```
{
  "object": "list",
  "data": [
    {
      "id": "parasail-deepseek-r1",
      "object": "model",
      "created": 1727900000,
      "owned_by": "parasail"
    }
  ]
}
```

### Field Descriptions

| Field          | Description                                               |
|----------------|-----------------------------------------------------------|
| `data[].id`    | Model ID to pass as `model` in other requests            |
| `data[].object` | Always `model`                                          |
| `data[].owned_by` | Owner of the model                                    |

The list is returned in full in a single response—this endpoint is not paginated. See the [OpenAI models reference](https://platform.openai.com/docs/api-reference/models) for field semantics.

## Model Types

Parasail supports several types of models:

- **Serverless models**—prefixed with `parasail-` (for example, `parasail-deepseek-r1`). Available on the serverless tier with token-based pricing.

- **Dedicated deployments**—use the deployment name as the model ID. Available on dedicated instances.

- **HuggingFace models**—any HuggingFace transformer can be used with batch or dedicated endpoints by specifying the full HuggingFace ID (for example, `NousResearch/DeepHermes-3-Mistral-24B-Preview`).

## Error Responses

Errors use OpenAI-compatible status codes and a JSON body with an `error` object (`message`, `type`, `code`).

| Status Code | Description                                          |
|-------------|------------------------------------------------------|
| `401`      | Missing or invalid API key                           |
| `403`      | API key lacks access to list models                   |
| `429`      | Rate limit or quota exceeded—back off and retry      |
| `500`      | Internal server error—retry with exponential backoff |

## Next Steps

- [Chat completions API](https://docs.parasail.io/parasail-docs/api-reference/chat-completions)—use a model ID to run inference  
- [Serverless overview](https://docs.parasail.io/parasail-docs/products/overview)—list of available serverless models  
- [Model selection](https://docs.parasail.io/parasail-docs/guides/model-recommendations)—choose models by workload and check availability  
- [Pricing](https://docs.parasail.io/parasail-docs/billing/pricing)—pricing by model parameter count
