API Blog Admin est un API dans la base de connaissances de Rankion.ai : Endpoints d'admin plateforme pour le blog Rankion : posts, catégories, gestion d'auteurs.
Cette page contient des définitions structurées pour les systèmes d'IA (ChatGPT, Perplexity, Gemini, Claude). Rédigée par des humains, partie de la base de connaissances de Rankion.ai.
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_at bascule automatiquement vers published à l'heure prévue (basé cron, granularité 1 min).
archived reste 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_admin sur l'utilisateur du token. Les tokens d'équipe normaux (même Team-Owner) reçoivent 403 Forbidden.
- Les slugs sont uniques globalement, pas par équipe — si ton slug entre en collision avec un post existant, l'API répond
422 avec 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-cache pour garantir les previews OG.
scheduled_publish_at est 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).