Programa un mensaje (AI o humano) en una conversación.
Ramas:
executor_kind: 'ai_employee' — al firing, el AI procesará la conversación con el LLM y enviará la respuesta. El fallback template es opcional (si la ventana 24h está cerrada al firing, el firing usa el default del canal o el que pasaste).executor_kind: 'human_user' — al firing, el sistema envía el payload literal que armaste (texto/media/QR/template). El template_uuid es obligatorio porque la ventana 24h puede cerrar antes del firing y la API pública no puede asumir un default.Replace: si la conversación ya tiene un schedule pending, este POST lo cancela y crea uno nuevo (atómico). Solo se permite 1 pending por conversación.
Archivos: para media (mensaje principal o header de template), enviá file_uuid de un archivo previamente subido vía /files/request-upload + /files/confirm con module=api_messages. El servidor genera signed URLs y las re-firma al disparar.
Audit: la API key queda persistida en scheduled_messages.api_key_id. El author_snapshot reporta type='api_token' con el UUID público del token.
Documentation Index
Fetch the complete documentation index at: https://docs.1to1ai.com/llms.txt
Use this file to discover all available pages before exploring further.
API token emitido desde Settings → API Token del dashboard 1TO1 AI. Enviar en header Authorization: Bearer sk_1to1_...
Slug del business, case-insensitive. Debe coincidir con el business del token.
"acme"
ai_employee Identificador de la conversación — al menos UNO de los tres campos debe venir. Orden de resolución: uuid > whatsapp_user_id > phone. El lookup filtra por el business del token (defense in depth cross-tenant).
Fecha + hora interpretadas en la zona horaria del negocio (businesses.timezone, configurada al onboarding — típicamente America/Mexico_City). El servidor combina ambos campos contra esa zona para construir el instante UTC. La response normaliza a ISO Z (UTC).
Motivo del programado. Se inyecta como context_note en la conversación al firing.
1 - 500UUID pre-generado client-side (opcional). Reservado para uso futuro — el flow de pre-subir archivos referenciando el UUID antes del POST todavía no está disponible en API pública (sí en dashboard). Si lo omitís, el servidor genera el UUID automáticamente; si lo enviás, se respeta vía COALESCE en el RPC.
UUID del AI employee. Si null/omitido, usa el AI asignado a la conversación. Si la conv no tiene AI asignado y no lo pasás, falla con NO_AI_EMPLOYEE_ASSIGNED.
Template fallback. Si omitido, el firing usa el default scheduled template del canal (auto-creado al configurar WhatsApp).
Schedule creado.