Skip to main content
POST
Crear un agente y su versión inicial

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

x-workspace-id
string<uuid>

Identificador del workspace multi-tenant. Obligatorio al autenticar con Authorization: Bearer, donde su ausencia devuelve 400 Workspace context is required. Con x-api-key es opcional: la llave ya identifica a su workspace y lo que mandes aquí se ignora.

Body

application/json

Campos necesarios para registrar un nuevo agente. El usuario propietario se resuelve automáticamente a partir del token Bearer activo.

name
string
required
Minimum string length: 1
description
string
required

Obligatorio: omitirlo o mandarlo como null responde 400. Para un agente sin descripción, manda la cadena vacía.

Maximum string length: 1000
agentType
enum<string>
required

Tipo de agente (voice o chat).

Available options:
voice,
chat
status
enum<string>
required

Obligatorio: omitirlo o mandarlo como null responde 400. El alta no admite archived.

Available options:
inactive,
training,
active
debounceDelayMs
integer
required

Delay antes de enviar respuestas (milisegundos). Obligatorio: omitirlo o mandarlo como null responde 400; el valor neutro es 0.

Required range: x >= 0
avatarUrl
string<uri> | null

Imagen del agente alojada fuera. Excluyente con avatarUploadId.

avatarUploadId
string<uuid>

Identificador de una subida ya confirmada en el namespace avatars. El agente guarda la referencia al objeto, no una URL. Mandarlo junto a avatarUrl responde 422: son dos formas distintas de darle cara al agente y adivinar cuál gana es como se construyen los fallos que nadie reproduce.

brief
string | null

Prompt de personalización para Claude Code headless. Si se proporciona, la respuesta cambia a SSE (text/event-stream) con eventos de progreso.

Maximum string length: 10000
researchUrl
string<uri> | null

URL del sitio web del cliente para que Claude investigue contexto.

voiceId
string<uuid> | null

Voz seleccionada para el agente (UUID del catálogo de voces). Si se proporciona, se aplica al blueprint durante la creación.

attachments
object[] | null

Los ficheros que el cliente adjuntó en el chat de creación, ya subidos y confirmados en el namespace agent-briefs, junto con lo que dijo de cada uno. Al crear el agente se reclaman, que es lo que impide que el barrido se los lleve a las 72 h. Todo o nada: si un id no existe, no terminó de subirse, se subió a otro namespace o ya lo usa otro agente, la petición responde 422 nombrando cuáles fallaron y no se reclama ninguno. Un id de otro workspace se reporta como inexistente. Repetir el mismo uploadId en la lista responde 400.

Maximum array length: 10

Response

Agente creado

agentId
string<uuid>
required
name
string
required
agentType
enum<string>
required
Available options:
chat,
voice
workspaceId
string<uuid>
required
status
enum<string>
required
Available options:
inactive,
training,
active,
archived,
building,
failed
createdAt
string<date-time>
required
updatedAt
string<date-time>
required
totalCalls
integer
required

Total de llamadas realizadas por el agente.

Required range: x >= 0
totalOperationalDays
integer
required

Total de días operativos desde la creación del agente.

Required range: x >= 0
goalAchievedPercentage
number
required

Porcentaje de llamadas donde el objetivo fue alcanzado.

Required range: 0 <= x <= 100
version
object

La versión vigente del agente: la active si la hay y, si no, el borrador más reciente. Es de aquí de donde sale el identificador de versión que piden las rutas de blueprint, instrucciones y publicación — no hay un versionId plano. Se omite cuando el agente todavía no tiene ninguna versión.

description
string | null
avatarUrl
string<uri> | null

URL pública opcional utilizada para representar al agente.

debounceDelayMs
integer | null

Delay opcional antes de enviar respuestas (milisegundos).

Required range: x >= 0
ownerUserId
string<uuid> | null
knowledgeBaseIds
string<uuid>[]

Las bases de conocimiento que este agente consulta durante la conversación. Vacío significa que no consulta ninguna, no que no se sepa. Es la selección del cliente, leída del mismo sitio del que la lee el sync al publicar una versión, así que no puede divergir de lo que se toma como entrada al publicar. Al publicar, el proveedor de voz recibe sólo las que además están listas y son suyas: una base a medio indexar aparece aquí y todavía no viaja.