Ir al contenido

Descripción general de la API REST

¿Qué es esto?

La API REST de ComStack es la interfaz HTTP sobre la que se construye el servidor MCP. Cubre la gestión de páginas, publicación, sesiones de voz en vivo, configuración de proyectos, autenticación y plantillas.

URL base: https://api.comstack.ai

El servidor MCP envuelve estas mismas operaciones. Si utilizas Claude, Cursor u otro cliente MCP, no necesitas llamar a la API REST directamente. Úsala al integrar desde un servidor personalizado, webhook o pipeline de CI.

Cómo funciona

Autenticación

Dos métodos:

  • Token OAuth Bearer — para cuentas de usuario. Se obtiene mediante el flujo OAuth; envíalo como Authorization: Bearer <token>. Consulta la referencia de autenticación.
  • Clave de API de servicio — para llamadas headless. Configura los encabezados x-project-id y x-api-key. Genera las claves en la configuración del proyecto.

Formato de respuesta

Las respuestas exitosas devuelven JSON. Los errores devuelven { "error": "..." }:

EstadoSignificado
400Solicitud no válida: argumentos faltantes o mal formados
401Autenticación requerida
403Rol insuficiente, módulo deshabilitado o prueba expirada
404Recurso no encontrado
413Carga útil demasiado grande (1 MB general; 10 MB para carga de imágenes)
429Límite de tasa excedido
500Error interno

Límites de tasa

Por IP, ventana deslizante de 60 segundos:

EndpointLímite
POST /mcp60 solicitudes/min
/oauth/*30 solicitudes/min
Fallos de autenticación (respuestas 401)10/min antes de activar el 429

Grupos de endpoints

OAuth y autenticación

/.well-known/oauth-authorization-server, /oauth/register, /oauth/authorize, /oauth/token

Proyectos

GET/POST /api/projects, GET/PATCH/DELETE /api/projects/:id, miembros, dominios, módulos, configuración

Páginas (conocimiento)

Crear, editar (/docs/edit/open, /edit/save, /edit/discard), listar, flujo de publicación, visibilidad

Páginas personalizadas

POST /api/projects/:id/docs/edit/upload-custom-page — para cuerpos de página personalizados en HTML/Astro

Publicación

POST /api/projects/:id/publish, POST .../publish/confirm, GET .../publish/history

La publicación es un flujo de dos pasos: la prueba (dry-run) genera un manifiesto + token de confirmación; la confirmación promueve y despliega. Consulta la referencia de publicación.

Voz en vivo

POST /api/live/session, /session/resume, /tools/execute, /twilio/voice

Barra lateral y navegación

/api/projects/:id/sidebar-groups, /api/projects/:id/header-nav-items

Plantillas

/api/templates/doc, /api/templates/project, /api/projects/:id/templates

Ingesta (Extensión de Chrome)

/api/projects/:id/ingest/* — capturar, extraer y guardar páginas desde la extensión de Chrome

Claves de API

/api/projects/:id/keys

Cuenta

/api/accounts/me, /api/account/connectors/claude/*

Cuándo usarla

Caso de usoRuta recomendada
Asistente de IA gestionando contenidoServidor MCP: las herramientas abstraen la API y gestionan la autenticación
Integración del lado del servidor, CI/CDAPI REST: mayor control, sin dependencia de cliente MCP
Receptor de WebhookAPI REST

Ejemplo

Obtener detalles del proyecto con un token Bearer:

Terminal window
curl https://api.comstack.ai/api/projects/YOUR_PROJECT_ID \
-H "Authorization: Bearer YOUR_TOKEN"

Llamar al endpoint MCP con una clave de servicio:

Terminal window
curl -X POST https://api.comstack.ai/mcp \
-H "Content-Type: application/json" \
-H "x-project-id: YOUR_PROJECT_ID" \
-H "x-api-key: YOUR_SERVICE_KEY" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"get-project-state","arguments":{"project_id":"YOUR_PROJECT_ID"}}}'

Errores comunes

ErrorCausaSolución
401 UnauthorizedToken faltante o expiradoReautenticar o regenerar la clave de API
403 Trial expiredEl periodo de prueba del proyecto terminóActualiza el plan para restaurar el acceso
403 Insufficient permissionEl rol del llamador es inferior al requeridoVerifica tu rol y asegúrate de usar las credenciales correctas
413 Payload Too LargeEl cuerpo de la solicitud excede el límiteReduce el tamaño de la carga o usa el endpoint de carga por partes
429 Too Many RequestsLímite de tasa alcanzadoEspera y reintenta tras el valor del encabezado Retry-After

Relacionado

Última actualización: