Ocoya
API

Bau Social Publishing direkt in dein Produkt ein.

Mit einer klaren REST-API und veröffentlichter OpenAPI-Spezifikation bettest du KI-gestütztes Social Publishing in jede App, jeden Workflow und jeden Agenten ein, den du baust.

POST /v1/post
curl -X POST https://app.ocoya.com/api/_public/v1/post \
-H "X-API-Key: $OCOYA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"socialProfileIds": ["sp_8f2a1c"],
"caption": "New summer menu is here ☀️",
"media": ["https://cdn.example.com/summer.jpg"],
"scheduledAt": "2026-09-01T09:00:00Z"
}'
201 Created
{
"id": "post_8f2a1c",
"status": "SCHEDULED",
"scheduledAt": "2026-09-01T09:00:00Z"
}

Klares REST + OpenAPI

Vorhersehbare REST-Ressourcen mit veröffentlichter OpenAPI-Spezifikation — generiere einen Client in jeder Sprache.

Auth per API-Key

Sende einen X-API-Key-Header — Keys erstellst und widerrufst du pro Marke in deinen Einstellungen.

KI inklusive

Dieselbe KI-Generierung für Beiträge und Kampagnen wie in der App, aufrufbar aus deinem Backend.

Dieselbe Engine wie die App

Jeder Endpoint bildet ab, was Ocoya selbst antreibt — nichts wird zurückgehalten.

OpenAPI

Eine Spezifikation, aus der du einen Client generierst.

Die gesamte v1-Oberfläche gibt es als OpenAPI-Dokument — du musst also keine Doku lesen und Request-Objekte von Hand schreiben. Generiere einen typisierten Client in der Sprache, mit der du arbeitest, oder richte Postman, Insomnia oder dein eigenes Tooling direkt darauf.

  • Typisierte Clients in jeder Sprache, die die Generatoren unterstützen
  • Request- und Response-Strukturen bleiben synchron mit der API
  • Unverändert in dein bestehendes API-Tooling übernehmen
openapi.jsonv1
{
"openapi": "3.1.0",
"paths": {
"/v1/post": { ... },
"/v1/campaigns": { ... }
}
}
TypeScriptPythonGoRubyPHPJava

Generiere einen typisierten Client in der Sprache, die du ohnehin nutzt, oder richte dein API-Tooling direkt auf die Spezifikation.

Standardmäßig asynchron

Lange Jobs antworten sofort.

Die KI-Generierung von Kampagnen wird in eine Warteschlange gestellt, statt innerhalb deines Requests zu laufen. Der Aufruf liefert sofort eine Kampagnen-ID; frag die Ressource ab, und die Beiträge füllen sich, während sie geschrieben werden — nichts in deiner App wartet auf ein Modell.

  • Das Erstellen einer Kampagne antwortet sofort mit einer ID
  • Frag die Kampagnen-Ressource ab und sieh die Beiträge erscheinen
  • Die KI-Generierung nutzt dieselben Credits wie die App
POST /v1/campaignsgenerating
// returns immediately
{ "id": "cmp_8fa2", "status": "generating", "posts": 8 }
Beitrag 1 — Instagram
Beitrag 2 — LinkedIn
Beitrag 3 — X
Beitrag 4 — Instagram
Beitrag 5 — TikTok

Der Aufruf antwortet sofort. Frag die Kampagnen-Ressource ab, und die Beiträge erscheinen, sobald sie generiert sind — nichts blockiert deinen Request-Thread.

Ressourcen

Alles, was die App kann, direkt aufrufbar.

Acht REST-Ressourcen decken die gesamte Plattform ab — Veröffentlichung, KI-Kampagnen, Marken-Assets, Workflows und Marken.

/v1/post

Beiträge in verbundenen Netzwerken erstellen, planen, aktualisieren und veröffentlichen.

/v1/campaigns

KI-Kampagnen in die Warteschlange stellen und die Beiträge verfolgen, während sie entstehen.

/v1/social-profiles

Verbundene Profile auflisten und neue Social-Verbindungen starten.

/v1/hashtag-libraries

Kuratierte Hashtag-Sets abrufen und Beiträgen programmatisch hinzufügen.

/v1/studio-templates

Wiederverwendbare Studio-Designvorlagen für neue Inhalte auflisten.

/v1/workflow

Automatisierungs-Workflows einsehen, ein- und ausschalten und bei Bedarf ausführen.

/v1/brands

Marken auflisten und jeden Aufruf korrekt zuordnen.

/v1/me

Den Token prüfen — wer bin ich, und worauf habe ich Zugriff?

Lebenszyklus eines Beitrags

Du weißt immer, wo ein Beitrag steht.

Jeder Beitrag hat einen von acht Status, und du kannst nach jedem davon filtern. Frag eine Kampagne ab, während sie generiert wird, halte Beiträge bis zur Freigabe zurück oder alarmiere deine eigenen Systeme, sobald etwas einen Menschen braucht.

Fehler verschwinden nie stillschweigend — NEEDS_ATTENTION und ERROR enthalten den Grund, den das Netzwerk angegeben hat, sodass du ihn in deiner eigenen UI anzeigen kannst.

GET /v1/post?statuses=

8 Werte
GENERATING
DRAFT
PENDING_INTERNAL_APPROVAL
PENDING_CLIENT_APPROVAL
SCHEDULED
POSTED
NEEDS_ATTENTION
ERROR

Anfragen in diesem Zeitfenster

60s

RateLimit-Limit

60

RateLimit-Remaining

17

RateLimit-Reset

38

429 Too Many Requests
{
"message": "You've exceeded the request limit."
}
Limits

Vorhersehbare Limits, Standard-Header.

Standardmäßig 60 Anfragen pro Minute. Jede Antwort enthält die Standard-Header RateLimit-* — so kann dein Client drosseln, bevor er je einen 429 bekommt. Kein Raten, keine undokumentierte Drosselung.

Lies das verbleibende Kontingent aus jeder AntwortEin 429 sagt dir genau, wann du es erneut versuchen kannstMassenveröffentlichung läuft serverseitig, nicht Request für Request
Onboarding

Lass deine Nutzer ihre eigenen Konten verbinden.

Fordere eine Verbindungs-URL an und gib sie an deine Nutzer weiter. Sie bestätigen direkt im Netzwerk, und das Profil landet veröffentlichungsbereit in deiner Marke — du fasst nie einen Social-Token an, und sie sehen nie Ocoya.

Genau das macht die API tauglich für ein Produkt mit eigenen Kunden — nicht nur für die Automatisierung deines eigenen Kontos.

1Deine AppPOST /v1/social-profiles/connection-url
2OcoyaLiefert eine einmalige OAuth-Start-URL
3Deine NutzerBestätigen auf Instagram, X, LinkedIn…
4Deine AppProfil erscheint in /v1/social-profiles

Deine Nutzer sehen nie ein Ocoya-Login — die Verbindung landet direkt in deiner Marke.

Du baust lieber einen KI-Agenten?

Dieselbe Plattform steht über MCP bereit — 20+ Tools, die dein Agent direkt aufrufen kann, ganz ohne REST-Glue-Code.

MCP entdecken
Fragen

Die API: die Antworten.

Erstelle unter Settings → API einen API-Key und sende ihn im X-API-Key-Header an die Basis-URL https://app.ocoya.com/api/_public/v1. Keys gelten pro Marke und lassen sich jederzeit widerrufen — bewahre sie serverseitig auf.

Bau Social Publishing jetzt ein.

Hol dir deinen API-Token und mach deinen ersten Aufruf in wenigen Minuten.