API · platform

Operações de platform do contrato OpenAPI que aceitam uma chave de API.

Atualizado:

GET /connection/projects

Proyectos a los que llega la credencial

FIU-498 (ADR 0054). Con un token OAuth del MCP del dueño, los proyectos vigentes de la conexión (los que pasan la revalidación de rol y estado en cada pedido), sin necesitar X-Wagend-Project. Con una API key, su único proyecto. Respalda la herramienta list_projects del MCP.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Respostas

StatusDescrição
200Proyectos de la credencial (ConnectionProjectList)
defaultError (RFC 9457) (Problem)

GET /demo/restore

Estado del botón «Restaurar demo»

FIU-483. Owner, manager o colaborador del demo de la credencial (nunca un id del path). Dice si el demo tiene foto base (available), de cuándo es, desde cuándo se puede volver a usar el botón (uno cada 10 minutos por demo) y la última restauración a demanda. 404 not_a_demo si el proyecto no es un demo de la suite con la marca de demo (o tiene cobros reales). Cache-Control no-store.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: config:read

Respostas

StatusDescrição
200Estado del botón (DemoRestoreStatus)
401Error (RFC 9457) (Problem)
403Error (RFC 9457) (Problem)
404Error (RFC 9457) (Problem)

POST /demo/restore

Restaurar el demo a su foto base

FIU-483. El reset liviano de ESTE demo, en segundos (cookie con X-Csrf-Token o API key, p. ej. Wagy por el MCP). Borra todo lo creado desde la foto (tareas, clientes, cobros, conversaciones, gastos, archivos…), vuelve a la foto lo editado o borrado y mueve sus fechas al día; conserva el proyecto, los canales e integraciones, el MCP, las API keys, los miembros con cuenta y la IA. Un demo por vez (409 demo_reset_busy, también mientras corre la limpieza de la noche) y uno cada 10 minutos (429 demo_restore_cooldown, con Retry-After). Si no se puede (sin foto o no quedó igual a la foto) no cambia nada (409 demo_restore_unavailable) y la noche corre el reset completo. Audita demo.restored.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: settings:write

Respostas

StatusDescrição
200Demo restaurado (DemoRestoreResult)
401Error (RFC 9457) (Problem)
403Error (RFC 9457) (Problem)
404Error (RFC 9457) (Problem)
409Error (RFC 9457) (Problem)
429Error (RFC 9457) (Problem)

GET /demo/status

¿El proyecto es un demo de la suite? (chip «Demo»)

FIU-514. Solo lectura, para cualquier miembro del proyecto (el panel muestra el chip «Demo» a todos; los controles siguen detrás de demo:restore en /demo/restore). Devuelve is_demo (siempre true) y si el demo tiene foto base (available); sin fechas ni historial. 404 not_a_demo si el proyecto no es un demo de la suite con la marca de demo (o tiene cobros reales). Cache-Control no-store.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: config:read

Respostas

StatusDescrição
200Estado del demo (DemoStatus)
401Error (RFC 9457) (Problem)
403Error (RFC 9457) (Problem)
404Error (RFC 9457) (Problem)

GET /me

Workspace y scopes de la credencial actual

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Respostas

StatusDescrição
200OK (Me)
defaultError (RFC 9457) (Problem)

GET /partner/activity

Actividad de la cartera del partner

Sesión de panel del partner (FIU-434). Hitos de sus clientes, del más nuevo al más viejo: alta, canal conectado, primera tarea (reserva o pedido), primer cobro del plan (solo la fecha, sin monto), prueba que empieza a vencer (a 7 días, con due_at) y cliente que se apagó (14 días sin uso). Paginado por cursor; sin contenido. Con Bearer (FIU-439) exige partner:read y el partner es quien emitió la credencial. Sin caché.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
limitqueryNãointeger default 30
cursorqueryNãostring / null (null)

Respostas

StatusDescrição
200Actividad de la cartera del partner (ActivityPage)
403Error (RFC 9457) (Problem)
422Error (RFC 9457) (Problem)

GET /partner/clients

Mis clientes (cartera del partner)

Sesión de panel del partner (FIU-434). El directorio del superadmin (FIU-430) acotado a los proyectos con la etiqueta del partner de la sesión: plan o prueba, semáforo de salud con sus motivos, último uso, tareas y conversaciones en 30 días, canales conectados y alertas (prueba que vence, canal caído, sin uso hace 14 días). Conteos y estados, sin costos ni contenido: el contenido se ve al entrar al proyecto. Orden estable por columna e ID con cursor (otro orden da 422); filtros rápidos como el directorio. Con Bearer (FIU-439) exige partner:read y el partner es quien emitió la credencial. Sin caché.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
sortqueryNãostring last_activity, name, created_at, tasks_30d, conversations_30d default last_activity
orderqueryNãostring asc, desc default desc
limitqueryNãointeger default 50
cursorqueryNãostring / null (null)
quickqueryNãostring / null (null)

Respostas

StatusDescrição
200Mis clientes (cartera del partner) (PartnerClientPage)
403Error (RFC 9457) (Problem)
422Error (RFC 9457) (Problem)

GET /partner/clients/{workspace_id}

Un cliente de la cartera del partner

Sesión de panel del partner o Bearer con partner:read (FIU-439). La fila del cliente en «Mis clientes» (mismos conteos, estados y alertas, sin costos ni contenido) y sus hitos de Actividad, del más nuevo al más viejo. Un proyecto que no es de la cartera del partner da 404 client_not_found, igual que uno inexistente. Sin caché.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
workspace_idpathSimstring (uuid)

Respostas

StatusDescrição
200Un cliente de la cartera del partner (PartnerClientDetail)
403Error (RFC 9457) (Problem)
404Error (RFC 9457) (Problem)
422Error (RFC 9457) (Problem)

GET /partner/clients/{workspace_id}/audit

Puntaje de puesta a punto de un cliente de la cartera

Sesión de panel del partner o Bearer con partner:read (FIU-524). Misma auditoría que GET /v1/workspace/audit, solo lectura, del proyecto indicado. Un proyecto que no es de la cartera del partner da 404, igual que uno inexistente. Sin caché.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
workspace_idpathSimstring (uuid)
langqueryNãostring pt, es, en

Respostas

StatusDescrição
200Puntaje y lo que falta (SetupAudit)
403Error (RFC 9457) (Problem)
404Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)

GET /partner/courses

Cursos del partner (Aprendé)

Cursos revisados por Javier. Sin ninguno la lista va vacía y el panel no muestra la sección. Con Bearer (API key u OAuth del MCP) exige partner:read y el partner es quien emitió la credencial, mientras siga siendo miembro activo del proyecto de la credencial (si no, 403).

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
langqueryNãostring pt, es, en default pt

Respostas

StatusDescrição
200Contenido del panel del partner (CourseList)
403Error (RFC 9457) (Problem)
422Error (RFC 9457) (Problem)

GET /partner/kit

Kit para vender del partner

Kit para vender: mensajes por rubro y plantillas de proyecto, con el link ?ref del partner ya puesto. Con Bearer (API key u OAuth del MCP) exige partner:read y el partner es quien emitió la credencial, mientras siga siendo miembro activo del proyecto de la credencial (si no, 403).

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
langqueryNãostring pt, es, en default pt

Respostas

StatusDescrição
200Contenido del panel del partner (PartnerKit)
403Error (RFC 9457) (Problem)
422Error (RFC 9457) (Problem)

GET /partner/news

Novedades para el partner

Novedades del sitio con la etiqueta partners primero y la última para negocios, lista para compartir. Con Bearer (API key u OAuth del MCP) exige partner:read y el partner es quien emitió la credencial, mientras siga siendo miembro activo del proyecto de la credencial (si no, 403).

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Parâmetros

NomeEmObrigatórioTipoDescrição
langqueryNãostring pt, es, en default pt

Respostas

StatusDescrição
200Contenido del panel del partner (PartnerNews)
403Error (RFC 9457) (Problem)
422Error (RFC 9457) (Problem)

GET /partner/today

Hoy del panel del partner

Sesión de panel del partner (FIU-434). Saludo con el nombre de la cuenta, el partner (sin comisión ni contacto), progreso de la cartera (clientes, activos en 30 días y fecha del primero), una sola próxima acción (canal caído, prueba que vence, conectar un canal, cliente que se apaga o, sin clientes, crear el primero) y las alertas con algún cliente (las vacías no vienen). 403 partner_required si la cuenta no es de un partner. Con Bearer (API key u OAuth del MCP, FIU-439) exige partner:read y el partner es quien emitió la credencial, mientras siga siendo miembro activo del proyecto de la credencial (si no, 403). Sin caché.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: partner:read

Respostas

StatusDescrição
200Hoy del panel del partner (PartnerToday)
403Error (RFC 9457) (Problem)

GET /webhook-endpoints

Listar endpoints de webhooks (owner/manager o scope webhooks:manage)

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: webhooks:manage

Respostas

StatusDescrição
200OK (object)
defaultError (RFC 9457) (Problem)

POST /webhook-endpoints

Crear endpoint (webhooks:manage). El secreto se devuelve una sola vez.

URL https obligatoria; se resuelve el DNS y se rechazan IPs privadas, loopback, link-local y metadatos de nube (422 unsafe_webhook_url). Máximo 10 por workspace (409 webhook_limit_reached). No admite Idempotency-Key (400 idempotency_not_supported): la respuesta contiene el secreto. Cache-Control: no-store. Solo los tipos de EventType se pueden suscribir: un tipo desconocido responde 422 invalid_webhook con unsupported_events y supported_events. Las entregas usan data.booking, data.payment, data.message, data.conversation o data.action según la familia del evento; no incluyen texto de mensajes.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: webhooks:manage

Corpo da solicitação (obrigatório)

  • application/json: object

Respostas

StatusDescrição
201Creado (``WebhookEndpoint / object)
422Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)

GET /webhook-endpoints/{id}

Ver un endpoint

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring

Respostas

StatusDescrição
200OK (WebhookEndpoint)
defaultError (RFC 9457) (Problem)

PATCH /webhook-endpoints/{id}

Cambiar URL, eventos o activar/desactivar (reactivar pone en cero los fallos)

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring

Corpo da solicitação (obrigatório)

  • application/json: object

Respostas

StatusDescrição
200OK (WebhookEndpoint)
422Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)

DELETE /webhook-endpoints/{id}

Borrar el endpoint y su log de entregas

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring

Respostas

StatusDescrição
204Borrado
defaultError (RFC 9457) (Problem)

GET /webhook-endpoints/{id}/deliveries

Log de entregas del endpoint (más nueva primero)

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring
limitqueryNãointeger default 25
cursorqueryNãostring

Respostas

StatusDescrição
200Página (object)
defaultError (RFC 9457) (Problem)

POST /webhook-endpoints/{id}/deliveries/{delivery_id}/resend

Reenviar una entrega (vuelve a la cola con los intentos en cero)

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring
delivery_idpathSimstring

Respostas

StatusDescrição
202Reencolada (WebhookDelivery)
409El endpoint está deshabilitado
defaultError (RFC 9457) (Problem)

POST /webhook-endpoints/{id}/ping

Encolar un evento de prueba webhook.ping (un solo intento)

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring

Respostas

StatusDescrição
202Entrega encolada (WebhookDelivery)
defaultError (RFC 9457) (Problem)

POST /webhook-endpoints/{id}/rotate-secret

Rotar el secreto de firma (el anterior deja de valer; se muestra una sola vez)

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: Nenhum

Parâmetros

NomeEmObrigatórioTipoDescrição
idpathSimstring

Respostas

StatusDescrição
200Endpoint con el secreto nuevo (Cache-Control: no-store) (``WebhookEndpoint / object)
defaultError (RFC 9457) (Problem)

POST /workspace/examples

Componer de 1 a 3 ejemplos por parte (owner; requiere X-Csrf-Token)

F3-407 (ADR 0036 fase 2). Aplica las partes pedidas (vocabulary, flows, automations, catalog; todas por defecto) de cada ejemplo, idempotente por ejemplo y parte (lo ya aplicado devuelve already_applied) y sin duplicar por nombre. Nunca crea personas ni recursos (decisiones 1, 12 y 13 del dueño); el catálogo son servicios y productos inactivos y sin precio sobre la agenda que el negocio ya tiene (resource_group_id o, si hay uno solo, ese grupo); sin agenda queda skipped con needs_agenda. El vocabulario suma términos ausentes conservando el primer preset y los términos existentes; no modifica uno editado por el negocio (vocabulary_already_set). Tope de 3 ejemplos distintos por proyecto (409 examples_limit); ejemplo desconocido 409 unknown_example. La parte flows del taller y del lavadero activa además Vehículos (created.asset_type, FIU-610; nunca crea bienes) y su deshacer lo desactiva, sin borrarlo, si nadie lo tocó y no tiene bienes (si no, kept.asset_type). Serializa con la fila del workspace y audita workspace.blueprint_applied y workspace.example_applied por parte. Permiso workspace:blueprint; sin API key.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: settings:write

Parâmetros

NomeEmObrigatórioTipoDescrição
X-Csrf-TokenheaderSimstring

Corpo da solicitação (obrigatório)

  • application/json: ExamplesInput

Respostas

StatusDescrição
200Resultado por ejemplo y parte, y estado de rasgos y ejemplos aplicados (ExamplesResult)
409Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)

DELETE /workspace/examples/{key}

Deshacer una parte (o todas) de un ejemplo (owner; requiere X-Csrf-Token)

F3-407. Vocabulario, vuelve al anterior si nadie lo cambió; flujos, desactiva los que nadie editó ni usa; automatizaciones, retira las que siguen inactivas y sin uso; catálogo, borra los servicios que siguen sin ediciones y sin tareas (los productos nunca se borran, ya nacen inactivos). Lo que se queda sale en kept y deja de ser del ejemplo. Una parte no aplicada devuelve not_applied. Audita workspace.example_undone. Permiso workspace:blueprint; sin API key.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: settings:write

Parâmetros

NomeEmObrigatórioTipoDescrição
keypathSimstring
partqueryNãoExamplePart / null (null)
X-Csrf-TokenheaderSimstring

Respostas

StatusDescrição
200Resultado por parte y estado de rasgos y ejemplos aplicados (ExamplesResult)
defaultError (RFC 9457) (Problem)

GET /workspace/template

Exportar la configuración del proyecto como plantilla (owner)

La configuración del proyecto como plantilla JSON (ADR 0042, FIU-523): flujos con la raíz de atención y las intenciones, servicios, productos, planes, base de ayuda, textos del bot, automatizaciones, encadenamientos, vocabulario y tipos de bien del cliente activos (customer_asset_types, FIU-610: uno de fábrica viaja como {key, preset}), todo por ref y sin ids. Nunca clientes ni sus bienes, tareas, cobros, canales, credenciales, API keys ni secretos. Audita template.exported en el origen. Se descarga como archivo (Content-Disposition). Permiso workspace:template_export; con API key, config:read.

  • Autenticação: Chave de API ou sessão do painel
  • Escopos: config:read

Respostas

StatusDescrição
200Plantilla del proyecto (ProjectTemplate)
403Error (RFC 9457) (Problem)
defaultError (RFC 9457) (Problem)