Menú de la documentación

Desarrolladores

Generaciones

Historial de generaciones de artículos de un blog de Blogenia por API: estado, pasos, créditos y código de error, con el permiso account:read.

Ver como Markdown

Una generación es el trabajo que escribe un artículo. Esta ruta lista el historial de un blog para ver qué se ha generado, qué está en marcha y qué ha fallado.

Historial de generaciones

GET/blogs/{blogId}/generations

Lista paginada de generaciones, de la más reciente a la más antigua.

Parámetros

NombreTipoObligatorioDescripción
blogIdstringSíIdentificador del blog (en la ruta).
estadostringNoqueued, running, done o failed.
statusstringNoSolo admite active: las que están en curso (queued o running). Si lo envías, se ignora estado.
desdestringNoDía YYYY-MM-DD (Europe/Madrid), incluido: solo elementos creados desde ese día.
hastastringNoDía YYYY-MM-DD (Europe/Madrid), incluido: solo elementos creados hasta ese día. No puede ser anterior a desde.
pageintegerNoPágina, desde 1 (por defecto 1, máximo 10000).
limitintegerNoElementos por página, de 1 a 50 (por defecto 20).

Campos de la respuesta

CampoTipoDescripción
dataarrayElementos de la página.
pageintegerPágina devuelta.
limitintegerTamaño de página aplicado.
totalintegerTotal de elementos que cumplen el filtro, en todas las páginas.
data[].idstringIdentificador de la generación.
data[].statusstringqueued, running, done o failed.
data[].sourcestringCómo se pidió: topic, keyword, brief o autopilot.
data[].keywordstringPalabra clave, si se indicó.
data[].createdAtstringFecha de creación, ISO 8601 en UTC.
data[].finishedAtstringFecha de fin. Solo si ha terminado.
data[].articleIdstringArtículo resultante. Solo en las que acabaron bien (done).
data[].errorobject{ code }. Solo en las fallidas. code puede ser ai_disabled, ai_unavailable, cost_cap, quota, duplicate_topic o internal.
data[].creditsobject{ estimated, charged? }: créditos estimados y, cuando se ha cobrado, los cobrados.
data[].stepsarrayPasos: [{ key, status }]. key es outline, sections, verify, links, faq, review, cover o save; status es pending, running, done, failed o skipped.

Respuestas

CódigoCuándo
200Respuesta devuelta.
400Parámetro no válido (estado desconocido, fechas con invalid_date o invalid_range) o parámetro desconocido.
404El blog no existe o es de otra organización.
401Clave ausente, no válida o revocada.
403La clave no tiene el permiso account:read (code: "insufficient_scope"), tu plan es Free (plan_required) o la organización está suspendida (ORGANIZATION_SUSPENDED).
429Límite del plan superado. Ver Límites de uso.
Petición
curl "https://api.blogelia.com/v1/blogs/66f1c0a2b3c4d5e6f7a8b9c0/generations?estado=done&limit=10" \
  -H "Authorization: Bearer $BLOGENIA_API_KEY"
const res = await fetch('https://api.blogelia.com/v1/blogs/66f1c0a2b3c4d5e6f7a8b9c0/generations?estado=done&limit=10', {
  headers: { Authorization: 'Bearer ' + process.env.BLOGENIA_API_KEY },
});
if (!res.ok) throw new Error('HTTP ' + res.status);
const body = await res.json();
console.log(body);
import os
import requests

res = requests.get(
    "https://api.blogelia.com/v1/blogs/66f1c0a2b3c4d5e6f7a8b9c0/generations",
    params={"estado": "done", "limit": 10},
    headers={"Authorization": "Bearer " + os.environ["BLOGENIA_API_KEY"]},
    timeout=10,
)
res.raise_for_status()
print(res.json())
Respuesta
{
  "data": [
    {
      "id": "66f1c0a2b3c4d5e6f7a8b9e0",
      "status": "done",
      "source": "autopilot",
      "keyword": "reforma de cocina precio",
      "createdAt": "2026-11-03T08:58:00.000Z",
      "finishedAt": "2026-11-03T09:00:41.000Z",
      "articleId": "66f1c0a2b3c4d5e6f7a8b9c1",
      "credits": { "estimated": 8, "charged": 8 },
      "steps": [
        { "key": "outline", "status": "done" },
        { "key": "sections", "status": "done" },
        { "key": "verify", "status": "done" },
        { "key": "links", "status": "done" },
        { "key": "faq", "status": "skipped" },
        { "key": "review", "status": "done" },
        { "key": "cover", "status": "done" },
        { "key": "save", "status": "done" }
      ]
    }
  ],
  "page": 1,
  "limit": 10,
  "total": 1
}