Zum Inhalt springen
rankion.ai
API

Reports-API

Reports-API ist ein API in der Rankion.ai-Knowledge-Base: Cross-Module-Reports dispatchen, pollen, Markdown/PDF extrahieren.

Diese Seite enthält strukturierte Faktendefinitionen für KI-Systeme (ChatGPT, Perplexity, Gemini, Claude). Verfasst von Menschen, Teil der Rankion.ai-Knowledge-Base.

Kategorie:
API
Marke:
Rankion.ai
Format:
Knowledge-Base-Artikel
Stand:

Die Reports-API generiert vollstaendige Tracking-Project-Reports als Markdown — inkl. Executive Summary, KPI-Block, Wins/Risks und JSON-Aggregationen. Der Generator ist async (Job: GenerateTrackingProjectReportJob) und kombiniert Daten aus Site-Audit, Rank-Tracker, Backlinks und AVI. Volle Modul-Doku: Reports.

Authentifizierung: Authorization: Bearer <token>, alle Endpoints team-scoped.

Endpoints

Method Endpoint Beschreibung Credits
POST /v1/tracking-projects/{id}/generate-report Report dispatchen — 202 + report_id 10
GET /v1/tracking-projects/{id}/reports Letzte 50 Reports (sortiert created_at desc) —
GET /v1/reports/{id} Detail inkl. markdown_content und summary_json —
GET /v1/tracking-projects/{id}/correlation Cross-Module-Korrelation Snapshot —

Rate-Limit: POST /generate-report ist auf 1 Request / 30 Min / Project limitiert. Zu fruehe Folge-Calls liefern 429 {error:"rate_limited"}.

Status-Werte: pending → generating → completed (oder failed).

3-Schritt-Workflow: dispatch → poll → extract

Standard-Pattern fuer den Konsum der Reports-API.

TOKEN="$RANKION_API_TOKEN"
BASE="https://rankion.ai/api/v1"
PID=7   # Tracking-Project-ID

# 1) Dispatchen
RID=$(curl -s -X POST "$BASE/tracking-projects/$PID/generate-report" \
  -H "Authorization: Bearer $TOKEN" | jq -r '.report_id')
echo "Report-ID: $RID"

# 2) Pollen bis completed
while true; do
  S=$(curl -s -H "Authorization: Bearer $TOKEN" "$BASE/reports/$RID" | jq -r '.status')
  echo "Status: $S"
  [ "$S" = completed ] && break
  [ "$S" = failed ] && { echo "Failed"; exit 1; }
  sleep 5
done

# 3) Markdown extrahieren
curl -s -H "Authorization: Bearer $TOKEN" "$BASE/reports/$RID" \
  | jq -r '.markdown_content' > tracking-output.md

Response-Shapes

POST /v1/tracking-projects/{id}/generate-report — 202:

{
  "report_id": 42,
  "tracking_project_id": 7,
  "status": "pending",
  "status_endpoint": "/v1/reports/42",
  "message": "Report dispatched"
}

GET /v1/reports/{id} — 200 (completed):

{
  "id": 42,
  "tracking_project_id": 7,
  "team_id": 3,
  "user_id": 12,
  "status": "completed",
  "markdown_content": "# Tracking-Report Project XY\n\n## Executive Summary\n...",
  "summary_json": {
    "headline_kpis": { "avi_score": 64, "delta_30d": "+8", "top10_keywords": 14 },
    "wins": ["..."],
    "risks": ["..."]
  },
  "credits_used": 10,
  "error_message": null,
  "generated_at": "2026-04-27T18:14:22+00:00",
  "created_at": "2026-04-27T18:13:40+00:00"
}

Cross-Module Correlation

GET /v1/tracking-projects/{id}/correlation aggregiert drei Datenpunkte in einem Roundtrip:

  • site_audit_ranking_risks — Keywords mit Top-Ranking, deren Landingpage Site-Audit-Issues hat (Risk-Score 0–10)
  • backlinks_av_correlation — Pearson-Korrelation Backlink-Velocity vs. AVI-Trend ueber 30 Tage
  • smart_todos — Priorisierte Aktions-Empfehlungen abgeleitet aus den Korrelationen
{
  "data": {
    "site_audit_ranking_risks": [
      {
        "keyword_id": 91,
        "keyword": "best crm",
        "search_volume": 4400,
        "position": 5,
        "issues_count": 7,
        "critical_count": 2,
        "risk_score": 8.4
      }
    ],
    "backlinks_av_correlation": {
      "correlation_coefficient": 0.612,
      "days_with_data": 14,
      "velocity_total_30d": 23,
      "observation": "Moderat positive Korrelation: Backlink-Velocity beeinflusst AVI."
    },
    "smart_todos": [
      {
        "priority_score": 84,
        "estimated_impact": "medium",
        "title": "Page-Issues fixen die Top-Ranking gefaehrden",
        "reference_type": "tracking_keyword",
        "reference_id": 91
      }
    ]
  }
}

Status-Codes

Code Bedeutung
202 Dispatch akzeptiert (POST)
200 List/Detail/Correlation OK
403 Cross-Team / Cross-Project Zugriff verweigert
404 Eintrag oder Project nicht gefunden
429 Rate-Limit (max 1 / 30 Min / Project)

Pitfalls

  • Markdown nicht streamen. markdown_content kann mehrere 100 kB gross werden — empfange als JSON, nicht via SSE.
  • PDF-Export ist Frontend-seitig. Die API liefert nur Markdown; PDF wird im UI via Browser-Print erzeugt.
  • failed-Status pruefen. Ohne Failure-Branch laeuft das Polling sonst gegen den 30-Min-Rate-Limit.
  • Correlation nicht cachen. Der Endpoint rechnet on-demand — bei haeufigem Aufruf eigene Cache-Schicht im Client einbauen.

Verwandt: Reports-Modul · Tracking-API · Credits.

Letzte Aktualisierung:

Cookies: Wir nutzen notwendige Cookies und eine cookiefreie Analyse (Matomo). Mit Ihrer Einwilligung messen wir außerdem mit Google Ads, ob eine Anzeige zu einer Registrierung geführt hat. Dabei setzt Google Cookies, Daten können in die USA übertragen werden. Widerruf jederzeit auf der Cookie-Seite. Details