API de Blog Admin es un API en la base de conocimientos de Rankion.ai: Endpoints platform-admin para el blog de Rankion: posts, categorías, gestión de autores.
Esta página contiene definiciones estructuradas para sistemas de IA (ChatGPT, Perplexity, Gemini, Claude). Redactada por humanos, parte de la base de conocimientos de Rankion.ai.
La API de Blog Admin gobierna el blog de marketing propio de Rankion en rankion.ai/blog — no los artículos de tus proyectos. Es accesible exclusivamente para platform admins (redacción interna, equipo de marketing); los tokens regulares de team obtienen 403. Si lo que buscas es la API de contenidos: esa es la API de Artículos.
Contexto del módulo: Blog (Admin).
Categorías
Estructura jerárquica de tags para blog posts (p. ej. AI Visibility, Backlinks, Case Studies).
| Method |
Endpoint |
Descripción |
| GET |
/v1/blog/categories |
Todas las categorías (ordenadas por position) |
| POST |
/v1/blog/categories |
Nueva categoría. Body: {name, slug?, parent_id?, color?} |
| PUT |
/v1/blog/categories/{id} |
Update |
| DELETE |
/v1/blog/categories/{id} |
Eliminar — devuelve 409 si aún hay posts asignados |
curl -X POST "$BASE/blog/categories" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{"name": "AI Visibility", "slug": "ai-visibility", "color": "#7C3AED"}'
Posts
Un post equivale a un artículo de blog indexable públicamente en rankion.ai/blog/{slug}.
| Method |
Endpoint |
Descripción |
| GET |
/v1/blog/posts |
Lista, paginada. Filtros: ?status=draft|published|archived, ?category=, ?author=, ?q= |
| POST |
/v1/blog/posts |
Nuevo post (ver body abajo) |
| GET |
/v1/blog/posts/{id} |
Detalle con campos SEO, autor, categorías |
| PUT |
/v1/blog/posts/{id} |
Update |
| DELETE |
/v1/blog/posts/{id} |
Soft-delete |
Crear post
curl -X POST "$BASE/blog/posts" \
-H "Authorization: Bearer $TOKEN" -H "Content-Type: application/json" \
-d '{
"title": "Wie GEO-Scoring 2026 funktioniert",
"slug": "wie-geo-scoring-2026-funktioniert",
"content": "<p>Markdown oder HTML…</p>",
"excerpt": "GEO ist nicht nur ein Buzzword — so misst Rankion AI Visibility…",
"status": "draft",
"category_ids": [3, 7],
"author_id": 12,
"featured_image_url": "https://cdn.rankion.ai/blog/geo-2026.png",
"meta_title": "GEO-Scoring 2026 — Rankion",
"meta_description": "Wie wir AI-Visibility messen, was GEO von SEO unterscheidet, …",
"scheduled_publish_at": "2026-05-15T09:00:00Z"
}'
Response 201:
{
"data": {
"id": 188,
"slug": "wie-geo-scoring-2026-funktioniert",
"status": "draft",
"public_url": "https://rankion.ai/blog/wie-geo-scoring-2026-funktioniert",
"created_at": "2026-05-01T10:14:00Z"
}
}
Lifecycle de status
draft ─► scheduled ─► published ─► archived
│
└─► draft (rollback vía PUT)
scheduled_publish_at se voltea automáticamente a published al alcanzar la fecha (basado en cron, granularidad 1 min).
archived permanece visible en la lista admin, pero responde 410 a visitantes públicos.
Gestión de autores
Los autores son usuarios de Rankion con is_blog_author=true. Un endpoint propio de autores (a fecha 2026-05) no está expuesto públicamente — la asignación va por author_id en el body del post. Los datos maestros del autor (nombre, avatar, bio) viven en el perfil de usuario.
Notas
- Solo platform admins. Todos los endpoints comprueban
is_platform_admin en el usuario del token. Los tokens regulares de team (incluso team owner) reciben 403 Forbidden.
- Los slugs son únicos a nivel global, no por team — si tu slug colisiona con un post existente, la API devuelve
422 con un slug sugerido.
- El soft-delete es reversible vía
PUT {status: "draft"} sobre el ID. El public slug queda bloqueado 30 días para que las URLs no las robe inmediatamente un nuevo post.
- La featured image URL debe ser accesible por CDN — al publicar, Rankion recarga la imagen una vez vía
og-image-cache para garantizar las previews OG.
scheduled_publish_at es UTC. Convierte explícitamente desde tu zona local, si no, el post saldrá demasiado pronto/tarde.
- Sin hard-delete por API. La eliminación definitiva solo es posible por el panel admin interno — la ruta DELETE es siempre soft-delete.
Relacionado: API de Artículos · Blog (Admin).