rankion.ai
API

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

Letzte Aktualisierung: 1 mai 2026

Cookies : Nous utilisons des cookies nécessaires pour le fonctionnement et facultatifs pour les améliorations. Détails

Nécessaire
Actif
Analytique
Marketing