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

# List Models

> List available models with providers, context windows, and pricing.

## List All Models

Returns the current model catalog, including model IDs, context windows, providers, modalities, and token pricing.

```bash theme={null}
GET https://api.redpill.ai/v1/models
```

No API key is required to list models.

## Query parameters

<ParamField query="zdr" type="string">
  Set to `true` to return only models that can be served under zero data retention, meaning the
  upstream provider does not retain prompt or completion content.

  A model is included when at least one provider that can serve it operates under zero data
  retention. Listing a model here means a request for it with `provider: {"zdr": true}` can be
  routed. See [Zero data retention](/guides/zero-data-retention).

  `true` is the only accepted value. Any other value, including `false`, returns `400`. Omit the
  parameter to list the full catalog.
</ParamField>

```bash theme={null}
curl "https://api.redpill.ai/v1/models?zdr=true"
```

<ParamField query="tee" type="string">
  Set to `true` to return only models that are offered confidentially, meaning the model object
  carries `is_tee: true`.

  This filter reports a model's own capability. It does not promise that a given request will reach
  an attested provider, which depends on the deployment serving it. To require attestation for a
  request, send `provider: {"aci_verified": true}`. See
  [Attested routing](/guides/attested-routing).

  `true` is the only accepted value. Any other value, including `false`, returns `400`. Omit the
  parameter to list the full catalog.
</ParamField>

```bash theme={null}
curl "https://api.redpill.ai/v1/models?tee=true"
```

Both filters compose. Combining them returns models that satisfy each constraint.

Response entries have the same shape as the unfiltered catalog. There is no `zdr` field on a model
object: the filter is the way to read this property.

An invalid value returns `400`:

```json theme={null}
{
  "error": {
    "message": "Invalid 'zdr' query parameter. The only accepted value is 'true'; omit it for unfiltered results.",
    "type": "invalid_request_error"
  }
}
```

## Example

```bash theme={null}
curl https://api.redpill.ai/v1/models
```

<Note>
  Each model has an `is_tee` boolean. `is_tee: true` means the model can be served confidentially, on a
  verified TEE provider. The receipt remains the per-response proof. See
  [Confidential models](/confidential-ai/confidential-models).
</Note>

## Model Object Fields

| Field                      | Description                                                                                                  |
| -------------------------- | ------------------------------------------------------------------------------------------------------------ |
| `id`                       | Model identifier for API calls.                                                                              |
| `name`                     | Human-readable name.                                                                                         |
| `is_tee`                   | `true` if the model can be served confidentially, on a verified TEE provider.                                |
| `created`                  | Unix timestamp when the model was added.                                                                     |
| `context_length`           | Maximum context window.                                                                                      |
| `max_output_length`        | Maximum output length.                                                                                       |
| `input_modalities`         | Accepted inputs, for example `text`, `image`, `file`, `video`.                                               |
| `output_modalities`        | Produced outputs, for example `text`.                                                                        |
| `pricing.prompt`           | Price per prompt token. Multiply by 1,000,000 for the per-million-token price.                               |
| `pricing.completion`       | Price per completion token. Multiply by 1,000,000 for the per-million-token price.                           |
| `pricing.input_cache_read` | Price per cached input token when the model exposes cache pricing.                                           |
| `supported_parameters`     | Request parameters this model accepts, for example `max_tokens` or `max_completion_tokens`.                  |
| `supported_features`       | Higher-level capabilities declared for the model, for example `tools`, `reasoning`, or `structured_outputs`. |
| `providers`                | Confidential providers that can serve the model, for example `near-ai`, `tinfoil`, `chutes`.                 |

## Finding confidential models

Filter by `is_tee: true` to find models that can be served confidentially:

```bash theme={null}
curl -s https://api.redpill.ai/v1/models \
  | jq -r '.data[] | select(.is_tee == true) | .id'
```

The same model can appear under more than one id; `is_tee` is consistent across aliases. To prove a
specific response was served from an attested enclave, read the `x-receipt-id` header and verify it
with `/v1/aci/attestation` and `/v1/aci/receipts/{id}`. See
[Verify a response](/guides/verify-a-response).

## Finding zero-data-retention models

`is_tee` and `zdr` describe different properties. `is_tee` says a model can run inside a verified
TEE, which constrains who can read memory during execution. Zero data retention says the upstream
provider does not keep prompt or completion content after serving the request. Filter for it with
the query parameter rather than inferring it from `is_tee`:

```bash theme={null}
curl -s "https://api.redpill.ai/v1/models?zdr=true" \
  | jq -r '.data[].id'
```

To route a request under the same constraint, send `provider: {"zdr": true}` in the request body.
See [Zero data retention](/guides/zero-data-retention).

<Card title="Confidential models" icon="microchip" href="/confidential-ai/confidential-models">
  The confidential catalog and backing providers →
</Card>
