# Authentication (/en/docs/api/authentication)



Every endpoint uses the same credential: an API Key created in the console, sent with each request in the `Authorization` header. There is no other authentication method and no per-endpoint rules.

## One header [#one-header]

```
Authorization: Bearer {key}
```

| Part     | Meaning                                  | Example           |
| -------- | ---------------------------------------- | ----------------- |
| `Bearer` | Literal scheme                           | `Bearer`          |
| `{key}`  | Your API Key, starting with `sk-praxis-` | `sk-praxis-a1b2…` |

One Key works across every prefix. Keys are created, rotated, and revoked at [Console → API Keys](/en/docs/developers/account/api-keys); revocation takes effect immediately.

## Where each SDK puts the Key [#where-each-sdk-puts-the-key]

You don't assemble the header yourself — the official SDKs do it; we also accept the header names those SDKs send by default.

| SDK               | What you set | Header actually sent      |
| ----------------- | ------------ | ------------------------- |
| OpenAI SDK        | `apiKey`     | `Authorization: Bearer …` |
| Anthropic SDK     | `apiKey`     | `X-API-Key: …`            |
| Google GenAI SDK  | `apiKey`     | `x-goog-api-key: …`       |
| E2B SDK           | `apiKey`     | `X-API-Key: …`            |
| Tavily SDK / HTTP | `apiKey`     | `Authorization: Bearer …` |

## Try one [#try-one]

```bash
curl https://api.deepraxis.com/model/v1/models \
  -H "Authorization: Bearer $PRAXIS_API_KEY"
```

## What an auth failure looks like [#what-an-auth-failure-looks-like]

A missing, invalid, or revoked Key returns `401`, with a body in the format of that prefix (see [Errors](/en/docs/api/errors)). Never retry a `401` — fix the Key and send again.

## Safekeeping [#safekeeping]

* Use it server-side only; never ship it in a browser, mobile app, or public repository.
* Use an environment variable (`PRAXIS_API_KEY` in the examples), not code.
* If you suspect a leak, revoke it in the console and create a new one; the old Key stops working immediately.
