REST-API v1 & MCP-Protokoll • Standard 2026

REST-API v1 & Model Context Protocol (MCP) Dokumentation

Verwalten Sie Marken, erstellen Sie KI-Beiträge, planen Sie Veröffentlichungen auf 15 Plattformen und binden Sie OperPilot in Claude Desktop, Cursor AI oder Make.com ein.

Basis-URL der Produktions-API:

https://app.operpilot.com/api/v1

Authentifizierung (API-Schlüssel)

Alle Anfragen erfordern einen API-Schlüssel, der im Authorization-Header als Bearer-Token übergeben wird. Schlüssel werden im Dashboard erstellt.

Anfragelimits (Rate Limits)

Das Standardlimit liegt bei 60 Anfragen pro Minute. Bei Überschreitung wird der Statuscode 429 Too Many Requests zurückgegeben.

MCP Protocol

Model Context Protocol (MCP)

Verbinden Sie OperPilot direkt mit Claude Desktop, Cursor AI oder jedem MCP-Client für automatisierten Zugriff auf 12 Veröffentlichungstools.

Konfiguration für Claude Desktop

claude_desktop_config.json
{
  "mcpServers": {
    "operpilot": {
      "command": "node",
      "args": ["-e", "fetch('https://app.operpilot.com/operpilot-mcp.mjs').then(r=>r.text()).then(eval)"],
      "env": {
        "OPERPILOT_API_KEY": "op_live_YOUR_API_KEY"
      }
    }
  }
}

Konfiguration für Cursor AI (.cursor/mcp.json)

.cursor/mcp.json
{
  "mcpServers": {
    "operpilot": {
      "command": "node",
      "args": ["-e", "fetch('https://app.operpilot.com/operpilot-mcp.mjs').then(r=>r.text()).then(eval)"],
      "env": {
        "OPERPILOT_API_KEY": "op_live_YOUR_API_KEY"
      }
    }
  }
}

12 MCP-Tools von OperPilot

Nach der Einbindung erhält Ihr KI-Assistent sofortigen Zugriff auf die folgenden 12 Funktionen per natürlicher Sprache.

get_profile

MCP Tool

Marken-DNA: Unternehmensprofil, Branche, Zielgruppe, Brand Voice, visuelle Richtlinien und Farbpalette — Wissenskontext für die KI.

Beispiel-Prompt in Claude / Cursor:
“Lade mein Markenprofil und sag mir, welchen Tonfall ich für Beiträge nutzen soll.”
Rückgabe: Object: { name, description, industry, targetAudience, brandVoice, visualGuidelines, primaryColors, website }

connected_accounts

MCP Tool

Aktive Kanäle: Liste aller angebundenen Profile (von 15 Plattformen), die für sofortige oder geplante Posts bereitstehen.

Beispiel-Prompt in Claude / Cursor:
“Welche Social-Media-Konten sind derzeit in meinem OperPilot verbunden?”
Rückgabe: Array of { id, platform, name, accountType, isConnected, avatarUrl }

generate_post

MCP Tool

KI-Texter: erstellt ansprechende Beiträge mit Hashtags in einer von 7 Sprachen (PL, EN, DE, ES, FR, IT, UK) passend zur Brand Voice.

Beispiel-Prompt in Claude / Cursor:
“Schreibe einen LinkedIn-Post über die Vorteile der Social-Media-Automatisierung.”
ParameterTypErforderlichBeschreibung
topicstringErforderlichThema oder Botschaft des Beitrags.
languagestringOptionalSprachcode ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
platformstringOptionalZielplattform (z.B. 'linkedin', 'facebook').
tonestringOptionalTonalität (z.B. 'Experte', 'Locker').
Rückgabe: Object: { content, hashtags, suggestedPlatform, charCount }

generate_ideas

MCP Tool

Strategischer Ideengenerator: liefert neue Themenideen und Beitragsansätze für Ihre Branche.

Beispiel-Prompt in Claude / Cursor:
“Schlage 5 lehrreiche Themen für meine Branche für die kommende Woche vor.”
ParameterTypErforderlichBeschreibung
topicstringOptionalOptionaler Themenbereich.
localestringOptionalSprache der Ideen ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
Rückgabe: Object: { ideas: Array<{ title, angle, targetFormat, hook }> }

translate_post

MCP Tool

Mehrsprachige Lokalisierung: übersetzt und adaptiert Beiträge für 7 europäische Märkte unter Wahrung der Brand Voice.

Beispiel-Prompt in Claude / Cursor:
“Übersetze diesen Beitrag ins Deutsche mit einem lockeren, freundlichen Tonfall.”
ParameterTypErforderlichBeschreibung
textstringErforderlichOriginaltext des Beitrags.
target_languagestringErforderlichZielsprache ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
Rückgabe: Object: { translatedText, targetLanguage, notes }

create_post

MCP Tool

Beitragserstellung: legt einen Beitrag an, weist Zielkanäle zu und plant die Veröffentlichung oder sendet sofort.

Beispiel-Prompt in Claude / Cursor:
“Erstelle einen Beitrag 'Version 2.0 Release' und plane ihn für morgen um 10:00 Uhr auf Facebook und LinkedIn.”
ParameterTypErforderlichBeschreibung
titlestringErforderlichArbeitstitel des Beitrags.
contentstringErforderlichVollständiger Text mit Hashtags.
platformsarrayOptionalPlattformliste (z.B. ['facebook', 'linkedin']).
scheduled_atstringOptionalISO-Sendezeitpunkt. Leer = Entwurf.
publish_nowbooleanOptionalTrue für sofortige Veröffentlichung.
Rückgabe: Object: { id, title, status, scheduledAt, platforms }

list_posts

MCP Tool

Beitragsübersicht: Abruf von Beiträgen gefiltert nach Status: draft, scheduled, published, failed.

Beispiel-Prompt in Claude / Cursor:
“Zeige mir die nächsten 5 geplanten Beiträge in meinem Kalender.”
ParameterTypErforderlichBeschreibung
statusstringOptionalStatusfilter ('draft', 'scheduled', 'published', 'failed').
limitnumberOptionalMaximale Anzahl (Standard 20, max 50).
Rückgabe: Array of { id, title, content, status, scheduledAt, platforms, createdAt }

schedule_post

MCP Tool

Kalenderplaner: ändert oder setzt das Sendedatum eines bestehenden Beitrags.

Beispiel-Prompt in Claude / Cursor:
“Verschiebe den Beitrag mit ID 8f7e... auf nächsten Freitag um 18:00 Uhr.”
ParameterTypErforderlichBeschreibung
post_idstringErforderlichBeitrags-ID (UUID).
scheduled_atstringErforderlichNeuer ISO-Zeitpunkt.
Rückgabe: Object: { id, status: 'scheduled', scheduledAt }

publish_post

MCP Tool

Sofortveröffentlichung: sendet einen bestehenden Beitrag sofort an alle zugeordneten Kanäle.

Beispiel-Prompt in Claude / Cursor:
“Veröffentliche diesen Beitrag jetzt sofort auf allen verbundenen Profilen.”
ParameterTypErforderlichBeschreibung
post_idstringErforderlichBeitrags-ID (UUID).
Rückgabe: Object: { id, status: 'published', publishedAt, results }

delete_post

MCP Tool

Beitrag löschen: entfernt den Beitrag dauerhaft und bricht geplante Sendejobs ab.

Beispiel-Prompt in Claude / Cursor:
“Lösche den Beitragsentwurf mit ID b4c1...”
ParameterTypErforderlichBeschreibung
post_idstringErforderlichBeitrags-ID (UUID).
Rückgabe: Object: { success: true, deletedId }

analytics

MCP Tool

Analytics-Zentrale: aggregierte Kennzahlen zu Impressionen, Reichweite, Likes und Kommentaren nach Plattform.

Beispiel-Prompt in Claude / Cursor:
“Wie sehen unsere Beitragsstatistiken und Reichweiten der letzten 30 Tage aus?”
Rückgabe: Object: { summary: { totalImpressions, totalEngagements, totalLikes }, platforms: { ... } }

list_brands

MCP Tool

Markenverwaltung: Liste aller Marken/Mandanten im Workspace (für Pro- und Business-Tarife).

Beispiel-Prompt in Claude / Cursor:
“Zeige mir alle Marken, die ich in OperPilot verwalte.”
Rückgabe: Array of { id, name, industry, isDefault }
REST API

REST-API v1 Referenz

Für direkte HTTP-Integrationen mit Backend-Systemen, Cron-Jobs oder No-Code-Plattformen (Make.com, n8n, Zapier).

Base URL:https://app.operpilot.com/api/v1
GET

/profile

Markenprofil und Brand Voice abrufen

Liefert die vollständigen Markenrichtlinien: Name, Branche, Beschreibung, Zielgruppe, Brand Voice und Farbpalette.

curl -X GET "https://app.operpilot.com/api/v1/profile" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "profile": {
    "name": "Acme Software",
    "description": "Platforma automatyzacji AI dla e-commerce i marketingu B2B.",
    "industry": "Software / B2B SaaS",
    "targetAudience": "Właściciele sklepów internetowych, menedżerowie marketingu",
    "brandVoice": "Profesjonalny, oparty na faktach, technologiczny",
    "website": "https://example.com"
  }
}
GET

/channels

Angebundene Kanäle auflisten

Gibt die verknüpften Konten der 15 unterstützten Netzwerke (Facebook, Instagram, LinkedIn, Google Business, YouTube etc.) zurück.

curl -X GET "https://app.operpilot.com/api/v1/channels" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "channels": [
    {
      "id": "conn_91f8a2b3",
      "platform": "facebook",
      "name": "Acme Fanpage",
      "isConnected": true
    },
    {
      "id": "conn_44c21e7d",
      "platform": "linkedin",
      "name": "Acme Corporate",
      "isConnected": true
    }
  ]
}
GET

/posts

Beiträge und Kalender abrufen

Liefert die Beitragsliste mit Filterung nach Status (draft, scheduled, published, failed).

ParameterTypErforderlichBeschreibung
statusstring (query)OptionalFilter nach Status.
limitnumber (query)OptionalMax. Anzahl (max 50).
curl -X GET "https://app.operpilot.com/api/v1/posts" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "posts": [
    {
      "id": "c7a84e12-4215-4ff1-a8bc-19b841e42109",
      "title": "Nowości w ofercie",
      "status": "scheduled",
      "scheduledAt": "2026-10-25T14:00:00.000Z",
      "platforms": ["facebook", "linkedin"]
    }
  ]
}
POST

/posts

Neuen Beitrag erstellen

Erstellt einen Beitrag, verknüpft Kanäle und plant diesen oder sendet ihn sofort.

ParameterTypErforderlichBeschreibung
titlestringErforderlichBeitragstitel.
contentstringErforderlichVollständiger Text mit Hashtags.
platformsarrayOptionalZielplattformen.
scheduled_atstringOptionalISO-Termin für geplante Veröffentlichung.
publish_nowbooleanOptionalTrue für sofortiges Senden.
curl -X POST "https://app.operpilot.com/api/v1/posts" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Nowy post z API",
    "content": "Właśnie publikujemy ten wpis automatycznie przez OperPilot REST API v1 🚀",
    "platforms": ["facebook", "linkedin"],
    "publish_now": true
  }'
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "success": true,
  "post": {
    "id": "c7a84e12-4215-4ff1-a8bc-19b841e42109",
    "title": "Nowy post z API",
    "status": "scheduled",
    "scheduledAt": "2026-10-25T14:00:00.000Z",
    "platforms": ["facebook", "linkedin"]
  }
}
GET

/posts/:id

Beitragsdetails und Veröffentlichungsstatus

Gibt Details eines Beitrags samt externer Beitrags-IDs zurück.

ParameterTypErforderlichBeschreibung
idstring (path)ErforderlichBeitrags-ID (UUID).
curl -X GET "https://app.operpilot.com/api/v1/posts/c7a84e12-4215-4ff1-a8bc-19b841e42109" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "post": {
    "id": "c7a84e12-4215-4ff1-a8bc-19b841e42109",
    "title": "Jak automatyzacja oszczędza czas?",
    "status": "published",
    "targets": [
      { "platform": "facebook", "status": "published", "remotePostId": "fb_123456" },
      { "platform": "linkedin", "status": "published", "remotePostId": "urn:li:share:789" }
    ]
  }
}
PATCH

/posts/:id

Beitrag aktualisieren oder verschieben

Ermöglicht das Ändern von Inhalt, Titel oder Sendedatum.

ParameterTypErforderlichBeschreibung
idstring (path)ErforderlichBeitrags-ID (UUID).
titlestringOptionalNeuer Titel.
contentstringOptionalNeuer Inhalt.
scheduled_atstringOptionalNeuer ISO-Zeitpunkt.
curl -X PATCH "https://app.operpilot.com/api/v1/posts/c7a84e12-4215-4ff1-a8bc-19b841e42109" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "scheduled_at": "2026-10-25T16:00:00.000Z"
  }'
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "success": true,
  "post": {
    "id": "c7a84e12-4215-4ff1-a8bc-19b841e42109",
    "status": "scheduled",
    "scheduledAt": "2026-10-25T16:00:00.000Z"
  }
}
DELETE

/posts/:id

Beitrag löschen

Löscht den Beitrag dauerhaft und storniert geplante Sendeaufgaben.

ParameterTypErforderlichBeschreibung
idstring (path)ErforderlichBeitrags-ID (UUID).
curl -X DELETE "https://app.operpilot.com/api/v1/posts/c7a84e12-4215-4ff1-a8bc-19b841e42109" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "success": true,
  "message": "Post został pomyślnie usunięty."
}
GET

/analytics

Statistiken und Beitragsanalyse

Liefert Impressionen, Interaktionen, Likes und Kommentare nach Plattform.

curl -X GET "https://app.operpilot.com/api/v1/analytics" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "analytics": {
    "totalImpressions": 24500,
    "totalEngagements": 1820,
    "totalLikes": 1240,
    "totalComments": 185,
    "totalShares": 95,
    "byPlatform": {
      "facebook": { "impressions": 12000, "engagements": 920 },
      "linkedin": { "impressions": 8500, "engagements": 650 },
      "instagram": { "impressions": 4000, "engagements": 250 }
    }
  }
}
GET

/brands

Marken im Workspace auflisten

Liefert alle konfigurierten Marken des Accounts (Pro- & Business-Tarife).

curl -X GET "https://app.operpilot.com/api/v1/brands" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "brands": [
    {
      "id": "brand_01a",
      "name": "Acme Software",
      "industry": "IT & Automation",
      "isDefault": true
    }
  ]
}
AI Engine

KI-Engine in 7 Sprachen (Generierung, Ideen, Übersetzung)

Optimierte KI-Endpunkte zur Erstellung und Lokalisierung von Social-Media-Inhalten unter Berücksichtigung Ihres Brand Voice.

Unterstützte Veröffentlichungs- und Lokalisierungssprachen:
PL (pl) EN (en) DE (de) ES (es) FR (fr) IT (it) UK (uk)
POST

/ai/generate

KI-Beitragserstellung (7 Sprachen)

Generiert einen ansprechenden Beitrag im Stil Ihrer Brand Voice in einer von 7 Sprachen (PL, EN, DE, ES, FR, IT, UK) samt Hashtags.

ParameterTypErforderlichBeschreibung
topicstringErforderlichThema oder Botschaft.
languagestringOptionalSprachcode ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
platformstringOptionalZielplattform (z.B. 'linkedin').
tonestringOptionalTonalität (z.B. 'Experte').
curl -X POST "https://app.operpilot.com/api/v1/ai/generate" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "Wprowadzenie automatyzacji social media w firmie",
    "language": "de",
    "platform": "linkedin",
    "tone": "expert"
  }'
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "content": "Czy wiesz, że regularność w publikacji to klucz do algorytmów social media? 🚀\n\nOto 3 kroki, jak zautomatyzować publikacje bez utraty jakości...",
  "hashtags": ["#marketing", "#automatyzacja", "#socialmedia", "#productivity"],
  "language": "pl",
  "characterCount": 420
}
POST

/ai/ideas

Strategischer Ideengenerator für Beiträge

Liefert Beitragsansätze, Hooks und Formate passend zur Zielgruppe Ihrer Marke.

ParameterTypErforderlichBeschreibung
topicstringOptionalThemenfokus.
localestringOptionalSprache der Ideen ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
curl -X POST "https://app.operpilot.com/api/v1/ai/ideas" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "topic": "Marketing tips",
    "locale": "de"
  }'
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "ideas": [
    {
      "title": "5 błędów w planowaniu postów, które obcinają zasięg",
      "angle": "Post edukacyjny / checklista",
      "targetFormat": "Karuzela lub wątek",
      "hook": "Robisz to co tydzień? Algorytmy tego nie lubią..."
    }
  ]
}
POST

/ai/translate

Übersetzung und kulturelle Beitragsadaption

Übersetzt Beiträge in eine von 7 Sprachen unter Beachtung von Idiomen und Brand Voice.

ParameterTypErforderlichBeschreibung
textstringErforderlichZu übersetzender Text.
target_languagestringErforderlichZielsprache ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
curl -X POST "https://app.operpilot.com/api/v1/ai/translate" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "text": "Nasz nowy produkt jest już dostępny w sprzedaży!",
    "target_language": "de"
  }'
Beispiel-Antwort (HTTP 200 OK):
200 OK • JSON
{
  "translatedText": "Did you know that consistency is the #1 factor in social media reach? 🚀\n\nHere are 3 ways to automate your schedule while keeping human touch...",
  "targetLanguage": "en"
}

Fehlercodes & Limits

OperPilot folgt den Standard-HTTP-Codes. Alle 4xx- und 5xx-Fehler liefern detaillierte JSON-Nachrichten.

HTTP-CodeBezeichnungBedeutung und Lösung
200 OKSuccessAnfrage erfolgreich ausgeführt.
201 CreatedCreatedRessource (z.B. neuer Beitrag) erfolgreich angelegt.
400 Bad RequestInvalid RequestFehlende oder ungültige Pflichtfelder im Request-Body.
401 UnauthorizedUnauthorizedFehlender oder ungültiger API-Schlüssel im Authorization-Header.
403 ForbiddenForbiddenSchlüssel widerrufen oder unzureichende Berechtigungen.
404 Not FoundNot FoundDer angeforderte Beitrag oder die Ressource existiert nicht.
429 Too Many RequestsRate LimitedAnfragelimit überschritten (60 Anfragen/Min). Bitte kurz warten.
500 Internal ErrorServer ErrorUnerwarteter Serverfehler. Kontaktieren Sie kontakt@operpilot.com.

No-Code-Automatisierung (Make.com, Zapier, n8n)

Integrieren Sie OperPilot nahtlos in Ihre Make.com- oder Zapier-Szenarien mittels Standard-HTTP-Modulen:

Konfigurationsschritte in Make.com:

  1. Fügen Sie das Modul HTTP -> Make a request hinzu.
  2. Geben Sie die URL: https://app.operpilot.com/api/v1/posts und Method: POST an.
  3. Fügen Sie die Header hinzu: Authorization = Bearer op_live_IHR_KEY und Content-Type = application/json.
  4. Wählen Sie Raw -> JSON Body und übergeben Sie title, content, platforms und publish_now.