# Referencia de la API

Crea integraciones personalizadas con la API REST de Anomalia. Todos los endpoints requieren autenticación y devuelven JSON.

## URL base

`https://anomalia.so/api/v1` 

## Autenticación

Cada solicitud necesita un token `Bearer` en el encabezado `Authorization`.

### JWT de Supabase (CLI / sesión web)

Se obtiene mediante el flujo de inicio de sesión de la CLI. Se actualiza automáticamente. Expira después de ~1 hora.

`Authorization: Bearer <jwt_token>`

### Clave de API (integraciones)

Clave de larga duración generada desde el [panel de control](/app/api-keys). Acceso completo de lectura y escritura. Comienza con `anomalia_`.

`Authorization: Bearer anomalia_live_...`

## Manejo de errores

Todos los errores devuelven un cuerpo JSON consistente:

`{ "error": "Human-readable message" }`

| Código | Significado |
| --- | --- |
| `401` | No autorizado — token faltante o inválido |
| `403` | Prohibido — la clave de API no tiene acceso a esta marca |
| `404` | No encontrado |
| `405` | Método no permitido |
| `500` | Error interno del servidor |

## Inicio rápido

```
export TOKEN="anomalia_live_..."

# List brands
curl -H "Authorization: Bearer $TOKEN" https://anomalia.so/api/v1/brands

# Get posts
curl -H "Authorization: Bearer $TOKEN" \
  https://anomalia.so/api/v1/brands/my-brand/posts

# Approve a post
curl -X POST -H "Authorization: Bearer $TOKEN" \
  https://anomalia.so/api/v1/brands/my-brand/posts/ID/approve
```

[

Siguiente →

Brands

](/es/docs/api/brands)

---
Source: https://www.anomalia.so/es/docs/api
