Sua política escrita decide, não o modelo.
O Corpus aplica as regras da sua equipe aos fatos que seu agente envia: mesmos fatos, mesma decisão, mesmo rastro.
curl -X POST https://corpus.trysenda.xyz/v1/experts/deal-desk/query \ -H "Authorization: Bearer $CORPUS_KEY" \ -H "Content-Type: application/json" \ -d '{"goal":"discount_decision","facts":{"discount_pct":"18","deal_size_usd":"40000","customer_tier":"strategic"}}'- PerguntaA equipe comercial pode dar a este cliente um desconto de 18%?
- Fatos enviadosdiscount_pct = 18deal_size_usd = 40000customer_tier = strategic
- Regra que decidiustrategic_middiscount_pct <= 25 and deal_size_usd < 250000 and customer_tier = strategic
- Escrita emDeal desk policy v3
- RespostaAprovadodiscount_decision = approved
{ "outcome": "resolved", "conclusion": "approved", "needs": null, "reason": null, "certainty": 1, "expert": {"id":"59390982-f382-4817-b2c5-19903520001b","name":"deal-desk","version":1,"graphHash":"72fd4a683dd96ce63cdc29448f75f66e"}, "trace": [ {"id":"s1","parentId":null,"kind":"goal","concept":"discount_decision","provenance":{"kind":"caller","field":"discount_decision"},"expert":"deal-desk","expertVersion":1}, {"id":"s2","parentId":"s1","kind":"fact","concept":"discount_pct","value":"18","provenance":{"kind":"caller","field":"discount_pct"},"expert":"deal-desk","expertVersion":1}, {"id":"s3","parentId":"s1","kind":"fact","concept":"deal_size_usd","value":"40000","provenance":{"kind":"caller","field":"deal_size_usd"},"expert":"deal-desk","expertVersion":1}, {"id":"s4","parentId":"s1","kind":"fact","concept":"customer_tier","value":"strategic","provenance":{"kind":"caller","field":"customer_tier"},"expert":"deal-desk","expertVersion":1}, {"id":"s5","parentId":"s1","kind":"rule","concept":"discount_decision","value":"approved","detail":"discount_pct <= 25 and deal_size_usd < 250000 and customer_tier = strategic","provenance":{"kind":"rule","ruleId":"strategic_mid","expert":"deal-desk","version":1},"expert":"deal-desk","expertVersion":1}, {"id":"s6","parentId":"s5","kind":"document","concept":"discount_decision","value":"approved","provenance":{"kind":"document","documentId":"81234e2f-203f-4801-a514-064ed4733301","version":3,"title":"Deal desk policy"},"expert":"deal-desk","expertVersion":1} ], "traceHash": "41173f97e161f239df5404ab9d6b98f1", "inputHash": "11105ef571be321fb181c501c40c00a7"}Resultado resolved, hash de rastro 41173f97e161f239df5404ab9d6b98f1
Cada afirmação cita os seus documentos.
POST /v1/answers cita documento, versão e um trecho conferido por código em cada afirmação, ou recusa com not_in_documents.
curl -X POST https://corpus.trysenda.xyz/v1/answers \ -H "Authorization: Bearer $CORPUS_KEY" \ -H "Content-Type: application/json" \ -d '{ "question": "What is the daily meal allowance on a full travel day?" }'{ "mode": "knowledge", "outcome": "resolved", "answer": "The daily meal allowance is USD 55 per full travel day.", "claims": [ { "text": "The daily meal allowance is USD 55 per full travel day.", "support": 0.97, "citations": [ { "title": "Travel and Expense Policy", "version": 2, "chunk": 4, "quote": "The daily meal allowance is USD 55 per full travel day." } ] } ], "unanswered": [], "reason": null, "confidence": 0.97}| Idioma | Resultado correto | Recusas corretas | p50 |
|---|---|---|---|
| Inglêsconjunto de modelos free, 2026-09-26 | 16/17 | 6/6 | 13.7 s |
| Espanholconjunto de modelos free, 2026-09-26 | 15/17 | 6/6 | 12.4 s |
| Português | pendente | ||
Perguntas com resposta, parciais, sem resposta, ambíguas e substituídas, rodadas com os nossos modelos gratuitos de desenvolvimento.
Cada resposta mostra os documentos de onde saiu.
O Corpus lê seus documentos em ordem, fica só com o que sustenta a pergunta e responde com a citação. Se nenhum documento diz, não responde nada, e esse é o ponto.
- PerguntaQual é a diária de refeições em um dia completo de viagem?
- Documento lidoPolítica de viagens e despesas v1Diz USD 45, mas a v2 a substituiu. Não vale.
- Política de viagens e despesas v2Sustenta a resposta:
A diária de refeições é de USD 55 por dia completo de viagem.
- RespostaUSD 55 por dia completo de viagemCom sua citação e a versão do documento, conferidas por código.
USD 55 por dia completo de viagem
Nada é editado no lugar.
Uma decisão antiga é reproduzida na versão que leu.
v2- Entre 10% e 25%: revisão, seja qual for o nível.
v3- Entre 10% e 25%, abaixo de $250.000: um cliente estratégico é aprovado automaticamente.
| passo | sobre a v2 | sobre a v3 |
|---|---|---|
| 1 | goal discount_decision | goal discount_decision |
| 2 | discount_pct = 18 | discount_pct = 18 |
| 3 | deal_size_usd = 40000 | deal_size_usd = 40000 |
| 4 | rule mid_review = approved_with_review | customer_tier = strategic |
| 5 | document v2 | rule strategic_mid = approved |
| 6 | document v3 |
A mesma pergunta sobre a v3 diverge no passo 4.
Reproduzir a decisão da v2: {"matches":true,"divergedAt":null}
Especialistas, para a equipe que escreve regras.
Conceitos com tipo e regras que citam versões de documentos, montados com formulários e tabelas.
exemplo
| Teste | Espera | Obteve | Resultado |
|---|---|---|---|
| 8% é aprovado | resolved: approved | resolved: approved | passa |
| 30% é recusado | resolved: refused | resolved: refused | passa |
| 18% sobre $300.000 vai para revisão | resolved: approved_with_review | resolved: approved_with_review | passa |
| 18% sem nível pede o nível | needs_facts | needs_facts | passa |
| Estratégico a 18% vai para revisão, como dizia a v2 | resolved: approved_with_review | resolved: approved | falha |
Publicação recusada com tests_failed: 1 of 5 test(s) failed.
REST para o seu código, MCP para os seus agentes.
Um comando por trás dos dois; OpenAPI gerado dos schemas das rotas.
claude mcp add --transport http corpus https://corpus.trysenda.xyz/mcp \ --header "Authorization: Bearer $CORPUS_KEY"- ask_corpus
- query_expert
- list_experts
- replay_decision
- search_documents
- list_tags
- get_document
- create_document
O escopo mora na key.
Uma key sk_corpus_ por agente ou script, mostrada uma vez, guardada com hash.
- Especialistas
- Só os especialistas que ela nomeia; qualquer outro devolve
out_of_scope. - Tags
- Só documentos sob as suas tags são recuperados ou citados.
- Ritmo
- Limite próprio por minuto. Revogue-a e as chamadas dela param.
Cobrado pelo que os seus agentes usam.
Uma decisão é uma chamada a query_expert, com qualquer resultado. Uma resposta é uma chamada a ask_corpus a cada duas partes da pergunta. Uma página são 3.000 caracteres indexados. Ler, buscar e reproduzir não contam.
| Basic | Pro | Enterprise | |
|---|---|---|---|
| Decisões por mês | 25.000 | 250.000 | A combinar |
| Respostas por mês | 100 | 400 | A combinar |
| Páginas indexadas por mês | 250 | 1.000 | A combinar |
| Mensal | US$ 49 | US$ 199 | A partir de US$ 799 |
| Anual, dois meses grátis | US$ 490 | US$ 1.990 | Contrato anual |
| Obter uma API key | Obter uma API key | Fale conosco |
- BasicObter uma API key
- ProObter uma API key
- EnterpriseFale conosco
Todos os recursos em todos os planos. Não há plano grátis. USD, sem impostos. Cancele quando quiser; o acesso segue até o fim do período.
Quanto custa o seu volume
- Decisões por mês
- 18.000
- Plano
- Basic US$ 49 por mês
- Por decisão
- US$ 0,0027
- Mesmas respostas com anthropic/claude-opus-5.5
- US$ 432 por mês
- Mesmas respostas com google/gemini-3.1-flash-lite
- US$ 28,80 por mês
Preços de tabela, 2026-09-27, USD por milhão de tokens. anthropic/claude-opus-5.5: US$ 4 entrada / US$ 20 saídagoogle/gemini-3.1-flash-lite: US$ 0,2500 entrada / US$ 1,50 saída
Um mês são 30 dias.
O que um desenvolvedor pergunta primeiro.
- A mesma pergunta dá sempre a mesma resposta?
- Para as decisões, sim: mesma versão do especialista e mesmos fatos, mesmo hash de rastro. As respostas sobre documentos mudam de redação; as citações são sempre verificadas.
- Isso não é recuperação sobre um banco de dados vetorial?
- As respostas usam busca de texto completo e vetorial com um reranker, e descartam toda afirmação cuja citação não passe pelo código ou pelo juiz. As decisões não usam recuperação nem modelo.
- O que acontece quando falta um fato?
- Você recebe
needs_facts, eneedsnomeia cada conceito que falta com o seu tipo. Decida pelo resultado, nunca pela prosa. - Existe um plano gratuito?
- Não, nem teste. O playground e a documentação mostram cada requisição e resposta antes de pagar.
A sua primeira decisão, com o seu rastro.
Escreva uma política, publique um especialista, crie uma key e faça a sua primeira chamada.
Quer um agente rodando sobre isso? Line