Ocoya
API

Integra la pubblicazione social nel tuo prodotto.

Una REST API pulita, con una specifica OpenAPI pubblica, ti permette di integrare la pubblicazione social basata sull’IA in qualsiasi app, workflow o agente che sviluppi.

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"
}

REST pulita + OpenAPI

Risorse REST prevedibili con una specifica OpenAPI pubblica — genera un client in qualsiasi linguaggio.

Autenticazione con chiave API

Invia un header X-API-Key — crea e revoca le chiavi per brand dalle impostazioni.

IA inclusa

La stessa generazione IA di post e campagne dell’app, richiamabile dal tuo backend.

Lo stesso motore dell’app

Ogni endpoint rispecchia ciò che fa funzionare Ocoya — senza limitazioni.

OpenAPI

Una specifica da cui generare un client.

L’intera superficie v1 è disponibile come documento OpenAPI, così non devi leggere descrizioni e scrivere a mano gli oggetti delle richieste. Genera un client tipizzato nel linguaggio con cui lavori già, o punta Postman, Insomnia o i tuoi strumenti direttamente sulla specifica.

  • Client tipizzati in qualsiasi linguaggio supportato dai generatori
  • Le strutture di richieste e risposte restano allineate all’API
  • Inseriscila nei tuoi strumenti API così com’è
openapi.jsonv1
{
"openapi": "3.1.0",
"paths": {
"/v1/post": { ... },
"/v1/campaigns": { ... }
}
}
TypeScriptPythonGoRubyPHPJava

Genera un client tipizzato nel linguaggio che usi già, o punta i tuoi strumenti API direttamente sulla specifica.

Asincrona per impostazione predefinita

I lavori lunghi rispondono subito.

La generazione IA delle campagne viene messa in coda invece di essere eseguita dentro la tua richiesta. La chiamata restituisce subito un id della campagna; interroga la risorsa e i post si riempiono man mano che vengono scritti, così nulla nella tua app resta in attesa di un modello.

  • La creazione della campagna risponde subito con un id
  • Interroga la risorsa della campagna per vedere comparire i post
  • La generazione IA usa gli stessi crediti dell’app
POST /v1/campaignsgenerating
// returns immediately
{ "id": "cmp_8fa2", "status": "generating", "posts": 8 }
Post 1 — Instagram
Post 2 — LinkedIn
Post 3 — X
Post 4 — Instagram
Post 5 — TikTok

La chiamata risponde subito. Interroga la risorsa della campagna e i post compaiono man mano che vengono generati — nulla blocca il thread della tua richiesta.

Risorse

Tutto ciò che fa l’app, richiamabile direttamente.

Otto risorse REST coprono l’intera piattaforma — pubblicazione, campagne IA, asset del brand, workflow e brand.

/v1/post

Crea, programma, aggiorna e pubblica post sui social collegati.

/v1/campaigns

Metti in coda la generazione IA delle campagne e segui i post man mano che arrivano.

/v1/social-profiles

Elenca i profili collegati e avvia nuovi collegamenti social.

/v1/hashtag-libraries

Recupera set di hashtag selezionati da allegare ai post in modo programmatico.

/v1/studio-templates

Elenca i modelli di design riutilizzabili dello Studio per nuovi contenuti.

/v1/workflow

Ispeziona, attiva/disattiva ed esegui i workflow di automazione su richiesta.

/v1/brands

Elenca i brand e delimita correttamente ogni chiamata.

/v1/me

Ispeziona il token — chi sono e a cosa posso accedere?

Ciclo di vita del post

Sai sempre a che punto è un post.

Ogni post ha uno di otto stati, e puoi filtrare per ognuno. Interroga una campagna mentre viene generata, trattieni i post in attesa di approvazione o avvisa i tuoi sistemi appena qualcosa richiede l’intervento di una persona.

Gli errori non spariscono mai in silenzio — NEEDS_ATTENTION e ERROR riportano il motivo indicato dal social, così puoi mostrarlo nella tua interfaccia.

GET /v1/post?statuses=

8 valori
GENERATING
DRAFT
PENDING_INTERNAL_APPROVAL
PENDING_CLIENT_APPROVAL
SCHEDULED
POSTED
NEEDS_ATTENTION
ERROR

Richieste in questa finestra

60s

RateLimit-Limit

60

RateLimit-Remaining

17

RateLimit-Reset

38

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

Limiti prevedibili, header standard.

60 richieste al minuto per impostazione predefinita. Ogni risposta include gli header standard RateLimit-* , così il tuo client può rallentare prima di ricevere un 429 — niente congetture, nessun throttling non documentato.

Leggi il budget rimanente da ogni rispostaUn 429 ti dice esattamente quando riprovareLa pubblicazione in blocco gira lato server, non richiesta per richiesta
Onboarding

Lascia che i tuoi utenti colleghino i propri account.

Richiedi un URL di collegamento e consegnalo al tuo utente. Approva direttamente sul social e il profilo arriva nel tuo brand pronto per la pubblicazione — non tocchi mai un token social e l’utente non vede mai Ocoya.

È questo che rende l’API adatta a un prodotto con clienti propri, e non solo ad automatizzare il tuo account.

1La tua appPOST /v1/social-profiles/connection-url
2OcoyaRestituisce un URL OAuth monouso
3Il tuo utenteApprova su Instagram, X, LinkedIn…
4La tua appIl profilo compare in /v1/social-profiles

I tuoi utenti non vedono mai un login Ocoya — il collegamento arriva nel tuo brand.

Stai sviluppando un agente IA?

La stessa piattaforma è esposta via MCP — oltre 20 strumenti che il tuo agente può chiamare direttamente, senza codice REST di raccordo.

Scopri MCP
Domande

L’API, le risposte.

Crea una chiave API in Settings → API e inviala nell’header X-API-Key verso l’URL di base https://app.ocoya.com/api/_public/v1. Le chiavi sono delimitate per brand e revocabili in qualsiasi momento — tienile lato server.

Inizia a integrare la pubblicazione social.

Prendi il tuo token API e fai la prima chiamata in pochi minuti.