Ocoya
API

Integra la publicación en redes en tu producto.

Una API REST limpia con especificación OpenAPI pública para integrar la publicación en redes con IA en cualquier app, flujo de trabajo o agente que construyas.

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

Recursos REST predecibles con especificación OpenAPI pública: genera un cliente en cualquier lenguaje.

Autenticación con clave de API

Envía una cabecera X-API-Key: crea y revoca claves por marca desde tus ajustes.

IA incluida

La misma generación de publicaciones y campañas con IA que usa la app, disponible desde tu backend.

El mismo motor que la app

Cada endpoint refleja lo que impulsa a Ocoya: sin recortes.

OpenAPI

Una especificación para generar tu cliente.

Toda la v1 se publica como documento OpenAPI, así que no tienes que leer documentación y escribir los objetos de solicitud a mano. Genera un cliente tipado en el lenguaje con el que ya trabajas o apunta Postman, Insomnia o tus propias herramientas directamente a él.

  • Clientes tipados en cualquier lenguaje que admitan los generadores
  • Las estructuras de solicitud y respuesta siempre coinciden con la API
  • Úsala tal cual en tus herramientas de API actuales
openapi.jsonv1
{
"openapi": "3.1.0",
"paths": {
"/v1/post": { ... },
"/v1/campaigns": { ... }
}
}
TypeScriptPythonGoRubyPHPJava

Genera un cliente tipado en el lenguaje que ya usas o apunta tus herramientas de API directamente a la especificación.

Asíncrona por defecto

Las tareas largas responden al instante.

La generación de campañas con IA se pone en cola en lugar de ejecutarse dentro de tu solicitud. La llamada devuelve al instante un id de campaña; consulta el recurso y las publicaciones se van completando a medida que se escriben, así nada en tu app se queda esperando a un modelo.

  • Crear una campaña responde al instante con un id
  • Consulta el recurso de la campaña para ver aparecer las publicaciones
  • La generación con IA usa los mismos créditos que la app
POST /v1/campaignsgenerating
// returns immediately
{ "id": "cmp_8fa2", "status": "generating", "posts": 8 }
Publicación 1 — Instagram
Publicación 2 — LinkedIn
Publicación 3 — X
Publicación 4 — Instagram
Publicación 5 — TikTok

La llamada responde al instante. Consulta el recurso de la campaña y las publicaciones aparecen a medida que se generan: nada bloquea el hilo de tu solicitud.

Recursos

Todo lo que hace la app, accesible directamente.

Ocho recursos REST cubren toda la plataforma: publicación, campañas con IA, recursos de marca, flujos de trabajo y marcas.

/v1/post

Crea, programa, actualiza y publica publicaciones en las redes conectadas.

/v1/campaigns

Pon en cola la generación de campañas con IA y sigue las publicaciones a medida que se completan.

/v1/social-profiles

Lista los perfiles conectados e inicia nuevas conexiones sociales.

/v1/hashtag-libraries

Obtén conjuntos de hashtags seleccionados para añadirlos a las publicaciones por código.

/v1/studio-templates

Lista las plantillas de diseño reutilizables de Studio para contenido nuevo.

/v1/workflow

Consulta, activa o desactiva y ejecuta flujos de trabajo de automatización cuando quieras.

/v1/brands

Enumera las marcas y delimita correctamente cada llamada.

/v1/me

Inspecciona el token: ¿quién soy y a qué puedo acceder?

Ciclo de vida de la publicación

Siempre sabes dónde está cada publicación.

Cada publicación tiene uno de ocho estados y puedes filtrar por cualquiera de ellos. Consulta una campaña mientras se genera, retén publicaciones hasta su aprobación o avisa a tus propios sistemas en cuanto algo necesite a una persona.

Los fallos nunca desaparecen en silencio: NEEDS_ATTENTION y ERROR incluyen el motivo que dio la red, para que puedas mostrarlo en tu propia interfaz.

GET /v1/post?statuses=

8 valores
GENERATING
DRAFT
PENDING_INTERNAL_APPROVAL
PENDING_CLIENT_APPROVAL
SCHEDULED
POSTED
NEEDS_ATTENTION
ERROR

Solicitudes en esta ventana

60s

RateLimit-Limit

60

RateLimit-Remaining

17

RateLimit-Reset

38

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

Límites predecibles, cabeceras estándar.

60 solicitudes por minuto por defecto. Cada respuesta incluye las cabeceras estándar RateLimit-* para que tu cliente pueda frenar antes de recibir un 429: sin adivinar y sin límites ocultos.

Consulta el margen restante en cada respuestaUn 429 te dice exactamente cuándo reintentarLa publicación masiva se ejecuta en el servidor, no solicitud a solicitud
Incorporación

Deja que tus usuarios conecten sus propias cuentas.

Pide una URL de conexión y entrégasela a tu usuario. Él aprueba en la propia red y el perfil llega a tu marca listo para publicar: tú nunca tocas un token social y él nunca ve Ocoya.

Esto es lo que hace viable la API para un producto con clientes propios, y no solo para automatizar tu propia cuenta.

1Tu appPOST /v1/social-profiles/connection-url
2OcoyaDevuelve una URL de inicio OAuth de un solo uso
3Tu usuarioAprueba en Instagram, X, LinkedIn…
4Tu appEl perfil aparece en /v1/social-profiles

Tus usuarios nunca ven un inicio de sesión de Ocoya: la conexión llega a tu marca.

¿Estás creando un agente de IA?

La misma plataforma está disponible por MCP: más de 20 herramientas que tu agente puede llamar directamente, sin código REST intermedio.

Descubre MCP
Preguntas

La API: preguntas frecuentes.

Crea una clave de API en Settings → API y envíala en la cabecera X-API-Key contra la URL base https://app.ocoya.com/api/_public/v1. Las claves se limitan a una marca y pueden revocarse en cualquier momento; guárdalas en el servidor.

Empieza a integrar la publicación en redes.

Consigue tu token de API y haz tu primera llamada en minutos.