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:
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.
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
{
"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)
{
"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
Marken-DNA: Unternehmensprofil, Branche, Zielgruppe, Brand Voice, visuelle Richtlinien und Farbpalette — Wissenskontext für die KI.
connected_accounts
Aktive Kanäle: Liste aller angebundenen Profile (von 15 Plattformen), die für sofortige oder geplante Posts bereitstehen.
generate_post
KI-Texter: erstellt ansprechende Beiträge mit Hashtags in einer von 7 Sprachen (PL, EN, DE, ES, FR, IT, UK) passend zur Brand Voice.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| topic | string | Erforderlich | Thema oder Botschaft des Beitrags. |
| language | string | Optional | Sprachcode ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk'). |
| platform | string | Optional | Zielplattform (z.B. 'linkedin', 'facebook'). |
| tone | string | Optional | Tonalität (z.B. 'Experte', 'Locker'). |
generate_ideas
Strategischer Ideengenerator: liefert neue Themenideen und Beitragsansätze für Ihre Branche.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| topic | string | Optional | Optionaler Themenbereich. |
| locale | string | Optional | Sprache der Ideen ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk'). |
translate_post
Mehrsprachige Lokalisierung: übersetzt und adaptiert Beiträge für 7 europäische Märkte unter Wahrung der Brand Voice.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| text | string | Erforderlich | Originaltext des Beitrags. |
| target_language | string | Erforderlich | Zielsprache ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk'). |
create_post
Beitragserstellung: legt einen Beitrag an, weist Zielkanäle zu und plant die Veröffentlichung oder sendet sofort.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| title | string | Erforderlich | Arbeitstitel des Beitrags. |
| content | string | Erforderlich | Vollständiger Text mit Hashtags. |
| platforms | array | Optional | Plattformliste (z.B. ['facebook', 'linkedin']). |
| scheduled_at | string | Optional | ISO-Sendezeitpunkt. Leer = Entwurf. |
| publish_now | boolean | Optional | True für sofortige Veröffentlichung. |
list_posts
Beitragsübersicht: Abruf von Beiträgen gefiltert nach Status: draft, scheduled, published, failed.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| status | string | Optional | Statusfilter ('draft', 'scheduled', 'published', 'failed'). |
| limit | number | Optional | Maximale Anzahl (Standard 20, max 50). |
schedule_post
Kalenderplaner: ändert oder setzt das Sendedatum eines bestehenden Beitrags.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| post_id | string | Erforderlich | Beitrags-ID (UUID). |
| scheduled_at | string | Erforderlich | Neuer ISO-Zeitpunkt. |
publish_post
Sofortveröffentlichung: sendet einen bestehenden Beitrag sofort an alle zugeordneten Kanäle.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| post_id | string | Erforderlich | Beitrags-ID (UUID). |
delete_post
Beitrag löschen: entfernt den Beitrag dauerhaft und bricht geplante Sendejobs ab.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| post_id | string | Erforderlich | Beitrags-ID (UUID). |
analytics
Analytics-Zentrale: aggregierte Kennzahlen zu Impressionen, Reichweite, Likes und Kommentaren nach Plattform.
list_brands
Markenverwaltung: Liste aller Marken/Mandanten im Workspace (für Pro- und Business-Tarife).
REST-API v1 Referenz
Für direkte HTTP-Integrationen mit Backend-Systemen, Cron-Jobs oder No-Code-Plattformen (Make.com, n8n, Zapier).
https://app.operpilot.com/api/v1/profile
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"{
"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"
}
}/channels
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"{
"channels": [
{
"id": "conn_91f8a2b3",
"platform": "facebook",
"name": "Acme Fanpage",
"isConnected": true
},
{
"id": "conn_44c21e7d",
"platform": "linkedin",
"name": "Acme Corporate",
"isConnected": true
}
]
}/posts
Liefert die Beitragsliste mit Filterung nach Status (draft, scheduled, published, failed).
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| status | string (query) | Optional | Filter nach Status. |
| limit | number (query) | Optional | Max. 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"{
"posts": [
{
"id": "c7a84e12-4215-4ff1-a8bc-19b841e42109",
"title": "Nowości w ofercie",
"status": "scheduled",
"scheduledAt": "2026-10-25T14:00:00.000Z",
"platforms": ["facebook", "linkedin"]
}
]
}/posts
Erstellt einen Beitrag, verknüpft Kanäle und plant diesen oder sendet ihn sofort.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| title | string | Erforderlich | Beitragstitel. |
| content | string | Erforderlich | Vollständiger Text mit Hashtags. |
| platforms | array | Optional | Zielplattformen. |
| scheduled_at | string | Optional | ISO-Termin für geplante Veröffentlichung. |
| publish_now | boolean | Optional | True 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
}'{
"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"]
}
}/posts/:id
Gibt Details eines Beitrags samt externer Beitrags-IDs zurück.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| id | string (path) | Erforderlich | Beitrags-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"{
"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" }
]
}
}/posts/:id
Ermöglicht das Ändern von Inhalt, Titel oder Sendedatum.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| id | string (path) | Erforderlich | Beitrags-ID (UUID). |
| title | string | Optional | Neuer Titel. |
| content | string | Optional | Neuer Inhalt. |
| scheduled_at | string | Optional | Neuer 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"
}'{
"success": true,
"post": {
"id": "c7a84e12-4215-4ff1-a8bc-19b841e42109",
"status": "scheduled",
"scheduledAt": "2026-10-25T16:00:00.000Z"
}
}/posts/:id
Löscht den Beitrag dauerhaft und storniert geplante Sendeaufgaben.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| id | string (path) | Erforderlich | Beitrags-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"{
"success": true,
"message": "Post został pomyślnie usunięty."
}/analytics
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"{
"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 }
}
}
}/brands
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"{
"brands": [
{
"id": "brand_01a",
"name": "Acme Software",
"industry": "IT & Automation",
"isDefault": true
}
]
}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.
/ai/generate
Generiert einen ansprechenden Beitrag im Stil Ihrer Brand Voice in einer von 7 Sprachen (PL, EN, DE, ES, FR, IT, UK) samt Hashtags.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| topic | string | Erforderlich | Thema oder Botschaft. |
| language | string | Optional | Sprachcode ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk'). |
| platform | string | Optional | Zielplattform (z.B. 'linkedin'). |
| tone | string | Optional | Tonalitä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"
}'{
"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
}/ai/ideas
Liefert Beitragsansätze, Hooks und Formate passend zur Zielgruppe Ihrer Marke.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| topic | string | Optional | Themenfokus. |
| locale | string | Optional | Sprache 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"
}'{
"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ą..."
}
]
}/ai/translate
Übersetzt Beiträge in eine von 7 Sprachen unter Beachtung von Idiomen und Brand Voice.
| Parameter | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
| text | string | Erforderlich | Zu übersetzender Text. |
| target_language | string | Erforderlich | Zielsprache ('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"
}'{
"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-Code | Bezeichnung | Bedeutung und Lösung |
|---|---|---|
| 200 OK | Success | Anfrage erfolgreich ausgeführt. |
| 201 Created | Created | Ressource (z.B. neuer Beitrag) erfolgreich angelegt. |
| 400 Bad Request | Invalid Request | Fehlende oder ungültige Pflichtfelder im Request-Body. |
| 401 Unauthorized | Unauthorized | Fehlender oder ungültiger API-Schlüssel im Authorization-Header. |
| 403 Forbidden | Forbidden | Schlüssel widerrufen oder unzureichende Berechtigungen. |
| 404 Not Found | Not Found | Der angeforderte Beitrag oder die Ressource existiert nicht. |
| 429 Too Many Requests | Rate Limited | Anfragelimit überschritten (60 Anfragen/Min). Bitte kurz warten. |
| 500 Internal Error | Server Error | Unerwarteter 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:
- Fügen Sie das Modul HTTP -> Make a request hinzu.
- Geben Sie die URL: https://app.operpilot.com/api/v1/posts und Method: POST an.
- Fügen Sie die Header hinzu: Authorization = Bearer op_live_IHR_KEY und Content-Type = application/json.
- Wählen Sie Raw -> JSON Body und übergeben Sie title, content, platforms und publish_now.