---
title: Autenticación
description: Claves de API, modos real y de prueba, y niveles de acceso.
sidebar:
  order: 2
---
Envíe su clave como token bearer en cada solicitud:

```txt
Authorization: Bearer tc_live_…
```

`X-Api-Key: tc_live_…` también funciona.

## Claves reales y de prueba [#live-and-test-keys]

El prefijo le indica de un vistazo el modo de una clave:

- **`tc_live_…`** usa su saldo real y retira créditos reales. Las respuestas indican `"livemode": true`.
- **`tc_test_…`** usa un saldo simulado. Las respuestas indican `"livemode": false`. Consulte [Modo de prueba](/docs/es/test-mode).

Los datos reales y los de prueba están separados: una clave de prueba nunca ve las compensaciones reales, y viceversa.

## Acceso [#access]

Cada clave tiene uno de dos niveles de acceso, que se define al crearla:

| Acceso | Permite |
| --- | --- |
| Solo lectura | Consultar el saldo, las cotizaciones, las compensaciones y el impacto. |
| Lectura y compra | Todo lo anterior, y comprar compensaciones. |

Asigne una clave de solo lectura a los paneles y los informes. Una compra con una clave de solo lectura falla con `403 insufficient_permissions`.

## Mantenga sus claves en secreto [#keep-keys-secret]

- Use las claves **solo en su servidor**. La API no envía encabezados CORS, por lo que los navegadores no pueden llamarla con una clave.
- Guarde las claves como secretos (variables de entorno, un gestor de secretos), nunca en el código.
- Cree una clave por sistema, para poder revocar una sin afectar a las demás.
- Si una clave se filtra, revóquela de inmediato en la página Desarrolladores. A partir de ese momento, las solicitudes con esa clave fallan. Usted es responsable de las compras realizadas con sus claves.

## Errores [#errors]

| Estado | Código | Cuándo |
| --- | --- | --- |
| 401 | `invalid_api_key` | La clave falta, tiene un formato no válido, es desconocida o está revocada. |
| 403 | `api_access_inactive` | La cuenta no está aprobada o está suspendida. Una cuenta suspendida puede seguir leyendo. |
| 403 | `insufficient_permissions` | Una clave de solo lectura intentó comprar. |
| 429 | `rate_limited` | Demasiadas solicitudes para esta clave. Consulte [Límites](/docs/es/limits). |
