# KeebAI ## Docs - [Listar y buscar asistentes activos de la company.](https://docs.keebai.com/_openapi/knowledge/assistants/listar-y-buscar-asistentes-activos-de-la-company.md) - [Inicia un flow de conexión de WhatsApp Business desde el CLI. Devuelve una URL del portal donde el usuario completa el embedded signup.](https://docs.keebai.com/_openapi/knowledge/channels/inicia-un-flow-de-conexión-de-whatsapp-business-desde-el-cli-devuelve-una-url-del-portal-donde-el-usuario-completa-el-embedded-signup.md) - [Listar canales activos de la company.](https://docs.keebai.com/_openapi/knowledge/channels/listar-canales-activos-de-la-company.md) - [Obtener un canal por id.](https://docs.keebai.com/_openapi/knowledge/channels/obtener-un-canal-por-id.md) - [Polling: estado de la sesión de conexión. Cuando status=completed devuelve el canal creado.](https://docs.keebai.com/_openapi/knowledge/channels/polling:-estado-de-la-sesión-de-conexión-cuando-status=completed-devuelve-el-canal-creado.md) - [Stream SSE de eventos de pairing por QR (events: qr | connecting | connected | failed | disconnected). Sólo para sesiones iniciadas con mode=qr.](https://docs.keebai.com/_openapi/knowledge/channels/stream-sse-de-eventos-de-pairing-por-qr-events:-qr-|-connecting-|-connected-|-failed-|-disconnected-sólo-para-sesiones-iniciadas-con-mode=qr.md) - [Cambia el project activo de la session CLI y emite un JWT nuevo. Sólo aceptable con un JWT del CLI (no con PAT).](https://docs.keebai.com/_openapi/knowledge/cli-session/cambia-el-project-activo-de-la-session-cli-y-emite-un-jwt-nuevo-sólo-aceptable-con-un-jwt-del-cli-no-con-pat.md) - [Datos de la session CLI actual (user, company, current project). Útil para `keebai whoami`.](https://docs.keebai.com/_openapi/knowledge/cli-session/datos-de-la-session-cli-actual-user-company-current-project-útil-para-`keebai-whoami`.md) - [Asignar nodos de la base de conocimientos a todos los workers de un asistente.](https://docs.keebai.com/_openapi/knowledge/knowledge/asignar-nodos-de-la-base-de-conocimientos-a-todos-los-workers-de-un-asistente.md) - [Buscar en la base de conocimientos por full-text, vector o híbrido.](https://docs.keebai.com/_openapi/knowledge/knowledge/buscar-en-la-base-de-conocimientos-por-full-text-vector-o-híbrido.md) - [Crear un documento desde markdown. El contenido se convierte a BlockNote y se reindexa para búsquedas.](https://docs.keebai.com/_openapi/knowledge/knowledge/crear-un-documento-desde-markdown-el-contenido-se-convierte-a-blocknote-y-se-reindexa-para-búsquedas.md) - [Crear una carpeta en la base de conocimientos.](https://docs.keebai.com/_openapi/knowledge/knowledge/crear-una-carpeta-en-la-base-de-conocimientos.md) - [Eliminar un nodo (carpeta o documento). Si es carpeta, elimina sus descendientes.](https://docs.keebai.com/_openapi/knowledge/knowledge/eliminar-un-nodo-carpeta-o-documento-si-es-carpeta-elimina-sus-descendientes.md) - [Obtener el árbol completo de carpetas y documentos de la base de conocimientos.](https://docs.keebai.com/_openapi/knowledge/knowledge/obtener-el-árbol-completo-de-carpetas-y-documentos-de-la-base-de-conocimientos.md) - [Listar projects de la company autenticada. Útil para que el CLI elija project context.](https://docs.keebai.com/_openapi/knowledge/me/listar-projects-de-la-company-autenticada-útil-para-que-el-cli-elija-project-context.md) - [Obtener permisos efectivos del token](https://docs.keebai.com/_openapi/knowledge/me/obtener-permisos-efectivos-del-token.md): Devuelve los permisos efectivos otorgados por el Personal Access Token autenticado. - [Revocar el token actualmente autenticado (logout server-side)](https://docs.keebai.com/_openapi/knowledge/me/revocar-el-token-actualmente-autenticado-logout-server-side.md): Marca el PAT con el que se autenticó esta request como revocado. Próximas requests con el mismo token devolverán 401. - [Delete a previously uploaded WhatsApp media](https://docs.keebai.com/_openapi/knowledge/media/delete-a-previously-uploaded-whatsapp-media.md) - [Download the binary contents of a WhatsApp media](https://docs.keebai.com/_openapi/knowledge/media/download-the-binary-contents-of-a-whatsapp-media.md) - [Get WhatsApp media metadata](https://docs.keebai.com/_openapi/knowledge/media/get-whatsapp-media-metadata.md) - [Upload a media file to WhatsApp. Returns a media_id usable in send-{image,video,audio,document,sticker} endpoints.](https://docs.keebai.com/_openapi/knowledge/media/upload-a-media-file-to-whatsapp-returns-a-media_id-usable-in-send--endpoints.md) - [Escape hatch: forward a raw Meta Graph API body to /{phone_number_id}/messages](https://docs.keebai.com/_openapi/knowledge/messages/escape-hatch:-forward-a-raw-meta-graph-api-body-to-messages.md) - [Mark a received message as read (optionally show typing)](https://docs.keebai.com/_openapi/knowledge/messages/mark-a-received-message-as-read-optionally-show-typing.md) - [React with an emoji to a previous message](https://docs.keebai.com/_openapi/knowledge/messages/react-with-an-emoji-to-a-previous-message.md) - [Schedule a bulk template broadcast to many recipients](https://docs.keebai.com/_openapi/knowledge/messages/schedule-a-bulk-template-broadcast-to-many-recipients.md) - [Send a catalog interactive message](https://docs.keebai.com/_openapi/knowledge/messages/send-a-catalog-interactive-message.md) - [Send a CTA URL message with a tappable link](https://docs.keebai.com/_openapi/knowledge/messages/send-a-cta-url-message-with-a-tappable-link.md) - [Send a document (PDF, DOCX, etc.)](https://docs.keebai.com/_openapi/knowledge/messages/send-a-document-pdf-docx-etc.md) - [Send a free-form text message](https://docs.keebai.com/_openapi/knowledge/messages/send-a-free-form-text-message.md) - [Send a geo location pin](https://docs.keebai.com/_openapi/knowledge/messages/send-a-geo-location-pin.md) - [Send a sticker](https://docs.keebai.com/_openapi/knowledge/messages/send-a-sticker.md) - [Send a video](https://docs.keebai.com/_openapi/knowledge/messages/send-a-video.md) - [Send an approved WhatsApp template](https://docs.keebai.com/_openapi/knowledge/messages/send-an-approved-whatsapp-template.md) - [Send an image (by URL or previously uploaded media_id)](https://docs.keebai.com/_openapi/knowledge/messages/send-an-image-by-url-or-previously-uploaded-media_id.md) - [Send an interactive button message (max 3 buttons)](https://docs.keebai.com/_openapi/knowledge/messages/send-an-interactive-button-message-max-3-buttons.md) - [Send an interactive list message](https://docs.keebai.com/_openapi/knowledge/messages/send-an-interactive-list-message.md) - [Send audio (voice/PTT supported)](https://docs.keebai.com/_openapi/knowledge/messages/send-audio-voiceptt-supported.md) - [Send one or more contact cards (vCard-style)](https://docs.keebai.com/_openapi/knowledge/messages/send-one-or-more-contact-cards-vcard-style.md) - [Status of a previously scheduled bulk broadcast](https://docs.keebai.com/_openapi/knowledge/messages/status-of-a-previously-scheduled-bulk-broadcast.md) - [Confirmar una cita](https://docs.keebai.com/_openapi/knowledge/scheduling-appointments/confirmar-una-cita.md): Sólo permite confirmar citas en estado `pending`. Devuelve 409 en caso contrario. - [Crear una cita](https://docs.keebai.com/_openapi/knowledge/scheduling-appointments/crear-una-cita.md): Crea una nueva cita en estado pendiente con datos del cliente embebidos. - [Obtener detalle de una cita](https://docs.keebai.com/_openapi/knowledge/scheduling-appointments/obtener-detalle-de-una-cita.md) - [Suspender (cancelar) una cita](https://docs.keebai.com/_openapi/knowledge/scheduling-appointments/suspender-cancelar-una-cita.md): Marca la cita como cancelada con la razón opcional indicada. - [Disponibilidad por fecha específica](https://docs.keebai.com/_openapi/knowledge/scheduling-availability/disponibilidad-por-fecha-específica.md): Retorna los slots libres para un servicio en una fecha puntual. - [Disponibilidad por rango de fechas (máximo 14 días)](https://docs.keebai.com/_openapi/knowledge/scheduling-availability/disponibilidad-por-rango-de-fechas-máximo-14-días.md): Retorna los slots libres día a día entre `from` y `to` (inclusive). - [Próximas horas disponibles más cercanas](https://docs.keebai.com/_openapi/knowledge/scheduling-availability/próximas-horas-disponibles-más-cercanas.md): Busca los próximos slots libres a partir de `fromDate` (default: hoy) recorriendo hasta `maxDays` días. - [Listar sucursales activas del tenant](https://docs.keebai.com/_openapi/knowledge/scheduling-branches/listar-sucursales-activas-del-tenant.md) - [Obtener detalle de una sucursal](https://docs.keebai.com/_openapi/knowledge/scheduling-branches/obtener-detalle-de-una-sucursal.md) - [Listar profesionales del tenant](https://docs.keebai.com/_openapi/knowledge/scheduling-professionals/listar-profesionales-del-tenant.md) - [Obtener detalle de un profesional](https://docs.keebai.com/_openapi/knowledge/scheduling-professionals/obtener-detalle-de-un-profesional.md) - [Listar servicios disponibles del tenant](https://docs.keebai.com/_openapi/knowledge/scheduling-services/listar-servicios-disponibles-del-tenant.md) - [Obtener detalle de un servicio](https://docs.keebai.com/_openapi/knowledge/scheduling-services/obtener-detalle-de-un-servicio.md) - [Cierra el flujo Embedded Signup iniciado vía Facebook JS SDK. Recibe code + waba_id + phone_number_id, verifica state HMAC y crea el Channel.](https://docs.keebai.com/_openapi/knowledge/setup/cierra-el-flujo-embedded-signup-iniciado-vía-facebook-js-sdk-recibe-code-+-waba_id-+-phone_number_id-verifica-state-hmac-y-crea-el-channel.md) - [Config pública del setup link. Sin auth: el token del link autoriza.](https://docs.keebai.com/_openapi/knowledge/setup/config-pública-del-setup-link-sin-auth:-el-token-del-link-autoriza.md) - [Inicia el flujo de conexión (Embedded Signup, Coexistence o QR). Sin persistencia intermedia: el state HMAC firmado correlaciona el callback.](https://docs.keebai.com/_openapi/knowledge/setup/inicia-el-flujo-de-conexión-embedded-signup-coexistence-o-qr-sin-persistencia-intermedia:-el-state-hmac-firmado-correlaciona-el-callback.md) - [SSE proxy del pairing QR. Reusa wa_qr_sessions de api-client.](https://docs.keebai.com/_openapi/knowledge/setup/sse-proxy-del-pairing-qr-reusa-wa_qr_sessions-de-api-client.md) - [Tras QR connect: aplica dev_tenant_id al Channel ya creado por api-client.](https://docs.keebai.com/_openapi/knowledge/setup/tras-qr-connect:-aplica-dev_tenant_id-al-channel-ya-creado-por-api-client.md) - [Crear un template de WhatsApp y enviarlo a Meta para aprobación](https://docs.keebai.com/_openapi/knowledge/templates/crear-un-template-de-whatsapp-y-enviarlo-a-meta-para-aprobación.md) - [Editar un template existente](https://docs.keebai.com/_openapi/knowledge/templates/editar-un-template-existente.md) - [Listar templates aprobados de la company](https://docs.keebai.com/_openapi/knowledge/templates/listar-templates-aprobados-de-la-company.md) - [Crear un tenant (cliente final del developer).](https://docs.keebai.com/_openapi/knowledge/tenants/crear-un-tenant-cliente-final-del-developer.md) - [Editar config de setup link (no rota el token).](https://docs.keebai.com/_openapi/knowledge/tenants/editar-config-de-setup-link-no-rota-el-token.md) - [Editar tenant.](https://docs.keebai.com/_openapi/knowledge/tenants/editar-tenant.md) - [Generar un setup link para el tenant.](https://docs.keebai.com/_openapi/knowledge/tenants/generar-un-setup-link-para-el-tenant.md) - [Listar canales WhatsApp asociados al tenant.](https://docs.keebai.com/_openapi/knowledge/tenants/listar-canales-whatsapp-asociados-al-tenant.md) - [Listar setup links del tenant.](https://docs.keebai.com/_openapi/knowledge/tenants/listar-setup-links-del-tenant.md) - [Listar tenants.](https://docs.keebai.com/_openapi/knowledge/tenants/listar-tenants.md) - [Obtener tenant por id.](https://docs.keebai.com/_openapi/knowledge/tenants/obtener-tenant-por-id.md) - [Revocar setup link. Token deja de ser válido.](https://docs.keebai.com/_openapi/knowledge/tenants/revocar-setup-link-token-deja-de-ser-válido.md) - [Soft-delete del tenant.](https://docs.keebai.com/_openapi/knowledge/tenants/soft-delete-del-tenant.md) - [Actualizar una subscripción](https://docs.keebai.com/_openapi/knowledge/webhooks/actualizar-una-subscripción.md) - [Crear una subscripción de webhook saliente](https://docs.keebai.com/_openapi/knowledge/webhooks/crear-una-subscripción-de-webhook-saliente.md): Devuelve el secret raw UNA SOLA VEZ. Guárdalo de inmediato — no se puede recuperar. - [Disparar un evento sintético hacia la URL configurada (para pruebas).](https://docs.keebai.com/_openapi/knowledge/webhooks/disparar-un-evento-sintético-hacia-la-url-configurada-para-pruebas.md) - [Eliminar una subscripción](https://docs.keebai.com/_openapi/knowledge/webhooks/eliminar-una-subscripción.md) - [Historial de deliveries de la subscripción.](https://docs.keebai.com/_openapi/knowledge/webhooks/historial-de-deliveries-de-la-subscripción.md) - [Listar subscripciones de webhooks de la company](https://docs.keebai.com/_openapi/knowledge/webhooks/listar-subscripciones-de-webhooks-de-la-company.md) - [Obtener una subscripción](https://docs.keebai.com/_openapi/knowledge/webhooks/obtener-una-subscripción.md) - [Rotar el secret. El secret anterior queda inválido inmediatamente.](https://docs.keebai.com/_openapi/knowledge/webhooks/rotar-el-secret-el-secret-anterior-queda-inválido-inmediatamente.md) - [Lista los números de WhatsApp Business conectados a la company.](https://docs.keebai.com/_openapi/knowledge/whatsapp/lista-los-números-de-whatsapp-business-conectados-a-la-company.md) - [Listar y buscar asistentes activos de la company.](https://docs.keebai.com/_openapi/messaging/assistants/listar-y-buscar-asistentes-activos-de-la-company.md) - [Inicia un flow de conexión de WhatsApp Business desde el CLI. Devuelve una URL del portal donde el usuario completa el embedded signup.](https://docs.keebai.com/_openapi/messaging/channels/inicia-un-flow-de-conexión-de-whatsapp-business-desde-el-cli-devuelve-una-url-del-portal-donde-el-usuario-completa-el-embedded-signup.md) - [Listar canales activos de la company.](https://docs.keebai.com/_openapi/messaging/channels/listar-canales-activos-de-la-company.md) - [Obtener un canal por id.](https://docs.keebai.com/_openapi/messaging/channels/obtener-un-canal-por-id.md) - [Polling: estado de la sesión de conexión. Cuando status=completed devuelve el canal creado.](https://docs.keebai.com/_openapi/messaging/channels/polling:-estado-de-la-sesión-de-conexión-cuando-status=completed-devuelve-el-canal-creado.md) - [Stream SSE de eventos de pairing por QR (events: qr | connecting | connected | failed | disconnected). Sólo para sesiones iniciadas con mode=qr.](https://docs.keebai.com/_openapi/messaging/channels/stream-sse-de-eventos-de-pairing-por-qr-events:-qr-|-connecting-|-connected-|-failed-|-disconnected-sólo-para-sesiones-iniciadas-con-mode=qr.md) - [Cambia el project activo de la session CLI y emite un JWT nuevo. Sólo aceptable con un JWT del CLI (no con PAT).](https://docs.keebai.com/_openapi/messaging/cli-session/cambia-el-project-activo-de-la-session-cli-y-emite-un-jwt-nuevo-sólo-aceptable-con-un-jwt-del-cli-no-con-pat.md) - [Datos de la session CLI actual (user, company, current project). Útil para `keebai whoami`.](https://docs.keebai.com/_openapi/messaging/cli-session/datos-de-la-session-cli-actual-user-company-current-project-útil-para-`keebai-whoami`.md) - [Asignar nodos de la base de conocimientos a todos los workers de un asistente.](https://docs.keebai.com/_openapi/messaging/knowledge/asignar-nodos-de-la-base-de-conocimientos-a-todos-los-workers-de-un-asistente.md) - [Buscar en la base de conocimientos por full-text, vector o híbrido.](https://docs.keebai.com/_openapi/messaging/knowledge/buscar-en-la-base-de-conocimientos-por-full-text-vector-o-híbrido.md) - [Crear un documento desde markdown. El contenido se convierte a BlockNote y se reindexa para búsquedas.](https://docs.keebai.com/_openapi/messaging/knowledge/crear-un-documento-desde-markdown-el-contenido-se-convierte-a-blocknote-y-se-reindexa-para-búsquedas.md) - [Crear una carpeta en la base de conocimientos.](https://docs.keebai.com/_openapi/messaging/knowledge/crear-una-carpeta-en-la-base-de-conocimientos.md) - [Eliminar un nodo (carpeta o documento). Si es carpeta, elimina sus descendientes.](https://docs.keebai.com/_openapi/messaging/knowledge/eliminar-un-nodo-carpeta-o-documento-si-es-carpeta-elimina-sus-descendientes.md) - [Obtener el árbol completo de carpetas y documentos de la base de conocimientos.](https://docs.keebai.com/_openapi/messaging/knowledge/obtener-el-árbol-completo-de-carpetas-y-documentos-de-la-base-de-conocimientos.md) - [Listar projects de la company autenticada. Útil para que el CLI elija project context.](https://docs.keebai.com/_openapi/messaging/me/listar-projects-de-la-company-autenticada-útil-para-que-el-cli-elija-project-context.md) - [Obtener permisos efectivos del token](https://docs.keebai.com/_openapi/messaging/me/obtener-permisos-efectivos-del-token.md): Devuelve los permisos efectivos otorgados por el Personal Access Token autenticado. - [Revocar el token actualmente autenticado (logout server-side)](https://docs.keebai.com/_openapi/messaging/me/revocar-el-token-actualmente-autenticado-logout-server-side.md): Marca el PAT con el que se autenticó esta request como revocado. Próximas requests con el mismo token devolverán 401. - [Delete a previously uploaded WhatsApp media](https://docs.keebai.com/_openapi/messaging/media/delete-a-previously-uploaded-whatsapp-media.md) - [Download the binary contents of a WhatsApp media](https://docs.keebai.com/_openapi/messaging/media/download-the-binary-contents-of-a-whatsapp-media.md) - [Get WhatsApp media metadata](https://docs.keebai.com/_openapi/messaging/media/get-whatsapp-media-metadata.md) - [Upload a media file to WhatsApp. Returns a media_id usable in send-{image,video,audio,document,sticker} endpoints.](https://docs.keebai.com/_openapi/messaging/media/upload-a-media-file-to-whatsapp-returns-a-media_id-usable-in-send--endpoints.md) - [Escape hatch: forward a raw Meta Graph API body to /{phone_number_id}/messages](https://docs.keebai.com/_openapi/messaging/messages/escape-hatch:-forward-a-raw-meta-graph-api-body-to-messages.md) - [Mark a received message as read (optionally show typing)](https://docs.keebai.com/_openapi/messaging/messages/mark-a-received-message-as-read-optionally-show-typing.md) - [React with an emoji to a previous message](https://docs.keebai.com/_openapi/messaging/messages/react-with-an-emoji-to-a-previous-message.md) - [Schedule a bulk template broadcast to many recipients](https://docs.keebai.com/_openapi/messaging/messages/schedule-a-bulk-template-broadcast-to-many-recipients.md) - [Send a catalog interactive message](https://docs.keebai.com/_openapi/messaging/messages/send-a-catalog-interactive-message.md) - [Send a CTA URL message with a tappable link](https://docs.keebai.com/_openapi/messaging/messages/send-a-cta-url-message-with-a-tappable-link.md) - [Send a document (PDF, DOCX, etc.)](https://docs.keebai.com/_openapi/messaging/messages/send-a-document-pdf-docx-etc.md) - [Send a free-form text message](https://docs.keebai.com/_openapi/messaging/messages/send-a-free-form-text-message.md) - [Send a geo location pin](https://docs.keebai.com/_openapi/messaging/messages/send-a-geo-location-pin.md) - [Send a sticker](https://docs.keebai.com/_openapi/messaging/messages/send-a-sticker.md) - [Send a video](https://docs.keebai.com/_openapi/messaging/messages/send-a-video.md) - [Send an approved WhatsApp template](https://docs.keebai.com/_openapi/messaging/messages/send-an-approved-whatsapp-template.md) - [Send an image (by URL or previously uploaded media_id)](https://docs.keebai.com/_openapi/messaging/messages/send-an-image-by-url-or-previously-uploaded-media_id.md) - [Send an interactive button message (max 3 buttons)](https://docs.keebai.com/_openapi/messaging/messages/send-an-interactive-button-message-max-3-buttons.md) - [Send an interactive list message](https://docs.keebai.com/_openapi/messaging/messages/send-an-interactive-list-message.md) - [Send audio (voice/PTT supported)](https://docs.keebai.com/_openapi/messaging/messages/send-audio-voiceptt-supported.md) - [Send one or more contact cards (vCard-style)](https://docs.keebai.com/_openapi/messaging/messages/send-one-or-more-contact-cards-vcard-style.md) - [Status of a previously scheduled bulk broadcast](https://docs.keebai.com/_openapi/messaging/messages/status-of-a-previously-scheduled-bulk-broadcast.md) - [Confirmar una cita](https://docs.keebai.com/_openapi/messaging/scheduling-appointments/confirmar-una-cita.md): Sólo permite confirmar citas en estado `pending`. Devuelve 409 en caso contrario. - [Crear una cita](https://docs.keebai.com/_openapi/messaging/scheduling-appointments/crear-una-cita.md): Crea una nueva cita en estado pendiente con datos del cliente embebidos. - [Obtener detalle de una cita](https://docs.keebai.com/_openapi/messaging/scheduling-appointments/obtener-detalle-de-una-cita.md) - [Suspender (cancelar) una cita](https://docs.keebai.com/_openapi/messaging/scheduling-appointments/suspender-cancelar-una-cita.md): Marca la cita como cancelada con la razón opcional indicada. - [Disponibilidad por fecha específica](https://docs.keebai.com/_openapi/messaging/scheduling-availability/disponibilidad-por-fecha-específica.md): Retorna los slots libres para un servicio en una fecha puntual. - [Disponibilidad por rango de fechas (máximo 14 días)](https://docs.keebai.com/_openapi/messaging/scheduling-availability/disponibilidad-por-rango-de-fechas-máximo-14-días.md): Retorna los slots libres día a día entre `from` y `to` (inclusive). - [Próximas horas disponibles más cercanas](https://docs.keebai.com/_openapi/messaging/scheduling-availability/próximas-horas-disponibles-más-cercanas.md): Busca los próximos slots libres a partir de `fromDate` (default: hoy) recorriendo hasta `maxDays` días. - [Listar sucursales activas del tenant](https://docs.keebai.com/_openapi/messaging/scheduling-branches/listar-sucursales-activas-del-tenant.md) - [Obtener detalle de una sucursal](https://docs.keebai.com/_openapi/messaging/scheduling-branches/obtener-detalle-de-una-sucursal.md) - [Listar profesionales del tenant](https://docs.keebai.com/_openapi/messaging/scheduling-professionals/listar-profesionales-del-tenant.md) - [Obtener detalle de un profesional](https://docs.keebai.com/_openapi/messaging/scheduling-professionals/obtener-detalle-de-un-profesional.md) - [Listar servicios disponibles del tenant](https://docs.keebai.com/_openapi/messaging/scheduling-services/listar-servicios-disponibles-del-tenant.md) - [Obtener detalle de un servicio](https://docs.keebai.com/_openapi/messaging/scheduling-services/obtener-detalle-de-un-servicio.md) - [Cierra el flujo Embedded Signup iniciado vía Facebook JS SDK. Recibe code + waba_id + phone_number_id, verifica state HMAC y crea el Channel.](https://docs.keebai.com/_openapi/messaging/setup/cierra-el-flujo-embedded-signup-iniciado-vía-facebook-js-sdk-recibe-code-+-waba_id-+-phone_number_id-verifica-state-hmac-y-crea-el-channel.md) - [Config pública del setup link. Sin auth: el token del link autoriza.](https://docs.keebai.com/_openapi/messaging/setup/config-pública-del-setup-link-sin-auth:-el-token-del-link-autoriza.md) - [Inicia el flujo de conexión (Embedded Signup, Coexistence o QR). Sin persistencia intermedia: el state HMAC firmado correlaciona el callback.](https://docs.keebai.com/_openapi/messaging/setup/inicia-el-flujo-de-conexión-embedded-signup-coexistence-o-qr-sin-persistencia-intermedia:-el-state-hmac-firmado-correlaciona-el-callback.md) - [SSE proxy del pairing QR. Reusa wa_qr_sessions de api-client.](https://docs.keebai.com/_openapi/messaging/setup/sse-proxy-del-pairing-qr-reusa-wa_qr_sessions-de-api-client.md) - [Tras QR connect: aplica dev_tenant_id al Channel ya creado por api-client.](https://docs.keebai.com/_openapi/messaging/setup/tras-qr-connect:-aplica-dev_tenant_id-al-channel-ya-creado-por-api-client.md) - [Crear un template de WhatsApp y enviarlo a Meta para aprobación](https://docs.keebai.com/_openapi/messaging/templates/crear-un-template-de-whatsapp-y-enviarlo-a-meta-para-aprobación.md) - [Editar un template existente](https://docs.keebai.com/_openapi/messaging/templates/editar-un-template-existente.md) - [Listar templates aprobados de la company](https://docs.keebai.com/_openapi/messaging/templates/listar-templates-aprobados-de-la-company.md) - [Crear un tenant (cliente final del developer).](https://docs.keebai.com/_openapi/messaging/tenants/crear-un-tenant-cliente-final-del-developer.md) - [Editar config de setup link (no rota el token).](https://docs.keebai.com/_openapi/messaging/tenants/editar-config-de-setup-link-no-rota-el-token.md) - [Editar tenant.](https://docs.keebai.com/_openapi/messaging/tenants/editar-tenant.md) - [Generar un setup link para el tenant.](https://docs.keebai.com/_openapi/messaging/tenants/generar-un-setup-link-para-el-tenant.md) - [Listar canales WhatsApp asociados al tenant.](https://docs.keebai.com/_openapi/messaging/tenants/listar-canales-whatsapp-asociados-al-tenant.md) - [Listar setup links del tenant.](https://docs.keebai.com/_openapi/messaging/tenants/listar-setup-links-del-tenant.md) - [Listar tenants.](https://docs.keebai.com/_openapi/messaging/tenants/listar-tenants.md) - [Obtener tenant por id.](https://docs.keebai.com/_openapi/messaging/tenants/obtener-tenant-por-id.md) - [Revocar setup link. Token deja de ser válido.](https://docs.keebai.com/_openapi/messaging/tenants/revocar-setup-link-token-deja-de-ser-válido.md) - [Soft-delete del tenant.](https://docs.keebai.com/_openapi/messaging/tenants/soft-delete-del-tenant.md) - [Actualizar una subscripción](https://docs.keebai.com/_openapi/messaging/webhooks/actualizar-una-subscripción.md) - [Crear una subscripción de webhook saliente](https://docs.keebai.com/_openapi/messaging/webhooks/crear-una-subscripción-de-webhook-saliente.md): Devuelve el secret raw UNA SOLA VEZ. Guárdalo de inmediato — no se puede recuperar. - [Disparar un evento sintético hacia la URL configurada (para pruebas).](https://docs.keebai.com/_openapi/messaging/webhooks/disparar-un-evento-sintético-hacia-la-url-configurada-para-pruebas.md) - [Eliminar una subscripción](https://docs.keebai.com/_openapi/messaging/webhooks/eliminar-una-subscripción.md) - [Historial de deliveries de la subscripción.](https://docs.keebai.com/_openapi/messaging/webhooks/historial-de-deliveries-de-la-subscripción.md) - [Listar subscripciones de webhooks de la company](https://docs.keebai.com/_openapi/messaging/webhooks/listar-subscripciones-de-webhooks-de-la-company.md) - [Obtener una subscripción](https://docs.keebai.com/_openapi/messaging/webhooks/obtener-una-subscripción.md) - [Rotar el secret. El secret anterior queda inválido inmediatamente.](https://docs.keebai.com/_openapi/messaging/webhooks/rotar-el-secret-el-secret-anterior-queda-inválido-inmediatamente.md) - [Lista los números de WhatsApp Business conectados a la company.](https://docs.keebai.com/_openapi/messaging/whatsapp/lista-los-números-de-whatsapp-business-conectados-a-la-company.md) - [Listar y buscar asistentes activos de la company.](https://docs.keebai.com/_openapi/scheduling/assistants/listar-y-buscar-asistentes-activos-de-la-company.md) - [Inicia un flow de conexión de WhatsApp Business desde el CLI. Devuelve una URL del portal donde el usuario completa el embedded signup.](https://docs.keebai.com/_openapi/scheduling/channels/inicia-un-flow-de-conexión-de-whatsapp-business-desde-el-cli-devuelve-una-url-del-portal-donde-el-usuario-completa-el-embedded-signup.md) - [Listar canales activos de la company.](https://docs.keebai.com/_openapi/scheduling/channels/listar-canales-activos-de-la-company.md) - [Obtener un canal por id.](https://docs.keebai.com/_openapi/scheduling/channels/obtener-un-canal-por-id.md) - [Polling: estado de la sesión de conexión. Cuando status=completed devuelve el canal creado.](https://docs.keebai.com/_openapi/scheduling/channels/polling:-estado-de-la-sesión-de-conexión-cuando-status=completed-devuelve-el-canal-creado.md) - [Stream SSE de eventos de pairing por QR (events: qr | connecting | connected | failed | disconnected). Sólo para sesiones iniciadas con mode=qr.](https://docs.keebai.com/_openapi/scheduling/channels/stream-sse-de-eventos-de-pairing-por-qr-events:-qr-|-connecting-|-connected-|-failed-|-disconnected-sólo-para-sesiones-iniciadas-con-mode=qr.md) - [Cambia el project activo de la session CLI y emite un JWT nuevo. Sólo aceptable con un JWT del CLI (no con PAT).](https://docs.keebai.com/_openapi/scheduling/cli-session/cambia-el-project-activo-de-la-session-cli-y-emite-un-jwt-nuevo-sólo-aceptable-con-un-jwt-del-cli-no-con-pat.md) - [Datos de la session CLI actual (user, company, current project). Útil para `keebai whoami`.](https://docs.keebai.com/_openapi/scheduling/cli-session/datos-de-la-session-cli-actual-user-company-current-project-útil-para-`keebai-whoami`.md) - [Asignar nodos de la base de conocimientos a todos los workers de un asistente.](https://docs.keebai.com/_openapi/scheduling/knowledge/asignar-nodos-de-la-base-de-conocimientos-a-todos-los-workers-de-un-asistente.md) - [Buscar en la base de conocimientos por full-text, vector o híbrido.](https://docs.keebai.com/_openapi/scheduling/knowledge/buscar-en-la-base-de-conocimientos-por-full-text-vector-o-híbrido.md) - [Crear un documento desde markdown. El contenido se convierte a BlockNote y se reindexa para búsquedas.](https://docs.keebai.com/_openapi/scheduling/knowledge/crear-un-documento-desde-markdown-el-contenido-se-convierte-a-blocknote-y-se-reindexa-para-búsquedas.md) - [Crear una carpeta en la base de conocimientos.](https://docs.keebai.com/_openapi/scheduling/knowledge/crear-una-carpeta-en-la-base-de-conocimientos.md) - [Eliminar un nodo (carpeta o documento). Si es carpeta, elimina sus descendientes.](https://docs.keebai.com/_openapi/scheduling/knowledge/eliminar-un-nodo-carpeta-o-documento-si-es-carpeta-elimina-sus-descendientes.md) - [Obtener el árbol completo de carpetas y documentos de la base de conocimientos.](https://docs.keebai.com/_openapi/scheduling/knowledge/obtener-el-árbol-completo-de-carpetas-y-documentos-de-la-base-de-conocimientos.md) - [Listar projects de la company autenticada. Útil para que el CLI elija project context.](https://docs.keebai.com/_openapi/scheduling/me/listar-projects-de-la-company-autenticada-útil-para-que-el-cli-elija-project-context.md) - [Obtener permisos efectivos del token](https://docs.keebai.com/_openapi/scheduling/me/obtener-permisos-efectivos-del-token.md): Devuelve los permisos efectivos otorgados por el Personal Access Token autenticado. - [Revocar el token actualmente autenticado (logout server-side)](https://docs.keebai.com/_openapi/scheduling/me/revocar-el-token-actualmente-autenticado-logout-server-side.md): Marca el PAT con el que se autenticó esta request como revocado. Próximas requests con el mismo token devolverán 401. - [Delete a previously uploaded WhatsApp media](https://docs.keebai.com/_openapi/scheduling/media/delete-a-previously-uploaded-whatsapp-media.md) - [Download the binary contents of a WhatsApp media](https://docs.keebai.com/_openapi/scheduling/media/download-the-binary-contents-of-a-whatsapp-media.md) - [Get WhatsApp media metadata](https://docs.keebai.com/_openapi/scheduling/media/get-whatsapp-media-metadata.md) - [Upload a media file to WhatsApp. Returns a media_id usable in send-{image,video,audio,document,sticker} endpoints.](https://docs.keebai.com/_openapi/scheduling/media/upload-a-media-file-to-whatsapp-returns-a-media_id-usable-in-send--endpoints.md) - [Escape hatch: forward a raw Meta Graph API body to /{phone_number_id}/messages](https://docs.keebai.com/_openapi/scheduling/messages/escape-hatch:-forward-a-raw-meta-graph-api-body-to-messages.md) - [Mark a received message as read (optionally show typing)](https://docs.keebai.com/_openapi/scheduling/messages/mark-a-received-message-as-read-optionally-show-typing.md) - [React with an emoji to a previous message](https://docs.keebai.com/_openapi/scheduling/messages/react-with-an-emoji-to-a-previous-message.md) - [Schedule a bulk template broadcast to many recipients](https://docs.keebai.com/_openapi/scheduling/messages/schedule-a-bulk-template-broadcast-to-many-recipients.md) - [Send a catalog interactive message](https://docs.keebai.com/_openapi/scheduling/messages/send-a-catalog-interactive-message.md) - [Send a CTA URL message with a tappable link](https://docs.keebai.com/_openapi/scheduling/messages/send-a-cta-url-message-with-a-tappable-link.md) - [Send a document (PDF, DOCX, etc.)](https://docs.keebai.com/_openapi/scheduling/messages/send-a-document-pdf-docx-etc.md) - [Send a free-form text message](https://docs.keebai.com/_openapi/scheduling/messages/send-a-free-form-text-message.md) - [Send a geo location pin](https://docs.keebai.com/_openapi/scheduling/messages/send-a-geo-location-pin.md) - [Send a sticker](https://docs.keebai.com/_openapi/scheduling/messages/send-a-sticker.md) - [Send a video](https://docs.keebai.com/_openapi/scheduling/messages/send-a-video.md) - [Send an approved WhatsApp template](https://docs.keebai.com/_openapi/scheduling/messages/send-an-approved-whatsapp-template.md) - [Send an image (by URL or previously uploaded media_id)](https://docs.keebai.com/_openapi/scheduling/messages/send-an-image-by-url-or-previously-uploaded-media_id.md) - [Send an interactive button message (max 3 buttons)](https://docs.keebai.com/_openapi/scheduling/messages/send-an-interactive-button-message-max-3-buttons.md) - [Send an interactive list message](https://docs.keebai.com/_openapi/scheduling/messages/send-an-interactive-list-message.md) - [Send audio (voice/PTT supported)](https://docs.keebai.com/_openapi/scheduling/messages/send-audio-voiceptt-supported.md) - [Send one or more contact cards (vCard-style)](https://docs.keebai.com/_openapi/scheduling/messages/send-one-or-more-contact-cards-vcard-style.md) - [Status of a previously scheduled bulk broadcast](https://docs.keebai.com/_openapi/scheduling/messages/status-of-a-previously-scheduled-bulk-broadcast.md) - [Confirmar una cita](https://docs.keebai.com/_openapi/scheduling/scheduling-appointments/confirmar-una-cita.md): Sólo permite confirmar citas en estado `pending`. Devuelve 409 en caso contrario. - [Crear una cita](https://docs.keebai.com/_openapi/scheduling/scheduling-appointments/crear-una-cita.md): Crea una nueva cita en estado pendiente con datos del cliente embebidos. - [Obtener detalle de una cita](https://docs.keebai.com/_openapi/scheduling/scheduling-appointments/obtener-detalle-de-una-cita.md) - [Suspender (cancelar) una cita](https://docs.keebai.com/_openapi/scheduling/scheduling-appointments/suspender-cancelar-una-cita.md): Marca la cita como cancelada con la razón opcional indicada. - [Disponibilidad por fecha específica](https://docs.keebai.com/_openapi/scheduling/scheduling-availability/disponibilidad-por-fecha-específica.md): Retorna los slots libres para un servicio en una fecha puntual. - [Disponibilidad por rango de fechas (máximo 14 días)](https://docs.keebai.com/_openapi/scheduling/scheduling-availability/disponibilidad-por-rango-de-fechas-máximo-14-días.md): Retorna los slots libres día a día entre `from` y `to` (inclusive). - [Próximas horas disponibles más cercanas](https://docs.keebai.com/_openapi/scheduling/scheduling-availability/próximas-horas-disponibles-más-cercanas.md): Busca los próximos slots libres a partir de `fromDate` (default: hoy) recorriendo hasta `maxDays` días. - [Listar sucursales activas del tenant](https://docs.keebai.com/_openapi/scheduling/scheduling-branches/listar-sucursales-activas-del-tenant.md) - [Obtener detalle de una sucursal](https://docs.keebai.com/_openapi/scheduling/scheduling-branches/obtener-detalle-de-una-sucursal.md) - [Listar profesionales del tenant](https://docs.keebai.com/_openapi/scheduling/scheduling-professionals/listar-profesionales-del-tenant.md) - [Obtener detalle de un profesional](https://docs.keebai.com/_openapi/scheduling/scheduling-professionals/obtener-detalle-de-un-profesional.md) - [Listar servicios disponibles del tenant](https://docs.keebai.com/_openapi/scheduling/scheduling-services/listar-servicios-disponibles-del-tenant.md) - [Obtener detalle de un servicio](https://docs.keebai.com/_openapi/scheduling/scheduling-services/obtener-detalle-de-un-servicio.md) - [Cierra el flujo Embedded Signup iniciado vía Facebook JS SDK. Recibe code + waba_id + phone_number_id, verifica state HMAC y crea el Channel.](https://docs.keebai.com/_openapi/scheduling/setup/cierra-el-flujo-embedded-signup-iniciado-vía-facebook-js-sdk-recibe-code-+-waba_id-+-phone_number_id-verifica-state-hmac-y-crea-el-channel.md) - [Config pública del setup link. Sin auth: el token del link autoriza.](https://docs.keebai.com/_openapi/scheduling/setup/config-pública-del-setup-link-sin-auth:-el-token-del-link-autoriza.md) - [Inicia el flujo de conexión (Embedded Signup, Coexistence o QR). Sin persistencia intermedia: el state HMAC firmado correlaciona el callback.](https://docs.keebai.com/_openapi/scheduling/setup/inicia-el-flujo-de-conexión-embedded-signup-coexistence-o-qr-sin-persistencia-intermedia:-el-state-hmac-firmado-correlaciona-el-callback.md) - [SSE proxy del pairing QR. Reusa wa_qr_sessions de api-client.](https://docs.keebai.com/_openapi/scheduling/setup/sse-proxy-del-pairing-qr-reusa-wa_qr_sessions-de-api-client.md) - [Tras QR connect: aplica dev_tenant_id al Channel ya creado por api-client.](https://docs.keebai.com/_openapi/scheduling/setup/tras-qr-connect:-aplica-dev_tenant_id-al-channel-ya-creado-por-api-client.md) - [Crear un template de WhatsApp y enviarlo a Meta para aprobación](https://docs.keebai.com/_openapi/scheduling/templates/crear-un-template-de-whatsapp-y-enviarlo-a-meta-para-aprobación.md) - [Editar un template existente](https://docs.keebai.com/_openapi/scheduling/templates/editar-un-template-existente.md) - [Listar templates aprobados de la company](https://docs.keebai.com/_openapi/scheduling/templates/listar-templates-aprobados-de-la-company.md) - [Crear un tenant (cliente final del developer).](https://docs.keebai.com/_openapi/scheduling/tenants/crear-un-tenant-cliente-final-del-developer.md) - [Editar config de setup link (no rota el token).](https://docs.keebai.com/_openapi/scheduling/tenants/editar-config-de-setup-link-no-rota-el-token.md) - [Editar tenant.](https://docs.keebai.com/_openapi/scheduling/tenants/editar-tenant.md) - [Generar un setup link para el tenant.](https://docs.keebai.com/_openapi/scheduling/tenants/generar-un-setup-link-para-el-tenant.md) - [Listar canales WhatsApp asociados al tenant.](https://docs.keebai.com/_openapi/scheduling/tenants/listar-canales-whatsapp-asociados-al-tenant.md) - [Listar setup links del tenant.](https://docs.keebai.com/_openapi/scheduling/tenants/listar-setup-links-del-tenant.md) - [Listar tenants.](https://docs.keebai.com/_openapi/scheduling/tenants/listar-tenants.md) - [Obtener tenant por id.](https://docs.keebai.com/_openapi/scheduling/tenants/obtener-tenant-por-id.md) - [Revocar setup link. Token deja de ser válido.](https://docs.keebai.com/_openapi/scheduling/tenants/revocar-setup-link-token-deja-de-ser-válido.md) - [Soft-delete del tenant.](https://docs.keebai.com/_openapi/scheduling/tenants/soft-delete-del-tenant.md) - [Actualizar una subscripción](https://docs.keebai.com/_openapi/scheduling/webhooks/actualizar-una-subscripción.md) - [Crear una subscripción de webhook saliente](https://docs.keebai.com/_openapi/scheduling/webhooks/crear-una-subscripción-de-webhook-saliente.md): Devuelve el secret raw UNA SOLA VEZ. Guárdalo de inmediato — no se puede recuperar. - [Disparar un evento sintético hacia la URL configurada (para pruebas).](https://docs.keebai.com/_openapi/scheduling/webhooks/disparar-un-evento-sintético-hacia-la-url-configurada-para-pruebas.md) - [Eliminar una subscripción](https://docs.keebai.com/_openapi/scheduling/webhooks/eliminar-una-subscripción.md) - [Historial de deliveries de la subscripción.](https://docs.keebai.com/_openapi/scheduling/webhooks/historial-de-deliveries-de-la-subscripción.md) - [Listar subscripciones de webhooks de la company](https://docs.keebai.com/_openapi/scheduling/webhooks/listar-subscripciones-de-webhooks-de-la-company.md) - [Obtener una subscripción](https://docs.keebai.com/_openapi/scheduling/webhooks/obtener-una-subscripción.md) - [Rotar el secret. El secret anterior queda inválido inmediatamente.](https://docs.keebai.com/_openapi/scheduling/webhooks/rotar-el-secret-el-secret-anterior-queda-inválido-inmediatamente.md) - [Lista los números de WhatsApp Business conectados a la company.](https://docs.keebai.com/_openapi/scheduling/whatsapp/lista-los-números-de-whatsapp-business-conectados-a-la-company.md) - [Listar y buscar asistentes activos de la company.](https://docs.keebai.com/_openapi/webhooks/assistants/listar-y-buscar-asistentes-activos-de-la-company.md) - [Inicia un flow de conexión de WhatsApp Business desde el CLI. Devuelve una URL del portal donde el usuario completa el embedded signup.](https://docs.keebai.com/_openapi/webhooks/channels/inicia-un-flow-de-conexión-de-whatsapp-business-desde-el-cli-devuelve-una-url-del-portal-donde-el-usuario-completa-el-embedded-signup.md) - [Listar canales activos de la company.](https://docs.keebai.com/_openapi/webhooks/channels/listar-canales-activos-de-la-company.md) - [Obtener un canal por id.](https://docs.keebai.com/_openapi/webhooks/channels/obtener-un-canal-por-id.md) - [Polling: estado de la sesión de conexión. Cuando status=completed devuelve el canal creado.](https://docs.keebai.com/_openapi/webhooks/channels/polling:-estado-de-la-sesión-de-conexión-cuando-status=completed-devuelve-el-canal-creado.md) - [Stream SSE de eventos de pairing por QR (events: qr | connecting | connected | failed | disconnected). Sólo para sesiones iniciadas con mode=qr.](https://docs.keebai.com/_openapi/webhooks/channels/stream-sse-de-eventos-de-pairing-por-qr-events:-qr-|-connecting-|-connected-|-failed-|-disconnected-sólo-para-sesiones-iniciadas-con-mode=qr.md) - [Cambia el project activo de la session CLI y emite un JWT nuevo. Sólo aceptable con un JWT del CLI (no con PAT).](https://docs.keebai.com/_openapi/webhooks/cli-session/cambia-el-project-activo-de-la-session-cli-y-emite-un-jwt-nuevo-sólo-aceptable-con-un-jwt-del-cli-no-con-pat.md) - [Datos de la session CLI actual (user, company, current project). Útil para `keebai whoami`.](https://docs.keebai.com/_openapi/webhooks/cli-session/datos-de-la-session-cli-actual-user-company-current-project-útil-para-`keebai-whoami`.md) - [Asignar nodos de la base de conocimientos a todos los workers de un asistente.](https://docs.keebai.com/_openapi/webhooks/knowledge/asignar-nodos-de-la-base-de-conocimientos-a-todos-los-workers-de-un-asistente.md) - [Buscar en la base de conocimientos por full-text, vector o híbrido.](https://docs.keebai.com/_openapi/webhooks/knowledge/buscar-en-la-base-de-conocimientos-por-full-text-vector-o-híbrido.md) - [Crear un documento desde markdown. El contenido se convierte a BlockNote y se reindexa para búsquedas.](https://docs.keebai.com/_openapi/webhooks/knowledge/crear-un-documento-desde-markdown-el-contenido-se-convierte-a-blocknote-y-se-reindexa-para-búsquedas.md) - [Crear una carpeta en la base de conocimientos.](https://docs.keebai.com/_openapi/webhooks/knowledge/crear-una-carpeta-en-la-base-de-conocimientos.md) - [Eliminar un nodo (carpeta o documento). Si es carpeta, elimina sus descendientes.](https://docs.keebai.com/_openapi/webhooks/knowledge/eliminar-un-nodo-carpeta-o-documento-si-es-carpeta-elimina-sus-descendientes.md) - [Obtener el árbol completo de carpetas y documentos de la base de conocimientos.](https://docs.keebai.com/_openapi/webhooks/knowledge/obtener-el-árbol-completo-de-carpetas-y-documentos-de-la-base-de-conocimientos.md) - [Listar projects de la company autenticada. Útil para que el CLI elija project context.](https://docs.keebai.com/_openapi/webhooks/me/listar-projects-de-la-company-autenticada-útil-para-que-el-cli-elija-project-context.md) - [Obtener permisos efectivos del token](https://docs.keebai.com/_openapi/webhooks/me/obtener-permisos-efectivos-del-token.md): Devuelve los permisos efectivos otorgados por el Personal Access Token autenticado. - [Revocar el token actualmente autenticado (logout server-side)](https://docs.keebai.com/_openapi/webhooks/me/revocar-el-token-actualmente-autenticado-logout-server-side.md): Marca el PAT con el que se autenticó esta request como revocado. Próximas requests con el mismo token devolverán 401. - [Delete a previously uploaded WhatsApp media](https://docs.keebai.com/_openapi/webhooks/media/delete-a-previously-uploaded-whatsapp-media.md) - [Download the binary contents of a WhatsApp media](https://docs.keebai.com/_openapi/webhooks/media/download-the-binary-contents-of-a-whatsapp-media.md) - [Get WhatsApp media metadata](https://docs.keebai.com/_openapi/webhooks/media/get-whatsapp-media-metadata.md) - [Upload a media file to WhatsApp. Returns a media_id usable in send-{image,video,audio,document,sticker} endpoints.](https://docs.keebai.com/_openapi/webhooks/media/upload-a-media-file-to-whatsapp-returns-a-media_id-usable-in-send--endpoints.md) - [Escape hatch: forward a raw Meta Graph API body to /{phone_number_id}/messages](https://docs.keebai.com/_openapi/webhooks/messages/escape-hatch:-forward-a-raw-meta-graph-api-body-to-messages.md) - [Mark a received message as read (optionally show typing)](https://docs.keebai.com/_openapi/webhooks/messages/mark-a-received-message-as-read-optionally-show-typing.md) - [React with an emoji to a previous message](https://docs.keebai.com/_openapi/webhooks/messages/react-with-an-emoji-to-a-previous-message.md) - [Schedule a bulk template broadcast to many recipients](https://docs.keebai.com/_openapi/webhooks/messages/schedule-a-bulk-template-broadcast-to-many-recipients.md) - [Send a catalog interactive message](https://docs.keebai.com/_openapi/webhooks/messages/send-a-catalog-interactive-message.md) - [Send a CTA URL message with a tappable link](https://docs.keebai.com/_openapi/webhooks/messages/send-a-cta-url-message-with-a-tappable-link.md) - [Send a document (PDF, DOCX, etc.)](https://docs.keebai.com/_openapi/webhooks/messages/send-a-document-pdf-docx-etc.md) - [Send a free-form text message](https://docs.keebai.com/_openapi/webhooks/messages/send-a-free-form-text-message.md) - [Send a geo location pin](https://docs.keebai.com/_openapi/webhooks/messages/send-a-geo-location-pin.md) - [Send a sticker](https://docs.keebai.com/_openapi/webhooks/messages/send-a-sticker.md) - [Send a video](https://docs.keebai.com/_openapi/webhooks/messages/send-a-video.md) - [Send an approved WhatsApp template](https://docs.keebai.com/_openapi/webhooks/messages/send-an-approved-whatsapp-template.md) - [Send an image (by URL or previously uploaded media_id)](https://docs.keebai.com/_openapi/webhooks/messages/send-an-image-by-url-or-previously-uploaded-media_id.md) - [Send an interactive button message (max 3 buttons)](https://docs.keebai.com/_openapi/webhooks/messages/send-an-interactive-button-message-max-3-buttons.md) - [Send an interactive list message](https://docs.keebai.com/_openapi/webhooks/messages/send-an-interactive-list-message.md) - [Send audio (voice/PTT supported)](https://docs.keebai.com/_openapi/webhooks/messages/send-audio-voiceptt-supported.md) - [Send one or more contact cards (vCard-style)](https://docs.keebai.com/_openapi/webhooks/messages/send-one-or-more-contact-cards-vcard-style.md) - [Status of a previously scheduled bulk broadcast](https://docs.keebai.com/_openapi/webhooks/messages/status-of-a-previously-scheduled-bulk-broadcast.md) - [Confirmar una cita](https://docs.keebai.com/_openapi/webhooks/scheduling-appointments/confirmar-una-cita.md): Sólo permite confirmar citas en estado `pending`. Devuelve 409 en caso contrario. - [Crear una cita](https://docs.keebai.com/_openapi/webhooks/scheduling-appointments/crear-una-cita.md): Crea una nueva cita en estado pendiente con datos del cliente embebidos. - [Obtener detalle de una cita](https://docs.keebai.com/_openapi/webhooks/scheduling-appointments/obtener-detalle-de-una-cita.md) - [Suspender (cancelar) una cita](https://docs.keebai.com/_openapi/webhooks/scheduling-appointments/suspender-cancelar-una-cita.md): Marca la cita como cancelada con la razón opcional indicada. - [Disponibilidad por fecha específica](https://docs.keebai.com/_openapi/webhooks/scheduling-availability/disponibilidad-por-fecha-específica.md): Retorna los slots libres para un servicio en una fecha puntual. - [Disponibilidad por rango de fechas (máximo 14 días)](https://docs.keebai.com/_openapi/webhooks/scheduling-availability/disponibilidad-por-rango-de-fechas-máximo-14-días.md): Retorna los slots libres día a día entre `from` y `to` (inclusive). - [Próximas horas disponibles más cercanas](https://docs.keebai.com/_openapi/webhooks/scheduling-availability/próximas-horas-disponibles-más-cercanas.md): Busca los próximos slots libres a partir de `fromDate` (default: hoy) recorriendo hasta `maxDays` días. - [Listar sucursales activas del tenant](https://docs.keebai.com/_openapi/webhooks/scheduling-branches/listar-sucursales-activas-del-tenant.md) - [Obtener detalle de una sucursal](https://docs.keebai.com/_openapi/webhooks/scheduling-branches/obtener-detalle-de-una-sucursal.md) - [Listar profesionales del tenant](https://docs.keebai.com/_openapi/webhooks/scheduling-professionals/listar-profesionales-del-tenant.md) - [Obtener detalle de un profesional](https://docs.keebai.com/_openapi/webhooks/scheduling-professionals/obtener-detalle-de-un-profesional.md) - [Listar servicios disponibles del tenant](https://docs.keebai.com/_openapi/webhooks/scheduling-services/listar-servicios-disponibles-del-tenant.md) - [Obtener detalle de un servicio](https://docs.keebai.com/_openapi/webhooks/scheduling-services/obtener-detalle-de-un-servicio.md) - [Cierra el flujo Embedded Signup iniciado vía Facebook JS SDK. Recibe code + waba_id + phone_number_id, verifica state HMAC y crea el Channel.](https://docs.keebai.com/_openapi/webhooks/setup/cierra-el-flujo-embedded-signup-iniciado-vía-facebook-js-sdk-recibe-code-+-waba_id-+-phone_number_id-verifica-state-hmac-y-crea-el-channel.md) - [Config pública del setup link. Sin auth: el token del link autoriza.](https://docs.keebai.com/_openapi/webhooks/setup/config-pública-del-setup-link-sin-auth:-el-token-del-link-autoriza.md) - [Inicia el flujo de conexión (Embedded Signup, Coexistence o QR). Sin persistencia intermedia: el state HMAC firmado correlaciona el callback.](https://docs.keebai.com/_openapi/webhooks/setup/inicia-el-flujo-de-conexión-embedded-signup-coexistence-o-qr-sin-persistencia-intermedia:-el-state-hmac-firmado-correlaciona-el-callback.md) - [SSE proxy del pairing QR. Reusa wa_qr_sessions de api-client.](https://docs.keebai.com/_openapi/webhooks/setup/sse-proxy-del-pairing-qr-reusa-wa_qr_sessions-de-api-client.md) - [Tras QR connect: aplica dev_tenant_id al Channel ya creado por api-client.](https://docs.keebai.com/_openapi/webhooks/setup/tras-qr-connect:-aplica-dev_tenant_id-al-channel-ya-creado-por-api-client.md) - [Crear un template de WhatsApp y enviarlo a Meta para aprobación](https://docs.keebai.com/_openapi/webhooks/templates/crear-un-template-de-whatsapp-y-enviarlo-a-meta-para-aprobación.md) - [Editar un template existente](https://docs.keebai.com/_openapi/webhooks/templates/editar-un-template-existente.md) - [Listar templates aprobados de la company](https://docs.keebai.com/_openapi/webhooks/templates/listar-templates-aprobados-de-la-company.md) - [Crear un tenant (cliente final del developer).](https://docs.keebai.com/_openapi/webhooks/tenants/crear-un-tenant-cliente-final-del-developer.md) - [Editar config de setup link (no rota el token).](https://docs.keebai.com/_openapi/webhooks/tenants/editar-config-de-setup-link-no-rota-el-token.md) - [Editar tenant.](https://docs.keebai.com/_openapi/webhooks/tenants/editar-tenant.md) - [Generar un setup link para el tenant.](https://docs.keebai.com/_openapi/webhooks/tenants/generar-un-setup-link-para-el-tenant.md) - [Listar canales WhatsApp asociados al tenant.](https://docs.keebai.com/_openapi/webhooks/tenants/listar-canales-whatsapp-asociados-al-tenant.md) - [Listar setup links del tenant.](https://docs.keebai.com/_openapi/webhooks/tenants/listar-setup-links-del-tenant.md) - [Listar tenants.](https://docs.keebai.com/_openapi/webhooks/tenants/listar-tenants.md) - [Obtener tenant por id.](https://docs.keebai.com/_openapi/webhooks/tenants/obtener-tenant-por-id.md) - [Revocar setup link. Token deja de ser válido.](https://docs.keebai.com/_openapi/webhooks/tenants/revocar-setup-link-token-deja-de-ser-válido.md) - [Soft-delete del tenant.](https://docs.keebai.com/_openapi/webhooks/tenants/soft-delete-del-tenant.md) - [Actualizar una subscripción](https://docs.keebai.com/_openapi/webhooks/webhooks/actualizar-una-subscripción.md) - [Crear una subscripción de webhook saliente](https://docs.keebai.com/_openapi/webhooks/webhooks/crear-una-subscripción-de-webhook-saliente.md): Devuelve el secret raw UNA SOLA VEZ. Guárdalo de inmediato — no se puede recuperar. - [Disparar un evento sintético hacia la URL configurada (para pruebas).](https://docs.keebai.com/_openapi/webhooks/webhooks/disparar-un-evento-sintético-hacia-la-url-configurada-para-pruebas.md) - [Eliminar una subscripción](https://docs.keebai.com/_openapi/webhooks/webhooks/eliminar-una-subscripción.md) - [Historial de deliveries de la subscripción.](https://docs.keebai.com/_openapi/webhooks/webhooks/historial-de-deliveries-de-la-subscripción.md) - [Listar subscripciones de webhooks de la company](https://docs.keebai.com/_openapi/webhooks/webhooks/listar-subscripciones-de-webhooks-de-la-company.md) - [Obtener una subscripción](https://docs.keebai.com/_openapi/webhooks/webhooks/obtener-una-subscripción.md) - [Rotar el secret. El secret anterior queda inválido inmediatamente.](https://docs.keebai.com/_openapi/webhooks/webhooks/rotar-el-secret-el-secret-anterior-queda-inválido-inmediatamente.md) - [Lista los números de WhatsApp Business conectados a la company.](https://docs.keebai.com/_openapi/webhooks/whatsapp/lista-los-números-de-whatsapp-business-conectados-a-la-company.md) - [Get an API key](https://docs.keebai.com/dev/api-keys.md): Create, list, and revoke Personal Access Tokens from the Keebai dashboard. Scoped permissions, instant revocation, dev mode unlocked per role. - [Authentication](https://docs.keebai.com/dev/authentication.md): Send your Personal Access Token on every request to the Keebai public API, handle 401 errors cleanly, and store tokens safely. - [GET /v1/assistants](https://docs.keebai.com/dev/endpoints/assistants-list.md): List the active assistants in your company. Filterable by name and paginated. - [GET /v1/channels](https://docs.keebai.com/dev/endpoints/channels-list.md): List a company's active channels, filterable by type. - [POST /v1/channels/whatsapp/connect](https://docs.keebai.com/dev/endpoints/channels-whatsapp-connect.md): Kick off the connection flow for a new WhatsApp Business channel from your CLI or backend, without going through the portal. - [POST /v1/channels/whatsapp/connect (QR mode)](https://docs.keebai.com/dev/endpoints/channels-whatsapp-connect-qr.md): Multi-device QR pairing of a WhatsApp channel, scannable from the terminal or your own browser. - [POST /v1/knowledge/assignments](https://docs.keebai.com/dev/endpoints/knowledge-assign.md): Assign knowledge base nodes to all of an assistant's workers. - [POST /v1/knowledge/documents](https://docs.keebai.com/dev/endpoints/knowledge-document-create.md): Create a document from Markdown. The content is converted to BlockNote and reindexed for search. - [POST /v1/knowledge/folders](https://docs.keebai.com/dev/endpoints/knowledge-folder-create.md): Create a folder in the knowledge base, optionally nested under another folder. - [DELETE /v1/knowledge/nodes/:id](https://docs.keebai.com/dev/endpoints/knowledge-node-delete.md): Delete a node (folder or document). If it's a folder, all of its descendants are deleted too. - [POST /v1/knowledge/search](https://docs.keebai.com/dev/endpoints/knowledge-search.md): Search the knowledge base by full-text, vector, or hybrid. - [GET /v1/knowledge/tree](https://docs.keebai.com/dev/endpoints/knowledge-tree.md): Returns the full tree of folders and documents in your company's knowledge base. - [POST /v1/messages/bulk](https://docs.keebai.com/dev/endpoints/messages-bulk.md): Send an approved template to multiple recipients in a single request. Up to 5000 recipients per call. Returns a broadcast id for tracking. - [GET /v1/messages/bulk/:broadcastId](https://docs.keebai.com/dev/endpoints/messages-bulk-status.md): Returns the status and counters of a bulk send: total, sent, failed, and pending. - [POST /v1/messages/template](https://docs.keebai.com/dev/endpoints/messages-template.md): Send a Meta-approved WhatsApp template to a single recipient. Accepts named variables and returns the send id for tracking. - [POST /v1/messages/text](https://docs.keebai.com/dev/endpoints/messages-text.md): Send free-form text to a recipient with an open 24-hour conversation window. For sends outside that window, use a template. - [POST /v1/scheduling/appointments/:id/cancel](https://docs.keebai.com/dev/endpoints/scheduling-appointment-cancel.md): Cancel an appointment with an optional reason. Marks status as cancelled and records cancelled_at. - [POST /v1/scheduling/appointments/:id/confirm](https://docs.keebai.com/dev/endpoints/scheduling-appointment-confirm.md): Confirm an appointment, moving it from pending to confirmed. Returns 409 if the appointment isn't in pending. - [POST /v1/scheduling/appointments](https://docs.keebai.com/dev/endpoints/scheduling-appointment-create.md): Create an appointment in pending state with embedded customer data. Keebai generates the id (UUID). - [GET /v1/scheduling/appointments/:id](https://docs.keebai.com/dev/endpoints/scheduling-appointment-get.md): Fetch an appointment by id. Returns 404 if it belongs to another company. - [GET /v1/scheduling/availability](https://docs.keebai.com/dev/endpoints/scheduling-availability.md): Availability for a specific date. Returns free slots per professional for a given service. - [GET /v1/scheduling/availability/next](https://docs.keebai.com/dev/endpoints/scheduling-availability-next.md): Closest upcoming available time slots. Walks forward from a base date until it finds N free slots. - [GET /v1/scheduling/availability/range](https://docs.keebai.com/dev/endpoints/scheduling-availability-range.md): Availability grouped day by day between two dates. Useful for powering a weekly or biweekly calendar. - [GET /v1/scheduling/branches/:id](https://docs.keebai.com/dev/endpoints/scheduling-branch-get.md): Fetch a branch by id. Returns 404 if it doesn't belong to the tenant resolved from the PAT. - [GET /v1/scheduling/branches](https://docs.keebai.com/dev/endpoints/scheduling-branches-list.md): List the tenant's active branches. Supports full-text search over name and display_name (Spanish text index). - [GET /v1/scheduling/professionals/:id](https://docs.keebai.com/dev/endpoints/scheduling-professional-get.md): Fetch the full detail of a professional: assigned branches, allowed services, specialties, and status. - [GET /v1/scheduling/professionals](https://docs.keebai.com/dev/endpoints/scheduling-professionals-list.md): List the tenant's professionals. Filters by branch, service delivered, status, and full-text search by name/role. - [GET /v1/scheduling/services/:id](https://docs.keebai.com/dev/endpoints/scheduling-service-get.md): Fetch the full detail of a service: duration, buffers, time restrictions, and allowed professionals. - [GET /v1/scheduling/services](https://docs.keebai.com/dev/endpoints/scheduling-services-list.md): List the tenant's available services. Supports filtering by branch, full-text search, and filtering by status. - [POST /v1/templates](https://docs.keebai.com/dev/endpoints/templates-create.md): Create a WhatsApp template and submit it to Meta for approval. - [GET /v1/templates](https://docs.keebai.com/dev/endpoints/templates-list.md): Lists your tenant's approved WhatsApp templates with their expected variables, paginated. - [PATCH /v1/templates/{id}](https://docs.keebai.com/dev/endpoints/templates-update.md): Edit an existing template: components, category, language, or status. - [GET /v1/whatsapp/numbers](https://docs.keebai.com/dev/endpoints/whatsapp-numbers.md): Direct view of the company's active phone_number_ids. Handy for integrations that just need to know which number to send from. - [Public API overview](https://docs.keebai.com/dev/overview.md): The Keebai public API — REST + JSON, versioned at /v1, authenticated with Personal Access Tokens, with signed outbound webhooks and an OpenAPI 3 spec. - [Quickstart](https://docs.keebai.com/dev/quickstart.md): Mint your first Personal Access Token and send a WhatsApp message through the Keebai public API in under five minutes. - [Rate limits and errors](https://docs.keebai.com/dev/rate-limits.md): Usage limits per token, error response format, and best practices for building reliable integrations against the Keebai public API. - [Scopes](https://docs.keebai.com/dev/scopes.md): Scopes define exactly what a Personal Access Token can do. Catalog stored in MongoDB and validated endpoint-by-endpoint. - [Agent Skills](https://docs.keebai.com/dev/sdks/agent-skills.md): Official Keebai skills for Claude Code and AI agents that support the open Agent Skills format. They bundle the Keebai + @keebai/sdk know-how so an agent can send WhatsApp messages, manage templates, and receive webhooks without reinventing the integration. - [CLI](https://docs.keebai.com/dev/sdks/cli.md): @keebai/cli — the official command-line tool to authenticate, connect WhatsApp Business channels, manage Personal Access Tokens (PATs), and send messages straight from your terminal. - [TypeScript SDK](https://docs.keebai.com/dev/sdks/typescript.md): @keebai/sdk — the official Keebai TypeScript client for WhatsApp. One typed client, two modes: straight to Meta Cloud API or through the Keebai platform with a PAT. - [Manage via CLI](https://docs.keebai.com/dev/webhooks/cli.md): Create, list, test, rotate, and delete webhook subscriptions using the Keebai CLI. - [Event catalog](https://docs.keebai.com/dev/webhooks/events.md): Full list of events you can subscribe to. Each event has its own `data` shape. - [Manage via API](https://docs.keebai.com/dev/webhooks/manage.md): CRUD for webhook subscriptions directly over /v1/webhooks. Same operations as the CLI, nothing to install. - [Outbound webhooks](https://docs.keebai.com/dev/webhooks/overview.md): Receive signed HTTP notifications when events happen in Keebai: inbound messages, status updates, template changes, and channel connections. - [Signature verification](https://docs.keebai.com/dev/webhooks/security.md): How to validate that each delivery actually came from Keebai using HMAC-SHA256 over the `X-Keebai-Signature` header. - [Build with Keebai](https://docs.keebai.com/index.md): Send WhatsApp messages, manage AI assistants and knowledge, schedule appointments, and receive realtime events — all through a single API. ## OpenAPI Specs - [docs-json](https://api.keebai.com/v1/docs-json) - [openapi](https://docs.keebai.com/api-reference/openapi.json) ## Optional - [Support](mailto:support@keebai.com)