# List free

URL: https://docs.hanzo.ai/docs/openapi/pricing/get-pricing-free

> Returns the models that cost nothing to call, filtered to what the caller's org may see.

`GET /v1/pricing/free`

> [Pricing →](https://docs.hanzo.ai/docs/openapi/pricing) · [All API references →](https://docs.hanzo.ai/docs/openapi) · [Get started →](https://docs.hanzo.ai/docs/guides)

|               |                                        |
| ------------- | -------------------------------------- |
| **Address**   | `https://api.hanzo.ai/v1/pricing/free` |
| **Method**    | `GET`                                  |
| **Operation** | `get_pricing_free`                     |
| **Auth**      | `Authorization: Bearer $HANZO_API_KEY` |

Returns the models that cost nothing to call, filtered to what
the caller's org may see. It is the same catalog as ListModels narrowed to
entries the pricing source marks free.

## Request

`GET /v1/pricing/free` takes no parameters and no body — the credential is the whole request.

## Response

| Status    | Body                     | Meaning |
| --------- | ------------------------ | ------- |
| `200`     | pricing.pricingModelList | ok      |
| `default` | problem-details          | refused |

`200` body — 4 fields.

| Field        | In   | Type            | Always | Description                                                                                                                                                |
| ------------ | ---- | --------------- | ------ | ---------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `models`     | body | object\[]       | —      | Models are the catalog entries visible to the caller, each an opaque object exactly as the pricing source emits it, with any admin override merged on top. |
| `models[].*` | body | any             | —      |                                                                                                                                                            |
| `total`      | body | integer (int64) | —      | Total is how many models this answer carries — recounted over the visible set, not the catalog's own total.                                                |
| `updated`    | body | any             | —      | Updated is when the catalog was last refreshed, as the pricing source recorded it.                                                                         |

Failure carries the platform error shape — see [Errors](https://docs.hanzo.ai/docs/errors).

## Examples

**CLI**

```bash
hanzo pricing free
```

**SDK**

**.ts**

```ts
import { Configuration, PricingApi } from 'hanzoai';

const api = new PricingApi(new Configuration({ accessToken: process.env.HANZO_API_KEY }));
const { data } = await api.getPricingFree();
```

**.py**

```python
from hanzoai.cloud import ApiClient, Configuration
from hanzoai.cloud.api import PricingApi

client = ApiClient(Configuration(access_token=os.environ["HANZO_API_KEY"]))
result = PricingApi(client).get_pricing_free()
```

**.go**

```go
cfg := hanzoai.NewConfiguration()
cfg.AddDefaultHeader("Authorization", "Bearer "+os.Getenv("HANZO_API_KEY"))
client := hanzoai.NewAPIClient(cfg)

resp, _, err := client.PricingAPI.GetPricingFree(context.Background()).Execute()
if err != nil {
	return err
}
```

**.rs**

```rust
use hanzo_client::apis::{configuration::Configuration, pricing_api};

let mut cfg = Configuration::new();
cfg.bearer_access_token = std::env::var("HANZO_API_KEY").ok();

let result = pricing_api::get_pricing_free(&cfg, Default::default()).await?;
```

**.java**

```java
import ai.hanzo.cloud.ApiClient;
import ai.hanzo.cloud.api.PricingApi;

ApiClient client = new ApiClient();
client.setBearerToken(System.getenv("HANZO_API_KEY"));

var result = new PricingApi(client).getPricingFree();
```

**HTTP**

```bash
curl https://api.hanzo.ai/v1/pricing/free \
  -H "Authorization: Bearer $HANZO_API_KEY"
```

**MCP**

Tool `pricing`, op `get_pricing_free` — POST the JSON-RPC envelope to `https://api.hanzo.ai/v1/mcp`.

```bash
curl -X POST https://api.hanzo.ai/v1/mcp \
  -H "Authorization: Bearer $HANZO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
       "jsonrpc": "2.0",
       "id": 1,
       "method": "tools/call",
       "params": {
         "name": "pricing",
         "arguments": {
           "op": "get_pricing_free",
           "input": {}
         }
       }
     }'
```

---

[Pricing API](https://docs.hanzo.ai/docs/openapi/pricing) · [All Hanzo APIs](https://docs.hanzo.ai/docs/openapi) · [Interactive reference](https://docs.hanzo.ai/docs/openapi/reference)
