---
title: Referencia de API
description: Explora la referencia de la API REST de Firmreader para crear publicaciones, gestionar canales, autenticarte con claves API y consultar análisis con código.
lastUpdated: "2026-08-17"
---

> **For AI agents:** the complete documentation index is at [llms.txt](/llms.txt). Append `.md` to any page URL for its markdown version.

La API de Firmreader es una API REST que te permite crear publicaciones, gestionar canales y consultar análisis mediante código. Prueba nuestra potente API.

## URL base

```
https://api.firmreader.com/v1
```

## Autenticación

Cada solicitud requiere una clave de API en el encabezado `Authorization`:

<CodeGroup>
```bash cURL
curl https://api.firmreader.com/v1/posts \
  -H "Authorization: Bearer fr_live_abc123"
```

```javascript Node.js
const response = await fetch('https://api.firmreader.com/v1/posts', {
  headers: {
    'Authorization': 'Bearer fr_live_abc123',
  },
});
```

```python Python
import requests

response = requests.get(
    'https://api.firmreader.com/v1/posts',
    headers={'Authorization': 'Bearer fr_live_abc123'},
)
```
</CodeGroup>

Las claves de API se crean en **Settings > API Keys**. Cada clave tiene un alcance que limita aquello a lo que puede acceder:

| Alcance | Permisos |
|-------|------------|
| `posts:read` | Enumerar y recuperar publicaciones |
| `posts:write` | Crear, actualizar y eliminar publicaciones |
| `channels:read` | Enumerar y recuperar canales |
| `channels:write` | Crear, actualizar y eliminar canales |
| `analytics:read` | Consultar métricas de interacción |

## Límites de solicitudes

| Plan | Solicitudes por minuto |
|------|-------------------|
| Starter | 60 |
| Business | 300 |
| Enterprise | 1,000 |

Los encabezados de límite de solicitudes se incluyen en cada respuesta:

```
X-RateLimit-Limit: 300
X-RateLimit-Remaining: 297
X-RateLimit-Reset: 1708790400
```

## Formato de errores

Todos los errores siguen un formato coherente:

```json
{
  "error": {
    "code": "invalid_request",
    "message": "The channel_id field is required.",
    "param": "channel_id"
  }
}
```

| Estado HTTP | Significado |
|-------------|---------|
| 400 | Solicitud incorrecta — comprueba tus parámetros |
| 401 | No autorizado — la clave de API no es válida o falta |
| 403 | Prohibido — la clave de API no tiene el alcance requerido |
| 404 | No encontrado — el recurso no existe |
| 429 | Límite de solicitudes alcanzado — reduce la velocidad |
| 500 | Error del servidor — inténtalo de nuevo más tarde |

## Paginación

Los endpoints de lista devuelven resultados paginados. Usa los parámetros `cursor` y `limit`:

```bash
curl "https://api.firmreader.com/v1/posts?limit=20&cursor=post_abc123" \
  -H "Authorization: Bearer fr_live_abc123"
```

La respuesta incluye un campo `next_cursor`. Cuando es `null`, has llegado al final.

```json
{
  "data": [...],
  "next_cursor": "post_xyz789",
  "has_more": true
}
```

```
