MallaDocs

API HTTP

La API del editor, los endpoints de los sitios publicados y el endpoint MCP.

Guía para desarrolladores

Tres superficies HTTP: la API del editor que hay detrás de la app, los endpoints de cada sitio publicado y el endpoint MCP para agentes.

API del editor

La app web hace de proxy de /api/** hacia el Worker api. Las solicitudes usan la cookie de sesión HTTP-only y una comprobación CSRF; cada ruta comprueba el rol de quien llama en el sitio. Un sitio en el que no tienes rol responde 404, igual que uno que no existe, así que los ids nunca se filtran. Los límites del plan responden 402 plan_limit.

Autenticación

MétodoRutaPropósito
POST/auth/signupCrear una cuenta de editor
POST/auth/loginIniciar una sesión (con límite de frecuencia por IP y por correo)
POST/auth/logoutCerrar la sesión
GET/auth/meEl usuario que inició sesión
GET/auth/realtime-tokenToken de corta duración para las salas de un sitio
POST/auth/password-reset/request · /confirmRestablecer una contraseña (responde 501 hasta que se conecte el envío de correos)
POST/auth/verify-email/request · /confirmVerificar la dirección de correo (responde 501 hasta que se conecte el envío de correos)
POST/auth/invites · /invites/acceptInvitar a un espacio de trabajo y unirse a él (responde 501 hasta que se conecte el envío de correos)

Sitios y páginas

MétodoRutaPropósito
GET POST/sitesListar o crear sitios
GET PATCH DELETE/sites/:siteIdLeer, renombrar (slug: administrador) o eliminar un sitio
GET POST/sites/:siteId/pagesListar o crear páginas
GET PATCH DELETE/pages/:pageIdLeer, actualizar o eliminar una página
PUT/pages/:pageId/docReemplazar el documento de una página
GET POST/sites/:siteId/membersMiembros del sitio
GET POST/sites/:siteId/assetsListar o subir recursos
POST/sites/:siteId/publishPublicar en staging (editor) o en producción (administrador)
GET/sites/:siteId/publishes?environment=Publicaciones recientes de staging o production, de la más nueva a la más antigua, con la que está en vivo y quién publicó o revirtió (editor; emails solo para administradores)
POST/sites/:siteId/rollbackRevertir un entorno a una de sus publicaciones recientes, { environment, publishId }: staging (editor) o producción (administrador)
POST/sites/:siteId/exportZIP de exportación estática (administrador)

CMS y formularios

MétodoRutaPropósito
GET POST/sites/:siteId/collectionsColecciones
GET POST/sites/:siteId/collections/:id/itemsÍtems
POST…/items/:itemId/publish · unpublish · archiveCiclo de vida del ítem
GET…/items/:itemId/versionsVersiones del ítem, con …/:versionId/restore
GET/sites/:siteId/forms/:formId/submissions(.csv)Envíos, en JSON o CSV

Datos y lógica

MétodoRutaPropósito
GET POST PATCH DELETE/sites/:siteId/integrationsIntegraciones (escritura: administrador)
POST/sites/:siteId/integrations/:id/testProbar una conexión
POST/sites/:siteId/runEjecutar una consulta u operación desde el editor
GET POST PUT DELETE/sites/:siteId/workflowsFlujos de trabajo de servidor
POST/sites/:siteId/workflows/:id/testEjecución de prueba (se transmite por …/runs/:runId/stream)
GET POST PATCH DELETE/sites/:siteId/tablesTablas nativas y …/rows
GET PATCH DELETE/sites/:siteId/visitorsVisitantes, y …/visitor-roles

Plataforma

MétodoRutaPropósito
GET POST DELETE/sites/:siteId/domainsDominios personalizados; …/:id/refresh para volver a comprobar
GET/billing/plansPlanes y límites
PUT/billing/workspaces/:id/plan · /sites/:siteId/billing/planCambiar un plan (Stripe Checkout)
GET POST/catalog/templatesPlantillas; …/:id/use para empezar un sitio
GET POST/catalog/pluginsCatálogo de plugins; se instalan por sitio en /sites/:siteId/plugins
POST/sites/:siteId/aiEdición con IA (server-sent events)
POST/sites/:siteId/ai/expressionAsistente de expresiones: escribe, corrige o explica una expresión (server-sent events)
GET/workspaces/:workspaceId/ai/usageGasto de IA de un mes: tokens, costo estimado, cuota, por sitio y tarea (por miembro para administradores)
GET/workspaces/:workspaceId/ai/runsSolicitudes de IA de un mes, de la más reciente a la más antigua, con tokens y costo estimado
GET POST DELETE/workspaces/:id/api-keysClaves de API del espacio de trabajo para MCP

Sitios publicados

http
# Published sites (any domain of the site)
POST /api/_forms/:formId                 form submission (Turnstile token required)
POST /api/_q/:name                       client query of a page
ALL  /api/<your path>                    your server workflow endpoints and webhooks
POST /_auth/signup | login | logout | magic-link
GET  /_auth/magic?token=…                completes a magic link
GET  /_auth/me                           the current visitor

Los formularios y las consultas tienen límite de frecuencia por IP. Las consultas de una página con una regla de acceso pasan por la misma regla.

MCP

POST /mcp habla JSON-RPC (MCP streamable HTTP) con una clave de API del espacio de trabajo como bearer token. GET /mcp responde 405: no hay un stream iniciado por el servidor.

bash
curl -X POST https://<mcp host>/mcp \
  -H 'Authorization: Bearer mk_…' \
  -H 'content-type: application/json' \
  -d '{ "jsonrpc": "2.0", "id": 1, "method": "tools/list" }'