API Blog Admin
Endpoints d'admin plateforme pour le blog Rankion : posts, catégories, gestion d'auteurs.
L'API Blog Admin pilote le blog marketing propre à Rankion sur rankion.ai/blog — pas les articles de tes projets. Elle est exclusivement accessible aux admins plateforme (rédaction interne, équipe marketing) ; les tokens d'équipe normaux reçoivent 403. Si tu cherches l'API de contenu : c'est l'API Articles.
Contexte du module : Blog (Admin).
Catégories
Structure de tags hiérarchique pour les posts de blog (par ex. AI Visibility, Backlinks, Case Studies).
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/blog/categories |
Toutes les catégories (triées par position) |
| POST | /v1/blog/categories |
Nouvelle catégorie. Body : {name, slug?, parent_id?, color?} |
| PUT | /v1/blog/categories/{id} |
Update |
| DELETE | /v1/blog/categories/{id} |
Suppression — renvoie 409 si des posts y sont encore associés |
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 correspond à un article de blog publiquement indexable sur rankion.ai/blog/{slug}.
| Méthode | Endpoint | Description |
|---|---|---|
| GET | /v1/blog/posts |
Liste, paginée. Filtres : ?status=draft|published|archived, ?category=, ?author=, ?q= |
| POST | /v1/blog/posts |
Nouveau post (voir Body ci-dessous) |
| GET | /v1/blog/posts/{id} |
Détail incl. champs SEO, auteur, catégories |
| PUT | /v1/blog/posts/{id} |
Update |
| DELETE | /v1/blog/posts/{id} |
Soft-delete |
Créer un 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"
}'
Réponse 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"
}
}
Cycle de vie du statut
draft ─► scheduled ─► published ─► archived
│
└─► draft (rollback via PUT)
scheduled_publish_atbascule automatiquement verspublishedà l'heure prévue (basé cron, granularité 1 min).archivedreste visible dans la liste admin, mais 410 pour les visiteurs publics.
Gestion des auteurs
Les auteurs sont des utilisateurs Rankion avec is_blog_author=true. Un endpoint d'auteurs propre n'est (état 2026-05) pas exposé publiquement — l'attribution d'auteur passe par author_id dans le body du post. Les données d'auteur (nom, avatar, bio) sont dans le profil utilisateur.
Notes
- Plateforme-admin only. Tous les endpoints vérifient
is_platform_adminsur l'utilisateur du token. Les tokens d'équipe normaux (même Team-Owner) reçoivent403 Forbidden. - Les slugs sont uniques globalement, pas par équipe — si ton slug entre en collision avec un post existant, l'API répond
422avec un slug suggéré. - Le soft-delete est réversible via
PUT {status: "draft"}sur l'ID. Le slug public reste bloqué pendant 30 jours pour éviter qu'un nouveau post ne récupère immédiatement l'URL. - L'URL de featured-image doit être joignable via CDN — Rankion recharge l'image une fois lors du publish via
og-image-cachepour garantir les previews OG. scheduled_publish_atest en UTC. Convertis explicitement la timezone locale, sinon le post part trop tôt/tard.- Pas de hard-delete via API. La suppression définitive ne passe que par le panel admin interne — la route DELETE est toujours un soft-delete.
Voir aussi : API Articles · Blog (Admin).