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

# Autenticación

> Header X-API-Key. FastAPI lo exige; si falta, 422. Si no autentica, 401.

```bash theme={null}
curl https://api.emite.do/api/v1/client/company \
  -H "X-API-Key: $EMITE_API_KEY"
```

| Status | Detail                                  | Causa                                            |
| ------ | --------------------------------------- | ------------------------------------------------ |
| 422    | error de validación FastAPI             | Falta `X-API-Key`                                |
| 401    | `API key inválida, expirada o revocada` | Key mala, expirada, revocada, o empresa inactiva |

No hay `403 company_inactive` ni códigos `missing_api_key` / `invalid_api_key`. La empresa inactiva se ve como el mismo 401.

Los scopes `ecf:read` / `ecf:write` se guardan en la key pero **no se evalúan** en las rutas.

<Note>
  La key se emite en el registro y solo se muestra una vez. Rotación: pide una nueva a soporte; la anterior queda revocada.
</Note>

Buenas prácticas:

* Solo HTTPS.
* Variable de entorno, nunca en el repo.
* Una key por integración (ERP, job, sandbox).
