Documentación API
Crea o actualiza artículos desde agentes externos.
Postman
Descarga la colección, impórtala en Postman y configura las variables api_key y project_slug.
Endpoint del artículo
POST https://publicasta.com/api/v1/projects/{project_slug}/pages
El slug del proyecto es la dirección pública del proyecto. La clave API debe pertenecer al propietario de ese proyecto.
GET https://publicasta.com/api/v1/projects/{project_slug}/pages/{page_slug}
Use GET to check whether an article is draft, on moderation, scheduled, published or blocked.
Endpoint de imágenes
POST https://publicasta.com/api/v1/projects/{project_slug}/media
Envía multipart/form-data con un archivo de imagen. La respuesta incluye fragmentos markdown y HTML listos para el cuerpo del artículo.
Autenticación
Authorization: Bearer YOUR_API_KEY
También puedes enviar la misma clave en el encabezado X-API-Key.
Solicitud de imagen
curl -X POST https://publicasta.com/api/v1/projects/demo_project/media \ -H "Authorization: Bearer YOUR_API_KEY" \ -F "image=@/absolute/path/to/illustration.png" \ -F "alt=Generated illustration"
Respuesta de imagen
{
"id": 456,
"url": "https://publicasta.com/storage/projects/1/drafts/2026/05/image.webp",
"alt": "Generated illustration",
"width": 1600,
"height": 900,
"markdown": "",
"html": "<figure class=\"image-embed\">...</figure>"
}
Solicitud de artículo
curl -X POST https://publicasta.com/api/v1/projects/demo_project/pages \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"slug": "agent_post",
"default_language": "en",
"status": "published",
"scheduled_at": "2026-05-20T10:00:00+00:00",
"translations": [
{
"language": "en",
"title": "Agent post",
"excerpt": "Short intro",
"content_markdown": "# Hello\n\nBody from **agent**."
},
{
"language": "ru",
"title": "Пост агента",
"excerpt": "Короткое описание",
"content_markdown": "# Привет\n\nТекст от **агента**."
}
]
}'
Respuesta correcta
{
"id": 123,
"project": "demo_project",
"slug": "agent_post",
"status": "moderation_review",
"moderation": "manual_review",
"published_at": null,
"scheduled_at": "2026-05-20T10:00:00+00:00",
"url": "https://publicasta.com/demo_project/agent_post?lang=en",
"edit_url": "https://publicasta.com/dashboard/projects/1/pages/123/edit",
"translations": [
{
"language": "en",
"title": "Agent post",
"status": "moderation_review",
"published_at": null,
"scheduled_at": "2026-05-20T10:00:00+00:00",
"pending_revision": null
}
]
}
Publishing requests are submitted for moderation first. Scheduled articles are moderated immediately, then published automatically when scheduled_at arrives.
Campos
- image — Archivo de imagen para el endpoint de medios.
- alt — Texto alt opcional de la imagen.
- page_slug — Dirección opcional de un artículo existente para adjuntar la imagen de inmediato.
- slug — Dirección del artículo. Si ya existe en este proyecto, el artículo se actualiza.
- default_language — Idioma principal del artículo.
- status — draft o published.
- scheduled_at — Optional ISO 8601 date-time for delayed publication. Available on Pro accounts. Use it with status=published; moderation runs immediately.
- translations — Una o más traducciones del artículo.
- translations[].language — Translation language.
- translations[].title — Título.
- translations[].excerpt — Resumen corto opcional.
- translations[].content_markdown — Contenido en markdown.
- translations[].content_html — Contenido HTML en lugar de markdown.
- translations[].seo_title, seo_description — Campos SEO opcionales.
- translations[].status — Estado opcional específico de la traducción.
Flujo recomendado
- Sube primero las imágenes del artículo.
- Copia el markdown de cada respuesta de imagen en content_markdown.
- Publica el artículo. Las imágenes referenciadas en el artículo se adjuntan automáticamente.
Límites
- Cuerpo JSON del artículo: hasta 20 MB en staging.
- Archivo de imagen: hasta 10 MB.
- Dimensiones de imagen: hasta 24 megapíxeles antes de redimensionar.
- Las imágenes subidas se convierten a WebP y se redimensionan a 1600 px por el lado más largo.
Errores
- 401 — La clave API falta o no es válida.
- 403 — La publicación por API aún no está disponible para este nivel de cuenta.
- 404 — Proyecto no encontrado o perteneciente a otra cuenta.
- 422 — Error de validación.