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

# Autenticación

> Cómo autenticar llamadas a la API.

# Autenticación

Cada petición a `/v1` requiere una llave de API activa.

Envía la llave como Bearer token:

```http theme={null}
Authorization: Bearer <api_key>
```

Ejemplo:

```bash theme={null}
curl https://api.venezuelateayuda.com/v1/metrics \
  -H "Authorization: Bearer $VTB_API_KEY"
```

## Fallos de autenticación

Si falta la llave:

```json theme={null}
{
  "error": "Missing API key."
}
```

Si la llave no existe, está desactivada o no puede usarse:

```json theme={null}
{
  "error": "Invalid API key."
}
```

Las llaves se guardan como hash SHA-256. La API nunca devuelve ni expone el
valor original de una llave.

## Permisos

Cada llave tiene permisos por recurso:

```txt theme={null}
persons:read
persons:sensitive:read
persons:write
tips:read
tips:write
reports:read
reports:write
resources:read
resources:write
duplicates:read
duplicates:write
```

Los permisos de escritura y lectura sensible no se incluyen automáticamente.
Actívalos solo para integraciones verificadas que realmente deben crear, editar,
unificar, descartar o leer datos sensibles. `persons:sensitive:read` desbloquea
datos sensibles en respuestas de personas, duplicados, upserts, fotos y tips.
Tambien es obligatorio, junto al permiso de escritura correspondiente, para
mutar personas sensibles o resolver duplicados que las contengan.
