Saltar al contenido principal
POST
/
{slug}
/
conversation
/
ai-employee
Asignar empleado AI a conversación
curl --request POST \
  --url https://app.1to1.ai/api/v1/public/{slug}/conversation/ai-employee \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "conversation": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "whatsapp_user_id": "<string>",
    "phone": "+52 55 1234 5678"
  },
  "ai_employee": {
    "uuid": "550e8400-e29b-41d4-a716-446655440000",
    "name": "Asistente de Ventas"
  },
  "run": false,
  "instructions": "Confirma la cita y pregunta si quiere recordatorio el día anterior.",
  "scheduled_message_action": "cancel"
}
'
{
  "conversation": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a"
  },
  "ai_employee": {
    "uuid": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "name": "<string>"
  },
  "schedule_action": "cancelled",
  "status": "processing"
}

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.

Autorizaciones

Authorization
string
header
requerido

API token emitido desde Settings → API Token del dashboard 1TO1 AI. Enviar en header Authorization: Bearer sk_1to1_...

Parámetros de ruta

slug
string
requerido

Slug del business, case-insensitive. Debe coincidir con el business del token.

Ejemplo:

"acme"

Cuerpo

application/json
conversation
object
requerido

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).

ai_employee
object
requerido

Referencia al empleado AI. Al menos uno de uuid / name debe venir. Si se pasan ambos, prevalece name; si el name no matchea ningún empleado, cae al uuid como fallback.

run
boolean
predeterminado:false

false (default) solo asigna y responde 200. true asigna y luego ejecuta al empleado AI en background — agrega los guards de /run-ai (ventana 24h, wallet, visión, depth) y responde 202. El resultado del run (message_uuids, tokens) NO viene en la respuesta: se notificará por webhook (feature futura).

Ejemplo:

false

instructions
string

Solo aplica con run=true. Instrucciones extra que se pasan al empleado AI además del contexto natural de la conversación. Ignorado si run=false.

Required string length: 1 - 1000
Ejemplo:

"Confirma la cita y pregunta si quiere recordatorio el día anterior."

scheduled_message_action
enum<string>

Decisión sobre el mensaje programado activo de la conversación al cambiar el AI. Obligatorio cuando la transición es AI → otro AI con un schedule activo — la API no asume default (regla 3.2). Si se omite en ese caso responde SCHEDULED_MESSAGE_ACTION_REQUIRED (400). Para humano↔AI el campo es ignorado y el schedule se cancela siempre (reglas 3.3/3.5). Si se pasa reassign con una transición que no es AI→AI, responde SCHEDULED_MESSAGE_ACTION_INVALID (400). Si la conversación no tiene schedule activo, el campo también es ignorado.

Opciones disponibles:
reassign,
cancel
Ejemplo:

"cancel"

Respuesta

Empleado AI asignado (run=false — asignación pura).

conversation
object
requerido
ai_employee
object
requerido
schedule_action
enum<string>

Resultado de la operación sobre el schedule activo. none cuando no había schedule (caso normal) o cuando un race con cancel concurrente dejó el UPDATE en 0 filas. cancelled cuando se canceló (humano→AI, AI→humano, AI→AI con cancel). reassigned cuando se preservó apuntando al AI nuevo (AI→AI con reassign). preserved reservado para futuras semánticas — hoy el orquestador no lo emite. Útil para feedback al cliente externo del cambio aplicado al schedule.

Opciones disponibles:
preserved,
reassigned,
cancelled,
none
Ejemplo:

"cancelled"

status
enum<string>

Solo presente con run=true: la asignación se aplicó y el empleado AI se ejecuta en background. La respuesta NO espera al empleado — los mensajes generados y el uso de tokens se notificarán por webhook (feature futura).

Opciones disponibles:
processing
Ejemplo:

"processing"