Blog-Admin-API
Plattform-Admin-Endpoints für den Rankion-Blog: Posts, Kategorien, Author-Management.
Die Blog-Admin-API steuert den Rankion-eigenen Marketing-Blog auf rankion.ai/blog — nicht die Artikel deiner Projekte. Sie ist ausschließlich für Plattform-Admins (interne Redaktion, Marketing-Team) zugänglich; reguläre Team-Tokens bekommen 403. Falls du auf der Suche nach der Content-API bist: das ist die Artikel-API.
Modul-Kontext: Blog (Admin).
Kategorien
Hierarchische Tag-Struktur für Blog-Posts (z.B. AI Visibility, Backlinks, Case Studies).
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/blog/categories |
Alle Kategorien (sortiert nach position) |
| POST | /v1/blog/categories |
Neue Kategorie. Body: {name, slug?, parent_id?, color?} |
| PUT | /v1/blog/categories/{id} |
Update |
| DELETE | /v1/blog/categories/{id} |
Löschen — wirft 409 wenn Posts noch zugeordnet sind |
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
Ein Post entspricht einem öffentlich indexierbaren Blog-Artikel auf rankion.ai/blog/{slug}.
| Method | Endpoint | Beschreibung |
|---|---|---|
| GET | /v1/blog/posts |
Liste, paginiert. Filter: ?status=draft|published|archived, ?category=, ?author=, ?q= |
| POST | /v1/blog/posts |
Neuer Post (siehe Body unten) |
| GET | /v1/blog/posts/{id} |
Detail inkl. SEO-Felder, Author, Kategorien |
| PUT | /v1/blog/posts/{id} |
Update |
| DELETE | /v1/blog/posts/{id} |
Soft-delete |
Post anlegen
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"
}
}
Status-Lifecycle
draft ─► scheduled ─► published ─► archived
│
└─► draft (rollback via PUT)
scheduled_publish_atwird beim Erreichen automatisch zupublishedgeflippt (Cron-basiert, 1-Min-Granularität).archivedist sichtbar in der Admin-Liste, aber 410 für Public-Visitors.
Author-Management
Authors sind Rankion-User mit gesetztem is_blog_author=true. Eigenes Author-Endpoint ist (Stand 2026-05) nicht öffentlich exponiert — Author-Zuordnung läuft über author_id im Post-Body. Author-Stammdaten (Name, Avatar, Bio) liegen im User-Profil.
Hinweise
- Plattform-Admin-only. Alle Endpoints prüfen
is_platform_adminauf dem Token-User. Reguläre Team-Tokens (auch Team-Owner) bekommen403 Forbidden. - Slugs sind unique global, nicht pro Team — kollidiert dein Slug mit einem bestehenden Post, antwortet die API mit
422und Vorschlags-Slug. - Soft-delete ist reversibel über
PUT {status: "draft"}auf der ID. Der Public-Slug bleibt 30 Tage geblockt, damit URLs nicht sofort von neuen Posts geklaut werden. - Featured-Image-URL muss CDN-erreichbar sein — Rankion lädt das Bild beim Publish einmal über
og-image-cacheneu, um OG-Vorschauen zu garantieren. scheduled_publish_atist UTC. Lokale Zeitzone explizit konvertieren, sonst geht der Post zu früh/spät live.- Kein Hard-Delete via API. Endgültiges Entfernen läuft nur über das interne Admin-Panel — die DELETE-Route ist immer ein Soft-Delete.
Verwandt: Artikel-API · Blog (Admin).