REST API v1 & MCP Протокол • Стандарт 2026

Документація REST API v1 & Model Context Protocol (MCP)

Керуйте брендами, генеруйте дописи за допомогою ШІ, плануйте публікації на 15 платформах та підключайте OperPilot до Claude Desktop, Cursor AI або Make.com.

Базова URL-адреса робочого API:

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

Автентифікація (API Key)

Усі запити потребують секретного ключа API, переданого у заголовку Authorization як Bearer токен. Ключі створюються в кабінеті користувача.

Ліміти запитів (Rate Limits)

Стандартний ліміт — 60 запитів на хвилину на один ключ API. При перевищенні повертається статус 429 Too Many Requests.

MCP Protocol

Model Context Protocol (MCP)

Підключіть OperPilot безпосередньо до Claude Desktop, Cursor AI або будь-якого клієнта MCP для надання ШІ доступу до 12 інструментів публікації.

Конфігурація у 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"
      }
    }
  }
}

Конфігурація у 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 OperPilot

Після підключення MCP сервера ваш ШІ-асистент отримує прямий доступ до наступних 12 функцій за допомогою природних команд.

get_profile

MCP Tool

ДНК вашого бренду: профіль компанії, галузь, цільова аудиторія, стиль комунікації (Brand Voice) та візуальні орієнтири для ШІ.

Приклад промпту в Claude / Cursor:
“Отримай профіль мого бренду та підкажи, яким тоном краще писати дописи.”
Повертає: Object: { name, description, industry, targetAudience, brandVoice, visualGuidelines, primaryColors, website }

connected_accounts

MCP Tool

Активні канали публікації: повний перелік підключених соціальних профілів (з 15 платформ), готових до негайної або запланованої публікації.

Приклад промпту в Claude / Cursor:
“Які облікові записи соціальних мереж зараз підключені до мого OperPilot?”
Повертає: Array of { id, platform, name, accountType, isConnected, avatarUrl }

generate_post

MCP Tool

ШІ-генератор дописів: створює влучний текст з хештегами будь-якою з 7 мов (PL, EN, DE, ES, FR, IT, UK) відповідно до стилю вашого бренду.

Приклад промпту в Claude / Cursor:
“Напиши допис для LinkedIn про переваги автоматизації соціальних мереж.”
ПараметрТипОбов'язковийОпис
topicstringОбов'язковийТема, мета або ключове повідомлення.
languagestringНеобов'язковийКод мови ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
platformstringНеобов'язковийЦільова платформа (наприклад, 'linkedin', 'facebook').
tonestringНеобов'язковийСтиль подачі (наприклад, 'експертний', 'розмовний').
Повертає: Object: { content, hashtags, suggestedPlatform, charCount }

generate_ideas

MCP Tool

Генератор тем та ідей: пропонує свіжі концепції публікацій, адаптовані до вашої ніші.

Приклад промпту в Claude / Cursor:
“Запропонуй 5 навчальних тем для дописів у моїй сфері на наступний тиждень.”
ПараметрТипОбов'язковийОпис
topicstringНеобов'язковийТематика або напрямок кампанії.
localestringНеобов'язковийМова ідей ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
Повертає: Object: { ideas: Array<{ title, angle, targetFormat, hook }> }

translate_post

MCP Tool

Мультимовна адаптація: перекладає та локалізує допис для 7 європейських ринків зі збереженням Brand Voice.

Приклад промпту в Claude / Cursor:
“Переклади цей допис німецькою мовою зі збереженням дружнього тону.”
ПараметрТипОбов'язковийОпис
textstringОбов'язковийТекст допису для перекладу.
target_languagestringОбов'язковийЦільова мова ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
Повертає: Object: { translatedText, targetLanguage, notes }

create_post

MCP Tool

Реєстрація допису: створює публікацію в OperPilot, призначає платформи та планує час виходу або публікує миттєво.

Приклад промпту в Claude / Cursor:
“Створи допис із заголовком 'Реліз версії 2.0' та заплануй на завтра на 10:00 у Facebook та LinkedIn.”
ПараметрТипОбов'язковийОпис
titlestringОбов'язковийРобоча назва допису.
contentstringОбов'язковийПовний текст допису з хештегами.
platformsarrayНеобов'язковийПерелік платформ (наприклад, ['facebook', 'linkedin']).
scheduled_atstringНеобов'язковийЧас публікації у форматі ISO. Порожньо = чернетка.
publish_nowbooleanНеобов'язковийTrue — опублікувати негайно.
Повертає: Object: { id, title, status, scheduledAt, platforms }

list_posts

MCP Tool

Реєстр публікацій: перегляд дописів з фільтрацією за статусом (draft, scheduled, published, failed).

Приклад промпту в Claude / Cursor:
“Покажи 5 найближчих запланованих дописів у моєму календарі.”
ПараметрТипОбов'язковийОпис
statusstringНеобов'язковийФільтр статусу ('draft', 'scheduled', 'published', 'failed').
limitnumberНеобов'язковийМаксимальна кількість (за замовчуванням 20, макс 50).
Повертає: Array of { id, title, content, status, scheduledAt, platforms, createdAt }

schedule_post

MCP Tool

Планувальник: змінює або призначає дату та час виходу існуючого допису.

Приклад промпту в Claude / Cursor:
“Перенеси допис з ID 8f7e... на найближчу п'ятницю на 18:00.”
ПараметрТипОбов'язковийОпис
post_idstringОбов'язковийІдентифікатор допису (UUID).
scheduled_atstringОбов'язковийНовий час у форматі ISO.
Повертає: Object: { id, status: 'scheduled', scheduledAt }

publish_post

MCP Tool

Миттєва публікація: відправляє створений допис на всі призначені канали прямо зараз.

Приклад промпту в Claude / Cursor:
“Опублікуй цей допис негайно на всіх підключених профілях.”
ПараметрТипОбов'язковийОпис
post_idstringОбов'язковийІдентифікатор допису (UUID).
Повертає: Object: { id, status: 'published', publishedAt, results }

delete_post

MCP Tool

Видалення: безповоротно видаляє допис та скасовує чергу відправки.

Приклад промпту в Claude / Cursor:
“Видали чернетку допису з ID b4c1...”
ПараметрТипОбов'язковийОпис
post_idstringОбов'язковийІдентифікатор допису (UUID).
Повертає: Object: { success: true, deletedId }

analytics

MCP Tool

Аналітичний центр: статистика переглядів, вподобань, коментарів та взаємодій за платформами.

Приклад промпту в Claude / Cursor:
“Яка статистика та охоплення публікацій за останні 30 днів?”
Повертає: Object: { summary: { totalImpressions, totalEngagements, totalLikes }, platforms: { ... } }

list_brands

MCP Tool

Керування брендами: перелік брендів/клієнтів у робочому просторі (для тарифів Pro та Business).

Приклад промпту в Claude / Cursor:
“Покажи всі бренди, якими я керую в OperPilot.”
Повертає: Array of { id, name, industry, isDefault }
REST API

Довідник REST API v1

Для прямої інтеграції через HTTP з власними бекенд-системами, скриптами або no-code платформами (Make.com, n8n, Zapier).

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

/profile

Отримання профілю бренду (Brand Voice)

Повертає повні настанови бренду: назву, галузь, опис діяльності, цільову аудиторію, стиль комунікації та колірну палітру.

curl -X GET "https://app.operpilot.com/api/v1/profile" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Приклад відповіді (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

Список підключених каналів

Повертає підключені акаунти з 15 підтримуваних мереж (Facebook, Instagram, LinkedIn, Google Business, YouTube тощо).

curl -X GET "https://app.operpilot.com/api/v1/channels" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Приклад відповіді (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

Список дописів та календар

Повертає список дописів з фільтрацією за статусом (draft, scheduled, published, failed).

ПараметрТипОбов'язковийОпис
statusstring (query)Необов'язковийФільтр статусу ('draft', 'scheduled', 'published', 'failed').
limitnumber (query)Необов'язковийЛіміт записів (макс 50).
curl -X GET "https://app.operpilot.com/api/v1/posts" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Приклад відповіді (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

Створення нового допису

Створює допис у базі, прив'язує канали та за бажанням планує дату або публікує миттєво.

ПараметрТипОбов'язковийОпис
titlestringОбов'язковийЗаголовок або робоча назва.
contentstringОбов'язковийПовний текст допису з хештегами.
platformsarrayНеобов'язковийСписок платформ.
scheduled_atstringНеобов'язковийЧас ISO для планування.
publish_nowbooleanНеобов'язковийTrue — публікувати негайно.
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
  }'
Приклад відповіді (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

Деталі та статус публікації допису

Повертає детальний об'єкт допису з ідентифікаторами віддалених публікацій у соцмережах.

ПараметрТипОбов'язковийОпис
idstring (path)Обов'язковийІдентифікатор допису (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"
Приклад відповіді (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

Оновлення або перенесення дати допису

Дозволяє редагувати текст, заголовок або переносити запланований час виходу.

ПараметрТипОбов'язковийОпис
idstring (path)Обов'язковийІдентифікатор допису (UUID).
titlestringНеобов'язковийНовий заголовок.
contentstringНеобов'язковийНовий текст.
scheduled_atstringНеобов'язковийНовий час ISO.
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"
  }'
Приклад відповіді (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

Видалення допису

Незворотно видаляє допис та скасовує завдання у черзі відправки.

ПараметрТипОбов'язковийОпис
idstring (path)Обов'язковийІдентифікатор допису (UUID).
curl -X DELETE "https://app.operpilot.com/api/v1/posts/c7a84e12-4215-4ff1-a8bc-19b841e42109" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY"
Приклад відповіді (HTTP 200 OK):
200 OK • JSON
{
  "success": true,
  "message": "Post został pomyślnie usunięty."
}
GET

/analytics

Статистика та аналітика публікацій

Повертає підсумок переглядів, залучення, лайків та коментарів за кожною платформою.

curl -X GET "https://app.operpilot.com/api/v1/analytics" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Приклад відповіді (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

Список брендів у робочому просторі

Повертає перелік усіх брендів/клієнтів у робочому просторі (для пакетів Pro та Business).

curl -X GET "https://app.operpilot.com/api/v1/brands" \
  -H "Authorization: Bearer op_live_YOUR_API_KEY" \
  -H "Accept: application/json"
Приклад відповіді (HTTP 200 OK):
200 OK • JSON
{
  "brands": [
    {
      "id": "brand_01a",
      "name": "Acme Software",
      "industry": "IT & Automation",
      "isDefault": true
    }
  ]
}
AI Engine

ШІ-двигун на 7 мовах (Генерація, Ідеї, Переклад)

Вбудовані ендпоінти штучного інтелекту, оптимізовані для копірайтингу та локалізації під 12 соціальних мереж з дотриманням Brand Voice.

Підтримувані мови публікації та локалізації:
PL (pl) EN (en) DE (de) ES (es) FR (fr) IT (it) UK (uk)
POST

/ai/generate

Генерація допису з ШІ (7 мов)

Генерує допис відповідно до стилю бренду (Brand Voice) будь-якою з 7 мов (PL, EN, DE, ES, FR, IT, UK) разом з хештегами.

ПараметрТипОбов'язковийОпис
topicstringОбов'язковийТема, мета або ключове повідомлення.
languagestringНеобов'язковийКод мови ('pl', 'en', 'de', 'es', 'fr', 'it', 'uk').
platformstringНеобов'язковийПлатформа (наприклад, 'linkedin', 'facebook').
tonestringНеобов'язковийСтиль (наприклад, 'експертний').
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": "uk",
    "platform": "linkedin",
    "tone": "expert"
  }'
Приклад відповіді (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

Генератор тем та ідей для контенту

Формує набір пропозицій дописів, влучних заголовків та форматів для вашої цільової аудиторії.

ПараметрТипОбов'язковийОпис
topicstringНеобов'язковийТема або мотив кампанії.
localestringНеобов'язковийМова ідей ('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": "uk"
  }'
Приклад відповіді (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

Переклад та культурна адаптація допису

Перекладає допис на будь-яку з 7 мов з урахуванням регіональної специфіки, ідіом та стилю бренду.

ПараметрТипОбов'язковийОпис
textstringОбов'язковийТекст для перекладу.
target_languagestringОбов'язковийЦільова мова ('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"
  }'
Приклад відповіді (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"
}

Коди помилок та ліміти запитів

OperPilot API використовує стандартні коди HTTP відповідей зі зрозумілими повідомленнями JSON.

Код HTTPНазваЗначення та вирішення
200 OKSuccessЗапит виконано успішно.
201 CreatedCreatedРесурс (наприклад, новий допис) успішно створено.
400 Bad RequestInvalid RequestВідсутні обов'язкові поля або некоректні дані (наприклад, немає 'title' чи 'content').
401 UnauthorizedUnauthorizedВідсутній або недійсний ключ API у заголовку Authorization: Bearer.
403 ForbiddenForbiddenКлюч API анульовано або він не має прав на виконання цієї операції.
404 Not FoundNot FoundВказаний допис або ресурс не знайдено.
429 Too Many RequestsRate LimitedПеревищено ліміт запитів (60 запитів/хвилину). Зачекайте перед повторною спробою.
500 Internal ErrorServer ErrorНеочікувана помилка сервера. Зверніться до підтримки: kontakt@operpilot.com.

No-Code автоматизація (Make.com, Zapier, n8n)

Підключайте OperPilot до сценаріїв Make.com або Zapier за допомогою стандартного HTTP модуля:

Кроки налаштування в Make.com:

  1. Додайте модуль HTTP -> Make a request.
  2. Вкажіть URL: https://app.operpilot.com/api/v1/posts та Method: POST.
  3. У Headers вкажіть: Authorization = Bearer op_live_ВАШ_КЛЮЧ та Content-Type = application/json.
  4. У Body Type оберіть Raw -> JSON та передайте параметри title, content, platforms і publish_now.