Skip to Content

Agents

Os endpoints de Agent gerenciam os agents de AI que sua organização executa. Você pode criar, listar, obter, atualizar, arquivar (soft-delete) e restaurar agents, e ler ou atualizar a configuração de geração de um agent. Para de fato executar um agent, consulte Consulta de Agent.

Leituras exigem agents:read; escritas exigem agents:write. Arquivar e restaurar exigem adicionalmente a permissão de exclusão de agent no papel que gerou a key.

O formato do agent

A maioria dos endpoints retorna um objeto agent com este formato de negação por padrão:

{ "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" }

O objeto agent expõe apenas campos voltados ao tenant. O identificador subjacente de provedor/modelo do LLM deliberadamente não é retornado em nenhuma resposta de agent ou configuração — você define o modelo ao criar um agent (uma entrada da requisição), mas ele nunca é retornado. Identificadores internos, valores de custo e a contabilidade de versão/nova tentativa também nunca estão presentes.

O campo status é um de active, inactive, testing ou archived.


POST /agents

Crie um agent. Retorna 201 com o agent criado. Aceita um Idempotency-Key para que uma criação repetida nunca produza um segundo agent.

Scope: agents:write · Sucesso: 201

ParâmetroEmTipoObrigatórioDescrição
namebodystringSimNome do agent (1–100 caracteres).
descriptionbodystringNãoUma descrição (≤500 caracteres).
statusbodystringNãoactive, inactive, testing ou archived.
languagebodystringNãoUma substituição de idioma de resposta BCP-47. Herda o padrão da org quando omitido.
configurationbodyobjectSimO bloco de configuração do LLM (veja abaixo).
knowledge_accessbodyobjectNãoQuais pastas/tags/documentos o agent pode usar.
handoff_configbodyobjectNãoConfiguração de human handoff.
Idempotency-KeyheaderstringNãoKey de nova tentativa segura.

O bloco configuration obrigatório carrega o modelo e as configurações de geração. model e system_prompt são obrigatórios; todo o resto tem um padrão:

CampoTipoObrigatórioDescrição
modelstringSimO modelo que o agent deve usar. Entrada da requisição apenas — nunca retornado em nenhuma resposta.
system_promptstringSimO system prompt do agent (1–10000 caracteres).
temperaturenumberNão0.0–2.0. Padrão 0.7.
max_tokensintegerNão100–4000. Padrão 1500.
response_formatstringNãoconversational ou structured.
top_pnumberNão0.0–1.0. Padrão 1.0.
frequency_penaltynumberNão-2.0–2.0. Padrão 0.0.
presence_penaltynumberNão-2.0–2.0. Padrão 0.0.
streaming_enabledbooleanNãoPadrão true.
max_retrieved_chunksintegerNão5–20. Padrão 10.
show_citationsbooleanNãoPadrão 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" }

Erros: 400, 401, 403 (scope ou limite do plano), 429, 500.


GET /agents

Liste agents, paginado por cursor, com filtros opcionais status e search.

Scope: agents:read · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
limitqueryintegerNãoTamanho da página, 1–100. Padrão 20.
cursorquerystringNãoO next_cursor da página anterior.
statusquerystringNãoFiltrar por status do agent.
searchquerystringNãoFiltrar por um termo de busca de nome/descrição.
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 }

A visualização em lista omite o system_prompt da configuration de cada agent por brevidade; obtenha um único agent para vê-lo.

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


GET /agents/{agent_id}

Obtenha um único agent por id.

Scope: agents:read · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
agent_idpathstringSimO id do agent.
curl https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"

A resposta é um único objeto agent (consulte o formato do agent).

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


PATCH /agents/{agent_id}

Atualize os campos básicos de um agent. Todos os campos do corpo são opcionais; campos omitidos são deixados inalterados. As configurações de geração ficam no endpoint de configuração, não aqui.

Scope: agents:write · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
agent_idpathstringSimO id do agent.
namebodystringNãoNovo nome (1–100 caracteres).
descriptionbodystringNãoNova descrição (≤500 caracteres).
statusbodystringNãoNovo status.
languagebodystringNãoNova substituição de idioma BCP-47.
handoff_configbodyobjectNãoNova configuração 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" }'

A resposta é o objeto agent atualizado.

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


DELETE /agents/{agent_id}

Arquive (soft-delete) um agent. O agent é recuperável por 30 dias pelo endpoint de restauração. Retorna 200 com um corpo de arquivamento que carrega o prazo de restauração.

Scope: agents:write (o papel que gerou a key também deve ter a permissão de exclusão de agent) · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
agent_idpathstringSimO id do 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" }

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


POST /agents/{agent_id}/restore

Restaure um agent arquivado dentro da sua janela de recuperação de 30 dias. Retorna o agent restaurado. Uma janela expirada ou um agent não arquivado retorna 400.

Scope: agents:write (o papel que gerou a key também deve ter a permissão de exclusão de agent) · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
agent_idpathstringSimO id do agent.
curl -X POST https://cuneiform.chat/api/developer/v1/agents/agt_7c1d8e/restore \ -H "Authorization: Bearer cuk_live_xxxxxxxxxxxxxxxx"

A resposta é o objeto agent restaurado.

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


GET /agents/{agent_id}/configuration

Obtenha a configuração de um agent. Expõe apenas as configurações de geração voltadas ao tenant; o identificador subjacente de provedor/modelo do LLM não é retornado.

Scope: agents:read · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
agent_idpathstringSimO id do 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 }

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


PATCH /agents/{agent_id}/configuration

Atualize as configurações de geração de um agent. Todos os campos do corpo são opcionais. Uma configuração que viola os limites do seu plano retorna 403.

Scope: agents:write · Sucesso: 200

ParâmetroEmTipoObrigatórioDescrição
agent_idpathstringSimO id do agent.
system_promptbodystringNãoNovo system prompt (1–10000 caracteres).
temperaturebodynumberNão0.0–2.0.
max_tokensbodyintegerNão100–4000.
response_formatbodystringNãoconversational ou structured.
top_pbodynumberNão0.0–1.0.
frequency_penaltybodynumberNão-2.0–2.0.
presence_penaltybodynumberNão-2.0–2.0.
streaming_enabledbodybooleanNãoSe o streaming está habilitado.
max_retrieved_chunksbodyintegerNão5–20.
show_citationsbodybooleanNãoSe as citações são exibidas.
save_as_draftbodybooleanNãoSalvar sem publicar uma nova versão. Padrão 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 } }

Erros: 400, 401, 403 (scope ou limite do plano), 404, 429, 500.

Last updated on