Referencia de API
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.
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:
curl https://api.firmreader.com/v1/posts \
-H "Authorization: Bearer fr_live_abc123"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:
{
"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:
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.
{
"data": [...],
"next_cursor": "post_xyz789",
"has_more": true
}
Last updated on
