LOGUS

Documentação da API

O Logus decide se uma mensagem pode chegar ao seu LLM: ALLOW ou DENY.

Endpoint

POST /v1/decision

Autenticação

Authorization: Bearer lg_... (sua chave de API)

Requisição

{
  "provider_id": "prov_xxx",
  "conversation_id": "conv_123",
  "request_id": "req_456",
  "context": [
    {"title": "contrato", "content": "documento fixo (opcional)"}
  ],
  "messages": [
    {"role": "user", "content": "mensagem do cliente"},
    {"role": "assistant", "content": "resposta anterior do seu LLM"}
  ]
}

Resposta

{
  "provider_id": "prov_xxx",
  "conversation_id": "conv_123",
  "request_id": "req_456",
  "decision": "DENY",
  "reason_code": "POLICY_DENIED",
  "policy_version": "v1.2",
  "credits_consumed": 2,
  "prompt_tokens": 10240
}

Créditos

Mínimo de 1 crédito por decisão (o Logus paga o modelo em toda chamada) + 1 crédito a cada bloco de ~8.000 tokens de entrada (configurável). A resposta informa credits_consumed e prompt_tokens. Replays com o mesmo request_id são idempotentes e não re-cobram.

Códigos de erro

HTTPSignificado
400Payload inválido (campos, papéis, tamanhos, campos desconhecidos)
401Chave de API inválida ou revogada
402Créditos insuficientes
403Provedor inativo ou provider_id divergente
429Limite de requisições
5xxFalha interna — trate como ausência de autorização (fail closed)

Reason codes

POLICY_ACCEPTED · POLICY_DENIED · JAILBREAK_ATTEMPT · INVALID_PAYLOAD · UNKNOWN_NICHE · INSUFFICIENT_CREDITS · PROVIDER_INACTIVE · MODEL_OUTPUT_INVALID · MODEL_UNAVAILABLE · POLICY_LOAD_FAILURE · INTERNAL_ERROR