Guia do desenvolvedor
Tudo o que você precisa para conectar seu primeiro evento, consultar o mundo e operar com memória, previsão e incerteza calibrada — em minutos.
Base e autenticação
Todas as chamadas usam REST + JSON sobre HTTPS com Bearer token. Cada token identifica um client e alcança apenas os mundos dele.
export CWM_TOKEN="cwm_live_••••••••••••"pt-BRBASE=https://api.camileai.com/v1/cwmpt-BRConceitos
Mundo
Uma instância isolada do modelo. Um mundo por cliente, projeto, entidade ou sistema. Nada cruza a fronteira de um mundo.
Observação
Todo evento entra como observação — mensagens, ações, resultados. Idempotente por content-hash: reenvio é sempre seguro e não cobra duas vezes.
Crença
Cada observação vira crença com fonte, histórico e confiança explícita. O mundo lembra quando soube, e por quê.
Previsão
Futuros prováveis nascem com incerteza calibrada (intervalo + confiança) e são verificados quando o futuro chega.
Verificação
Previsões e simulações nascem PENDING e são verificadas contra a fita real — um ledger auditável de acertos e erros.
CWM Unit
A unidade de consumo: trabalho real de computação, medido por chamada com a fórmula pública. Erro do serviço custa zero.
Quickstart
Do zero ao primeiro estado consultável em quatro chamadas.
# 1) Crie um mundo
curl -X POST https://api.camileai.com/v1/cwm/worlds \
-H "Authorization: Bearer $CWM_TOKEN" \
-H "Content-Type: application/json" \
-d '{"world_id": "atlas"}'
# 2) Alimente com o primeiro evento
curl -X POST https://api.camileai.com/v1/cwm/worlds/atlas/observations/user-message \
-H "Authorization: Bearer $CWM_TOKEN" \
-d '{"user":"marina","text":"Braga cancelou o plano anual.","event_time":1787942400}'
# 3) Consulte o estado
curl https://api.camileai.com/v1/cwm/worlds/atlas/state \
-H "Authorization: Bearer $CWM_TOKEN"
# 4) Confira o consumo
curl "https://api.camileai.com/v1/cwm/usage?world_id=atlas" \
-H "Authorization: Bearer $CWM_TOKEN"pt-BRReferência de endpoints
Superfície pública da edição API. O contrato completo, com schemas, vive na especificação aberta.
| Método | Endpoint | Descrição |
|---|---|---|
| POST | /worlds | Cria um mundo isolado para o seu client. |
| GET | /worlds/{id}/state | Estado consultável do mundo: entidades, relações e crenças com confiança. |
| POST | /worlds/{id}/observations/{tipo} | Ingere um evento como observação (idempotente). |
| GET | /worlds/{id}/forecasts | Previsões multi-horizonte com incerteza calibrada. |
| POST | /worlds/{id}/forecasts:verify | Verifica previsões pendentes contra eventos que chegaram. |
| GET | /worlds/{id}/risk | Risco quantificado do estado atual do mundo. |
| POST | /worlds/{id}/simulate | Roda cenários deliberativos (simulação/planejamento). |
| POST | /worlds/{id}/counterfactual-world | Cria mundo alternativo para comparação contrafactual. |
| POST | /worlds/{id}/causal/discover | Descoberta causal sobre o fluxo do mundo. |
| GET | /worlds/{id}/beliefs/{pred} | Consulta crença específica com histórico e confiança. |
| GET | /worlds/{id}/contradictions | Contradições detectadas entre crenças. |
| GET | /worlds/{id}/needs-evidence | Lacunas explícitas: onde o mundo pede evidência. |
| GET | /worlds/{id}/health | Painel de saúde do mundo (alertas por regra literal). |
| GET | /usage | Consumo agregado em CWM Units por client/mundo/etapa. |
Monte sua requisição
Escolha um endpoint da especificação pública, preencha os parâmetros e copie o snippet pronto — nada é executado por aqui.
Ingere um evento como observação (idempotente).
https://api.camileai.com/v1/cwm/worlds/meu-mundo/observations/user-messageParâmetros de caminho
curl -X POST "https://api.camileai.com/v1/cwm/worlds/meu-mundo/observations/user-message" \
-H "Authorization: Bearer $CWM_TOKEN" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: <uuid>" \
-d '{
"user": "marina",
"text": "Braga cancelou o plano anual.",
"event_time": 1787942400
}'pt-BREste gerador não executa chamadas: o snippet é para copiar e rodar no seu ambiente, com o seu token em $CWM_TOKEN. O custo de cada chamada chega na resposta, no header X-Cwm-Units.
Cabeçalhos de resposta
X-Cwm-UnitsCusto da chamada em CWM Units (o mesmo valor do seu relatório de uso).
X-Cwm-Cpu-MsTempo de CPU consumido pela chamada.
X-Cwm-Client-IdIdentificador do client autenticado.
model_versionVersão do motor que processou a chamada (ex.: R56).
Idempotência e erros
Toda observação carrega um content-hash: reenviar o mesmo evento devolve o mesmo recibo com duplicate: true e não cobra novamente. Erros do serviço (5xx) custam 0 units. Erros de requisição (4xx) retornam objeto de erro estruturado com motivo explícito.
0
Erros do serviço: 0 units.
1×
Reenvio idempotente: não cobra duas vezes.
4xx / 5xx
JSON estruturado
Versionamento e releases
O motor evolui em releases numerados (R50, R51, R56…) quase diariamente, sempre aditivos: endpoints existentes não quebram e o comportamento legado permanece reproduzível. Cada resposta carrega a versão do motor que a produziu. Acompanhe a trilha completa na área de atualizações.
Ver atualizaçõesCWM Units
Nenhuma cobrança por token, por linha nem por minuto. A unidade é o CWM Unit: trabalho real de computação, medido por chamada.
Pagamentos
Recargas de CWM Units via Stripe Checkout, em oito moedas.
Preço explícito por moeda
Cada moeda tem tabela própria, revisada à mão. Nada é convertido em runtime: o valor cobrado é exatamente o exibido.
Fluxo do checkout
O POST /api/payments/checkout cria a sessão hosteada do Stripe e devolve a URL. O crédito de units acontece apenas no webhook checkout.session.completed — o redirect de volta é só experiência do usuário.
Idempotência do webhook
Cada pagamento tem sessionId único e paidAt. Eventos repetidos são reconhecidos sem creditar duas vezes, e todo evento válido é registrado em auditoria.
Modo demonstração
Sem credenciais Stripe configuradas, o checkout opera em modo demo: autorização simulada, crédito imediato e pagamento marcado com o provider demo para auditoria.
Pacotes por moeda
| Pacote | CWM Units | Preço em BRL |
|---|---|---|
| 50k | 50,000 | R$ 59,90 |
| 100k | 100,000 | R$ 119,90 |
| 250k | 250,000 | R$ 299,90 |
| 500k | 500,000 | R$ 599,90 |
| 1M | 1,000,000 | R$ 1.199,90 |
JPY é zero-decimal: o valor já está em ienes inteiros.
Abrir faturamentoValidação externa
O CWM é medido em benchmarks públicos sob juízes oficiais, com estado de corte declarado e limitações publicadas junto.
1.000
MemoBench · corte de estado
Retenção de objeto 1.000 [0.989, 1.000] no corte de estado. Sistemas generativos publicados pontuam 0.157–0.582 na modalidade deles: a falha de persistência é um problema de estado — e o motor estruturado não o tem.
0.949
STATE-Bench · corte de estado
Acurácia de tracking 0.949 micro / 0.960 macro [0.931, 0.977], zero entidades espúrias. Na comunidade não contaminada: 0.998. O modo de falha dominante é medido e publicado, não escondido.
0.4984
CausalDS · juiz oficial
Escada causal (associação, intervenção, contrafactual) sob o juiz oficial do benchmark: associação 1.000 com erro médio de efeito 0.000887 e cobertura de intervalo 0.896. Publicados gastam 12,9k–266k tokens por tarefa.
