Ocoya
API

Intégrez la publication sociale à votre produit.

Une API REST claire, avec une spec OpenAPI publiée, pour intégrer la publication sociale par IA dans n’importe quelle app, n’importe quel workflow ou agent que vous développez.

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 clair + OpenAPI

Des ressources REST prévisibles avec une spec OpenAPI publiée — générez un client dans n’importe quel langage.

Authentification par clé API

Envoyez un en-tête X-API-Key — créez et révoquez des clés par marque depuis vos réglages.

IA incluse

La même génération IA de publications et de campagnes que dans l’app, appelable depuis votre backend.

Le même moteur que l’app

Chaque endpoint reflète ce qui fait tourner Ocoya — rien n’est mis de côté.

OpenAPI

Une spec à partir de laquelle générer un client.

Toute la surface v1 est fournie sous forme de document OpenAPI : vous ne lisez pas de prose pour écrire vos objets de requête à la main. Générez un client typé dans votre langage habituel, ou pointez Postman, Insomnia ou vos propres outils directement dessus.

  • Des clients typés dans tous les langages pris en charge par les générateurs
  • Formats de requête et de réponse toujours synchronisés avec l’API
  • À brancher tel quel dans vos outils API existants
openapi.jsonv1
{
"openapi": "3.1.0",
"paths": {
"/v1/post": { ... },
"/v1/campaigns": { ... }
}
}
TypeScriptPythonGoRubyPHPJava

Générez un client typé dans le langage que vous utilisez déjà, ou pointez vos outils API directement sur la spec.

Asynchrone par défaut

Les tâches longues répondent tout de suite.

La génération de campagnes IA est mise en file au lieu de s’exécuter dans votre requête. L’appel renvoie immédiatement un id de campagne ; interrogez la ressource et les publications se remplissent au fil de leur rédaction, sans que votre app attende un modèle.

  • La création de campagne répond immédiatement avec un id
  • Interrogez la ressource de campagne pour voir les publications arriver
  • La génération IA utilise les mêmes crédits que l’app
POST /v1/campaignsgenerating
// returns immediately
{ "id": "cmp_8fa2", "status": "generating", "posts": 8 }
Publication 1 — Instagram
Publication 2 — LinkedIn
Publication 3 — X
Publication 4 — Instagram
Publication 5 — TikTok

L’appel répond immédiatement. Interrogez la ressource de campagne et les publications apparaissent au fil de leur génération — rien ne bloque votre requête.

Ressources

Tout ce que fait l’app, appelable directement.

Huit ressources REST couvrent toute la plateforme — publication, campagnes IA, ressources de marque, workflows et marques.

/v1/post

Créez, programmez, modifiez et publiez des publications sur les réseaux connectés.

/v1/campaigns

Lancez la génération de campagnes IA et suivez les publications au fil de leur création.

/v1/social-profiles

Listez les profils connectés et lancez de nouvelles connexions sociales.

/v1/hashtag-libraries

Récupérez des séries de hashtags à ajouter aux publications par programmation.

/v1/studio-templates

Listez les modèles de design Studio réutilisables pour du nouveau contenu.

/v1/workflow

Inspectez, activez et exécutez des workflows d’automatisation à la demande.

/v1/brands

Énumérez les marques et ciblez correctement chaque appel.

/v1/me

Inspectez le token — qui suis-je, et à quoi ai-je accès ?

Cycle de vie d’une publication

Vous savez toujours où en est une publication.

Chaque publication porte l’un des huit statuts, et vous pouvez filtrer sur chacun. Interrogez une campagne pendant sa génération, retenez des publications derrière une validation, ou alertez vos propres systèmes dès qu’une intervention humaine est nécessaire.

Les échecs ne disparaissent jamais en silence — NEEDS_ATTENTION et ERROR indiquent le motif donné par le réseau, pour que vous puissiez l’afficher dans votre propre interface.

GET /v1/post?statuses=

8 valeurs
GENERATING
DRAFT
PENDING_INTERNAL_APPROVAL
PENDING_CLIENT_APPROVAL
SCHEDULED
POSTED
NEEDS_ATTENTION
ERROR

Requêtes sur cette fenêtre

60s

RateLimit-Limit

60

RateLimit-Remaining

17

RateLimit-Reset

38

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

Des limites prévisibles, des en-têtes standard.

60 requêtes par minute par défaut. Chaque réponse inclut les en-têtes RateLimit-* standard : votre client peut ralentir avant même de recevoir un 429 — sans deviner, sans limitation non documentée.

Lisez le quota restant dans chaque réponseUn 429 vous indique exactement quand réessayerLa publication en masse s’exécute côté serveur, pas requête par requête
Onboarding

Laissez vos utilisateurs connecter leurs propres comptes.

Demandez une URL de connexion et transmettez-la à votre utilisateur. Il autorise sur le réseau lui-même, et le profil arrive dans votre marque, prêt à publier — vous ne manipulez jamais de token social, et il ne voit jamais Ocoya.

C’est ce qui rend l’API viable pour un produit qui a ses propres clients, et pas seulement pour automatiser votre propre compte.

1Votre appPOST /v1/social-profiles/connection-url
2OcoyaRenvoie une URL de démarrage OAuth à usage unique
3Votre utilisateurAutorise sur Instagram, X, LinkedIn…
4Votre appLe profil apparaît dans /v1/social-profiles

Vos utilisateurs ne voient jamais de connexion Ocoya — le profil arrive dans votre marque.

Vous construisez plutôt un agent IA ?

La même plateforme est exposée via MCP — plus de 20 outils que votre agent peut appeler directement, sans code d’intégration REST.

Découvrir MCP
Questions

L’API, en réponses.

Créez une clé API dans Settings → API et envoyez-la dans l’en-tête X-API-Key vers l’URL de base https://app.ocoya.com/api/_public/v1. Les clés sont propres à chaque marque et révocables à tout moment — gardez-les côté serveur.

Commencez à intégrer la publication sociale.

Récupérez votre token API et faites votre premier appel en quelques minutes.