Documentação
Tudo para ir do playground à produção.
Início rápido
Crie uma conta, gere uma API key no painel e envie a primeira requisição. A chave aparece uma única vez — guarde num segredo do servidor, nunca no código do navegador.
curl https://jevai.website/api/v1/systemone \
-H "Authorization: Bearer $JEV_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"state": "The deployment failed three times and production is returning 500s.",
"questions": {
"needs_human": {
"type": "noul",
"instructions": "Should this be escalated to a person?"
}
}
}'Requisição
Envie um JSON com `state` e um mapa de `questions` nomeadas. O campo opcional `model` é aceito por compatibilidade e ignorado. `state` pode ser uma string, um array de strings ou um objeto JSON, com até 100.000 caracteres.
Resposta
As respostas são indexadas pelo nome das suas perguntas. Toda resposta traz um `request_id` para citar no suporte.
Tipos de pergunta
Cada pergunta tem `type`, `instructions` e, em escolha e pontuação, um conjunto de `criteria`. Sim/não. Retorna `noul`: a probabilidade de a resposta ser sim. `criteria` com descrições `true` e `false` é opcional. Escolha uma de 2 a 20 opções rotuladas. Retorna `choice`, `probabilities` por opção e `confidence`. Posicione o estado numa escala ordenada de 2 a 10 níveis. Retorna um `score` contínuo (0 = primeiro nível), `probabilities`, `legend` e `confidence`.
Erros
Erros sempre usam o mesmo formato. Ramifique em `error.code`, não no texto da mensagem. Repita `429`, `502` e `529` com backoff exponencial. Não repita `401`, `402` ou `422` sem mudar a requisição.
| HTTP | Código | Significado |
|---|---|---|
| 401 | missing_api_key / invalid_api_key | API key ausente, inválida ou revogada |
| 402 | insufficient_credits | Créditos insuficientes no workspace |
| 422 | invalid_request | JSON malformado ou perguntas inválidas |
| 429 | rate_limited | Limite de taxa ou de concorrência atingido |
| 502 | upstream_error | O provedor do modelo falhou ou estourou o tempo |
| 529 | upstream_overloaded | O provedor do modelo está sobrecarregado |
Créditos e limites
1 crédito são 1.000 tokens de entrada. A cobrança final usa os tokens reais, arredondados para cima, no mínimo 1. São reservados antes da chamada e devolvidos se falhar. Concorrência e requisições por minuto dependem do plano do workspace. Ultrapassar retorna `429` com o cabeçalho `Retry-After`.
Tratamento de dados
Encaminhamos o pedido ao modelo para gerar uma resposta e não guardamos o conteúdo. Guardamos metadados (hora, status, créditos e tokens) para o seu histórico de uso.