# Authentication and keys

> Create an API key and authenticate every request with a Bearer header.

Source: https://fryri.com/docs/api/authentication-and-keys

Create a key in the [developer console](https://fryri.com/developers/console), then send it as a Bearer token on every request. All endpoints live under `https://api.fryri.com/v1`.

```bash
curl https://api.fryri.com/v1/usage \
  -H "Authorization: Bearer fryri_sk_..."
```

## Billing

API spend comes from your prepaid credit balance. `GET /v1/wallet` shows the balance and `GET /v1/usage` shows spend; both stay reachable even when the balance is empty, so you can always check state and top up.

## The machine-readable contract

- [OpenAPI spec](https://api.fryri.com/v1/openapi.json): the source of truth for the whole surface. Generate a typed client from it, or hand it to an agent.
- [Interactive docs](https://api.fryri.com/v1/docs): try every endpoint in the browser.
- [Python client](https://fryri.com/sdk/fryri.py) and [TypeScript client](https://fryri.com/sdk/fryri.ts): single-file clients with no framework lock-in.

Endpoints under `/v1/evolving` are beta and may change; everything else is stable.
