rankion.ai
API

API de Blog Admin

Endpoints platform-admin para el blog de Rankion: posts, categorías, gestión de autores.

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).

Letzte Aktualisierung: 1 de mayo de 2026

Cookies: Utilizamos cookies necesarias para el funcionamiento y opcionales para mejoras. Detalles

Necesarias
Activo
Analítica
Marketing