rankion.ai
API

Content-Intelligence-API

Aggregierte Reports über Score, Freshness, Linking pro Projekt — eine API.

Die Content-Intelligence-API ist der Sammel-Endpoint für alles, was Inhalts-Qualität auf Projekt-Ebene misst: Durchschnitts-Score, veraltete Artikel, Orphan-Pages, Style-Profile-Coverage und der aktuelle Internal-Linking-Stand. Statt für jedes Sub-System einen eigenen Call abzusetzen, gibt dir ein einziger GET ein konsolidiertes Bild — perfekt für Dashboards und externe Reporting-Tools.

Modul-Kontext: Content Freshness · Internal Linking · Storylines.

Overview-Endpoint

Method Endpoint Beschreibung Credits
GET /v1/content-intelligence?project_id={id} Aggregierter Report über alle Content-Subsysteme eines Projekts
GET /v1/content-freshness?project_id={id} Freshness-Liste projekt-weit (welche Artikel sind veraltet)
curl "$BASE/content-intelligence?project_id=12" \
  -H "Authorization: Bearer $TOKEN" | jq

Response (gekürzt):

{
  "data": {
    "project_id": 12,
    "articles": {"total": 142, "avg_score": 78, "below_60": 9},
    "freshness": {"checked": 120, "stale": 14, "last_run_at": "2026-04-29T09:00:00Z"},
    "linking": {"orphans": 3, "suggestions_open": 27},
    "style_profiles": {"active": 2, "coverage_pct": 91}
  }
}

Storylines

Storylines bündeln verwandte Artikel zu einem Topic-Cluster mit gemeinsamem Pillar-Content.

Method Endpoint Beschreibung
GET /v1/projects/{project}/storylines Liste aller Storylines
POST /v1/projects/{project}/storylines Neue Storyline anlegen
GET /v1/storylines/{id} Detail inkl. zugehöriger Artikel
PUT /v1/storylines/{id} Update
DELETE /v1/storylines/{id} Löschen

Style Profiles

Definieren Tonalität, Marken-Stimme und Schreibregeln, die Generate/Optimize anwenden.

Method Endpoint Beschreibung Credits
GET /v1/projects/{project}/style-profiles Liste (enthält zusätzlich source_type, source_url, pending_review, scraped_pages, failure_reason, reviewed_at)
POST /v1/projects/{project}/style-profiles Manuell erstellen
GET /v1/style-profiles/{id} Detail (gleiche Zusatzfelder)
PUT /v1/style-profiles/{id} Aktualisieren (bei pending_review=true implizit auf false gesetzt, reviewed_at belegt)
DELETE /v1/style-profiles/{id} Löschen
POST /v1/projects/{project}/style-profiles/from-url URL-basierte Stilanalyse als Background-Job starten. HTTP 202 → { data: { id, status: "pending", source_url, message } } 25
GET /v1/style-profiles/{id}/scrape-status Job-Status abrufen → { status, source_url, scraped_pages, failure_reason, pending_review }
POST /v1/style-profiles/{id}/accept Profil akzeptieren (pending_review=false, reviewed_at=now()). Response: { data: <StyleProfile> }
POST /v1/style-profiles/{id}/discard Profil verwerfen (Soft-Delete). Nur wenn pending_review=true, sonst 422. Response: { deleted: true }

Knowledge Base

Zusätzlicher Kontext (PDFs, Texte, URLs), den die Generation als Source zieht.

Method Endpoint Beschreibung
GET /v1/projects/{project}/knowledge-base Alle Einträge
POST /v1/projects/{project}/knowledge-base Eintrag hinzufügen
DELETE /v1/knowledge-base/{id} Entfernen

Link Lists

Whitelists/Blacklists für Internal-Link-Generation.

Method Endpoint
GET /v1/projects/{project}/link-lists
POST /v1/projects/{project}/link-lists
DELETE /v1/link-lists/{id}

Orphan Scans

Findet Artikel ohne eingehende interne Links (SEO-Problem).

Method Endpoint Beschreibung
POST /v1/projects/{project}/orphan-scans/discover Scan dispatchen (async)
POST /v1/orphan-scans/{id}/start Erneut starten
GET /v1/orphan-scans/{id} Status + Summary
GET /v1/orphan-scans/{id}/pages Liste verwaister Seiten
DELETE /v1/orphan-scans/{id} Löschen
SCAN=$(curl -s -X POST "$BASE/projects/12/orphan-scans/discover" \
  -H "Authorization: Bearer $TOKEN" | jq -r .data.id)

# Pollen bis status == "completed"
curl -s "$BASE/orphan-scans/$SCAN" -H "Authorization: Bearer $TOKEN" \
  | jq '{status, orphans_found}'

curl -s "$BASE/orphan-scans/$SCAN/pages" \
  -H "Authorization: Bearer $TOKEN" | jq '.data[].url'

Hinweise

  • Der Overview-Endpoint cacht intern für 60 s — Reports laden schnell, aber Werte hinken bis zu einer Minute hinterher.
  • freshness.stale zählt nur Artikel mit abgeschlossenem Freshness-Check. Artikel ohne jemals gelaufenen Check tauchen nicht in der Stale-Quote auf — siehe Artikel-API für POST /articles/{id}/freshness/check.
  • Orphan-Scans sind async, aber günstig (kein Credit-Cost) und idempotent pro Projekt — parallele Discovers werden serverseitig dedupliziert.
  • Style-Profiles wirken erst beim nächsten Generate/Optimize-Lauf, nicht rückwirkend auf bestehenden Content.

Verwandt: Artikel-API · Content Freshness · Internal Linking · Storylines.

Letzte Aktualisierung: 7. Mai 2026

Cookies: Wir nutzen notwendige Cookies für die Funktion und optionale für Verbesserungen. Details

Notwendig
Aktiv
Analytics
Marketing