Skip to Content

Agents

Los endpoints de Agent gestionan los agents de AI que ejecuta tu organización. Puedes crear, listar, obtener, actualizar, archivar (soft-delete) y restaurar agents, y leer o actualizar la configuración de generación de un agent. Para ejecutar un agent, consulta Consulta de Agent.

Las lecturas requieren agents:read; las escrituras requieren agents:write. Archivar y restaurar requieren además el permiso de eliminación de agent en el rol que generó la key.

La forma del agent

La mayoría de los endpoints devuelven un objeto agent con esta forma de denegación por defecto:

{ "id": "agt_7c1d8e", "name": "Support Bot", "description": "Answers product questions.", "status": "active", "language": "en", "type": "custom", "configuration": { "temperature": 0.7, "max_tokens": 1500, "system_prompt": "You are a helpful support agent.", "response_format": "conversational", "top_p": 1.0, "frequency_penalty": 0.0, "presence_penalty": 0.0, "streaming_enabled": true, "max_retrieved_chunks": 10, "show_citations": false }, "knowledge_access": { "folder_ids": ["fold_abc123"], "tag_ids": [], "document_ids": [], "access_mode": "inclusive", "document_count_cache": 12 }, "handoff_config": { "enabled": false }, "current_month_usage": { "queries": 134, "tokens_used": 41200, "last_reset_date": "2026-06-01T00:00:00Z" }, "created_at": "2026-05-20T11:00:00Z", "updated_at": "2026-06-07T08:30:00Z" }

El objeto agent expone solo campos orientados al tenant. El identificador subyacente de proveedor/modelo del LLM deliberadamente no se devuelve en ninguna respuesta de agent o configuración — defines el modelo cuando creas un agent (una entrada de la solicitud), pero nunca se devuelve. Los identificadores internos, las cifras de costo y la contabilidad de versión/reintento tampoco están presentes nunca.

El campo status es uno de active, inactive, testing o archived.


POST /agents

Crea un agent. Devuelve 201 con el agent creado. Acepta un Idempotency-Key para que una creación reintentada nunca produzca un segundo agent.

Scope: agents:write · Éxito: 201

ParámetroEnTipoRequeridoDescripción
namebodystringNombre del agent (1–100 caracteres).
descriptionbodystringNoUna descripción (≤500 caracteres).
statusbodystringNoactive, inactive, testing o archived.
languagebodystringNoUna anulación de idioma de respuesta BCP-47. Hereda el predeterminado de la org cuando se omite.
configurationbodyobjectEl bloque de configuración del LLM (ver abajo).
knowledge_accessbodyobjectNoQué carpetas/tags/documentos puede usar el agent.
handoff_configbodyobjectNoConfiguración de human handoff.
Idempotency-KeyheaderstringNoKey de reintento seguro.

El bloque configuration requerido lleva el modelo y los ajustes de generación. model y system_prompt son obligatorios; todo lo demás tiene un valor por defecto:

CampoTipoRequeridoDescripción
modelstringEl modelo que debe usar el agent. Entrada de la solicitud únicamente — nunca se devuelve en ninguna respuesta.
system_promptstringEl system prompt del agent (1–10000 caracteres).
temperaturenumberNo0.0–2.0. Por defecto 0.7.
max_tokensintegerNo100–4000. Por defecto 1500.
response_formatstringNoconversational o structured.
top_pnumberNo0.0–1.0. Por defecto 1.0.
frequency_penaltynumberNo-2.0–2.0. Por defecto 0.0.
presence_penaltynumberNo-2.0–2.0. Por defecto 0.0.
streaming_enabledbooleanNoPor defecto true.
max_retrieved_chunksintegerNo5–20. Por defecto 10.
show_citationsbooleanNoPor defecto false.
curl -X POST https://cuneiform.chat/api/developer/v1/agents \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "name": "Support Bot", "description": "Answers product questions.", "configuration": { "model": "gpt-4o-mini", "system_prompt": "You are a helpful support agent." } }'
{ "id": "agt_7c1d8e", "name": "Support Bot", "description": "Answers product questions.", "status": "active", "language": null, "type": "custom", "configuration": { "temperature": 0.7, "max_tokens": 1500, "system_prompt": "You are a helpful support agent.", "response_format": "conversational", "top_p": 1.0, "frequency_penalty": 0.0, "presence_penalty": 0.0, "streaming_enabled": true, "max_retrieved_chunks": 10, "show_citations": false }, "knowledge_access": { "folder_ids": [], "tag_ids": [], "document_ids": [], "access_mode": "inclusive", "document_count_cache": 0 }, "handoff_config": { "enabled": false }, "current_month_usage": { "queries": 0, "tokens_used": 0, "last_reset_date": "2026-06-01T00:00:00Z" }, "created_at": "2026-06-07T08:30:00Z", "updated_at": "2026-06-07T08:30:00Z" }

Errores: 400, 401, 403 (scope o límite del plan), 429, 500.


GET /agents

Lista agents, paginado por cursor, con filtros opcionales status y search.

Scope: agents:read · Éxito: 200

ParámetroEnTipoRequeridoDescripción
limitqueryintegerNoTamaño de página, 1–100. Por defecto 20.
cursorquerystringNoEl next_cursor de la página anterior.
statusquerystringNoFiltrar por estado del agent.
searchquerystringNoFiltrar por un término de búsqueda de nombre/descripción.
curl "https://cuneiform.chat/api/developer/v1/agents?limit=20&status=active" \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"
{ "data": [ { "id": "agt_7c1d8e", "name": "Support Bot", "description": "Answers product questions.", "status": "active", "language": "en", "type": "custom", "configuration": { "temperature": 0.7, "max_tokens": 1500, "response_format": "conversational", "top_p": 1.0, "frequency_penalty": 0.0, "presence_penalty": 0.0, "streaming_enabled": true, "max_retrieved_chunks": 10, "show_citations": false }, "knowledge_access": { "folder_ids": ["fold_abc123"], "tag_ids": [], "document_ids": [], "access_mode": "inclusive", "document_count_cache": 12 }, "handoff_config": { "enabled": false }, "current_month_usage": { "queries": 134, "tokens_used": 41200, "last_reset_date": "2026-06-01T00:00:00Z" }, "created_at": "2026-05-20T11:00:00Z", "updated_at": "2026-06-07T08:30:00Z" } ], "has_more": false, "next_cursor": null }

La vista de lista omite el system_prompt de la configuration de cada agent por brevedad; obtén un solo agent para verlo.

Errores: 400 invalid_cursor, 401, 403, 429, 500.


GET /agents/{agent_id}

Obtén un solo agent por id.

Scope: agents:read · Éxito: 200

ParámetroEnTipoRequeridoDescripción
agent_idpathstringEl id del agent.
curl https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"

La respuesta es un solo objeto agent (consulta la forma del agent).

Errores: 401, 403, 404 agent_not_found, 429, 500.


PATCH /agents/{agent_id}

Actualiza los campos básicos de un agent. Todos los campos del cuerpo son opcionales; los campos omitidos se dejan sin cambios. Los ajustes de generación viven en el endpoint de configuración, no aquí.

Scope: agents:write · Éxito: 200

ParámetroEnTipoRequeridoDescripción
agent_idpathstringEl id del agent.
namebodystringNoNuevo nombre (1–100 caracteres).
descriptionbodystringNoNueva descripción (≤500 caracteres).
statusbodystringNoNuevo estado.
languagebodystringNoNueva anulación de idioma BCP-47.
handoff_configbodyobjectNoNueva configuración de human handoff.
curl -X PATCH https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "status": "inactive" }'

La respuesta es el objeto agent actualizado.

Errores: 400, 401, 403, 404, 429, 500.


DELETE /agents/{agent_id}

Archiva (soft-delete) un agent. El agent es recuperable durante 30 días mediante el endpoint de restauración. Devuelve 200 con un cuerpo de archivado que lleva la fecha límite de restauración.

Scope: agents:write (el rol que generó la key también debe tener el permiso de eliminación de agent) · Éxito: 200

ParámetroEnTipoRequeridoDescripción
agent_idpathstringEl id del agent.
curl -X DELETE https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"
{ "id": "agt_7c1d8e", "archived": true, "restore_before": "2026-07-07T08:30:00Z" }

Errores: 401, 403, 404, 429, 500.


POST /agents/{agent_id}/restore

Restaura un agent archivado dentro de su ventana de recuperación de 30 días. Devuelve el agent restaurado. Una ventana expirada o un agent no archivado devuelve 400.

Scope: agents:write (el rol que generó la key también debe tener el permiso de eliminación de agent) · Éxito: 200

ParámetroEnTipoRequeridoDescripción
agent_idpathstringEl id del agent.
curl -X POST https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e/restore \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"

La respuesta es el objeto agent restaurado.

Errores: 400, 401, 403, 404, 429, 500.


GET /agents/{agent_id}/configuration

Obtén la configuración de un agent. Expone solo los ajustes de generación orientados al tenant; el identificador subyacente de proveedor/modelo del LLM no se devuelve.

Scope: agents:read · Éxito: 200

ParámetroEnTipoRequeridoDescripción
agent_idpathstringEl id del agent.
curl https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e/configuration \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"
{ "id": "agt_7c1d8e", "configuration": { "temperature": 0.7, "max_tokens": 1500, "system_prompt": "You are a helpful support agent.", "response_format": "conversational", "top_p": 1.0, "frequency_penalty": 0.0, "presence_penalty": 0.0, "streaming_enabled": true, "max_retrieved_chunks": 10, "show_citations": false }, "unsaved_changes": false }

Errores: 401, 403, 404, 429, 500.


PATCH /agents/{agent_id}/configuration

Actualiza los ajustes de generación de un agent. Todos los campos del cuerpo son opcionales. Un ajuste que infrinja los límites de tu plan devuelve 403.

Scope: agents:write · Éxito: 200

ParámetroEnTipoRequeridoDescripción
agent_idpathstringEl id del agent.
system_promptbodystringNoNuevo system prompt (1–10000 caracteres).
temperaturebodynumberNo0.0–2.0.
max_tokensbodyintegerNo100–4000.
response_formatbodystringNoconversational o structured.
top_pbodynumberNo0.0–1.0.
frequency_penaltybodynumberNo-2.0–2.0.
presence_penaltybodynumberNo-2.0–2.0.
streaming_enabledbodybooleanNoSi el streaming está habilitado.
max_retrieved_chunksbodyintegerNo5–20.
show_citationsbodybooleanNoSi se muestran las citas.
save_as_draftbodybooleanNoGuardar sin publicar una nueva versión. Por defecto false.
curl -X PATCH https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e/configuration \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx" \ -H "Content-Type: application/json" \ -d '{ "temperature": 0.4, "max_tokens": 2000 }'
{ "id": "agt_7c1d8e", "configuration": { "temperature": 0.4, "max_tokens": 2000, "system_prompt": "You are a helpful support agent.", "response_format": "conversational", "top_p": 1.0, "frequency_penalty": 0.0, "presence_penalty": 0.0, "streaming_enabled": true, "max_retrieved_chunks": 10, "show_citations": false } }

Errores: 400, 401, 403 (scope o límite del plan), 404, 429, 500.

Last updated on