Pular para o conteúdo
openapi.yaml ↓

API do Abeesys RAG

Conhecimento com citação — insira texto curto e pergunte; cada resposta diz de onde veio.

A API ainda não tem endereço público. Hoje ela atende só na rede privada da plataforma. Nos exemplos, $RAG_URL é o endereço que a Abeesys passar a você.

Contrato 1.2.0 · OpenAPI 3.1.0 · baixar o openapi.yaml

Visão geral do contrato

Plataforma de conhecimento da Abeesys — spec 0025.

Dois contratos de domínio: inserir conhecimento e perguntar. As demais operações são as portas de apoio que a spec exige: ler o conhecimento por id e por versão (o caminho que a origem de um trecho abre), pôr e tirar veto, e trocar a credencial de modelo do tenant.

O serviço vive na rede privada (rag.railway.internal): a API ainda não tem endereço público. Toda rota exige a API key do tenant em Authorization: Bearer <key>, exceto as de saúde e as quatro de documentação (/openapi.yaml, /openapi.json, /llms.txt e /llms-full.txt), que não carregam dado de tenant. O tenant vem só da key — nunca do corpo, da URL ou de um header escolhido pelo cliente.

Conhecimento de outro tenant, ou inexistente, é o mesmo 404: a existência de um id não é informação que um tenant ganha.

Os nomes dos campos e dos valores de enum são os da spec (em português), e são estáveis.

Autenticação

Toda chamada leva a API key do tenant no cabeçalho Authorization: Bearer <key>. Sem chave, ou com chave inválida: 401.

  • apiKey: http bearer — API key do tenant, gerada pelo cmd/admin e guardada só como hash.

Sem API key: GET /v1/health, GET /v1/health/ready, GET /openapi.yaml, GET /openapi.json, GET /llms.txt, GET /llms-full.txt.

curl "$RAG_URL/v1/conhecimento/<id>" \
  -H "Authorization: Bearer $RAG_KEY"

Erros

Todo erro sai como application/problem+json (RFC 9457), com type, title, status e detail; no 422, também errors[]. Id de outro tenant responde 404, igual a um id que não existe.

  • 400 BadRequest — requisição ilegível — corpo que não é JSON, parâmetro malformado https://abeesys.com/errors/bad-request
  • 401 Unauthorized — API key ausente, inválida, ou de tenant desativado — a mesma resposta https://abeesys.com/errors/unauthorized
  • 404 NotFound — inexistente ou de outro tenant — indistinguíveis de propósito https://abeesys.com/errors/not-found
  • 422 ValidationFailed — Entrada que viola o schema ou regra de entrada: enum fora, texto vazio ou acima do limite, campo desconhecido, null onde se pede valor, credencial não cadastrada, texto acima da janela de tokens do vetorizador, ou identidade do vetorizador (repositório, arquivo, quantização, dimensão, pooling, janela) diferente da do índice. Não deixa registro. https://abeesys.com/errors/validation https://abeesys.com/errors/embedder-identity-mismatch https://abeesys.com/errors/text-exceeds-window

Conhecimento

POST /v1/conhecimento

Insere ou revisa um conhecimento

Exige a API key do tenant.

A Idempotency-Key é a identidade natural do conhecimento, única por tenant. Mesma chave com o mesmo corpo devolve o registro como está (200). Mesma chave com corpo novo é revisão do mesmo registro: a versão sobe e a resposta passa a usar o texto novo (200). Chave nova cria (201). Nunca 409.

O vetor é pedido ao vetorizador antes da gravação. Vetorizador fora, lento ou ainda carregando o modelo: o registro é gravado com indexacao: pendente, responde só pela busca textual, e um worker interno o reprocessa quando o vetorizador volta — sem nunca mexer na publicação.

O vetorizador nunca trunca. Texto que não cabe na janela de tokens dele é recusado com 422 text-exceeds-window, nomeando o limite em tokens, e não deixa registro — nem versão, nem pendência. O limite de caracteres de texto não garante caber na janela: a contagem é em tokens, e quem conta é o vetorizador. Um registro que já estava pendente e o vetorizador recusa por janela passa a indexacao: recusado e não é reprocessado; volta à indexação só com um texto novo na mesma chave (spec 0029).

Marca sugestao segura o registro em rascunho até a marca ser retirada na mesma chave.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
Idempotency-Keyheaderstring de 1 a 255 caracteres · padrão ^[\x21-\x7E]+$simidentidade natural do conhecimento; única por tenant

Corpo application/json

KnowledgeInput

Campos do corpo
CampoTipoObrigatórioDescrição
textostring de 1 a 510 caracteressimO texto indexável. Acima de 510 caracteres é 422. Dentro do limite, o texto ainda precisa caber na janela de tokens do vetorizador: se não couber, 422 text-exceeds-window nomeando o limite em tokens — nunca vetor truncado. Só espaço, ou caractere de controle, é 422.
tipoKnowledgeKind equivalencia apelido aplicacao observacaosim
nivelConfidence alta media baixanão
publicacaoPublication publicado rascunhosim
marcaKnowledgeMark negativo sugestaonão
referenciastring de 1 a 512 caracteresnãoid opaco de outro sistema; devolvido intacto, byte a byte, na origem
Exemplo de corpo
{
  "texto": "A remarcação de um agendamento é gratuita até 2 horas antes do horário marcado.",
  "tipo": "observacao",
  "publicacao": "publicado",
  "referencia": "politica:7d41a0"
}

Respostas

  • 200 já existia — revisado (versão nova) ou idêntico (sem mudança) application/json Knowledge
  • 201 criado application/json Knowledge
  • 400 requisição ilegível — corpo que não é JSON, parâmetro malformado application/problem+json Problemhttps://abeesys.com/errors/bad-request
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 422 Entrada que viola o schema ou regra de entrada: enum fora, texto vazio ou acima do limite, campo desconhecido, null onde se pede valor, credencial não cadastrada, texto acima da janela de tokens do vetorizador, ou identidade do vetorizador (repositório, arquivo, quantização, dimensão, pooling, janela) diferente da do índice. Não deixa registro. application/problem+json Problemhttps://abeesys.com/errors/validation https://abeesys.com/errors/embedder-identity-mismatch https://abeesys.com/errors/text-exceeds-window

GET /v1/conhecimento/{id}

Lê a versão atual de um conhecimento

Exige a API key do tenant.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
idpathstring formato uuidsim

Respostas

  • 200 o conhecimento application/json Knowledge
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 404 inexistente ou de outro tenant — indistinguíveis de propósito application/problem+json Problemhttps://abeesys.com/errors/not-found

GET /v1/conhecimento/{id}/versoes

Lista as versões de um conhecimento, da mais nova para a mais antiga

Exige a API key do tenant.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
idpathstring formato uuidsim

Respostas

  • 200 as versões, ordenadas por versao decrescente application/json KnowledgeVersionList
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 404 inexistente ou de outro tenant — indistinguíveis de propósito application/problem+json Problemhttps://abeesys.com/errors/not-found

GET /v1/conhecimento/{id}/versoes/{versao}

Abre o texto inserido numa versão — é o caminho da origem de um trecho

Exige a API key do tenant.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
idpathstring formato uuidsim
versaopathinteger de 1 a 2147483647sim

Respostas

  • 200 a versão application/json KnowledgeVersion
  • 400 requisição ilegível — corpo que não é JSON, parâmetro malformado application/problem+json Problemhttps://abeesys.com/errors/bad-request
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 404 inexistente ou de outro tenant — indistinguíveis de propósito application/problem+json Problemhttps://abeesys.com/errors/not-found

PUT /v1/conhecimento/{id}/veto

O tenant segura o próprio conhecimento

Exige a API key do tenant.

A partir daqui o conhecimento não sustenta texto nenhum — nem como trecho, nem como origem, nem indo ao modelo. O registro continua publicado: veto não é rascunho. Idempotente.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
idpathstring formato uuidsim

Respostas

  • 204 vetado
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 404 inexistente ou de outro tenant — indistinguíveis de propósito application/problem+json Problemhttps://abeesys.com/errors/not-found

DELETE /v1/conhecimento/{id}/veto

Tira o veto — o conhecimento volta sem reinserir

Exige a API key do tenant.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
idpathstring formato uuidsim

Respostas

  • 204 sem veto
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 404 inexistente ou de outro tenant — indistinguíveis de propósito application/problem+json Problemhttps://abeesys.com/errors/not-found

Perguntas

POST /v1/perguntas

Pergunta ao conhecimento do tenant que pergunta

Exige a API key do tenant.

A resposta chega em três tempos, nesta ordem e nada fora dela:

  1. trechos — o que sustenta, com a origem de cada um, e o desfecho;
  2. confianca — o nível, calculado antes do texto, da cobertura textual da pergunta pelos trechos (nunca da distância do vetor), igual para qualquer motor;
  3. texto — o texto verificado, sentença a sentença. Sentença sem origem válida sai inteira. Se nenhuma sobrevive, o texto vem vazio.

stream=true (padrão) devolve SSE com os eventos nomeados trechos, confianca e texto, um de cada, nesta ordem. stream=false devolve os três tempos no fim, na mesma ordem.

Perguntar grava só cache da resposta e medição de uso — mesmo quando o consumidor desiste no meio. Não grava conhecimento, veto, nem estado de resposta.

Quem escreve o texto (spec 0034): a credencial do tenant, se a pergunta cita uma; o modelo hospedado da plataforma se ela falhar ou se a pergunta não citar nenhuma; nenhum, se os dois falharem — e aí os trechos e o nível saem do mesmo jeito, sem texto, nunca 500. A cadeia inteira tem um teto somado de tempo (35 s por padrão, configuração do serviço), com uma reserva para o hospedado: o 429 do provedor da credencial é tentado de novo, com espera crescente, só enquanto sobra a reserva do hospedado — esgotado, o hospedado responde com motivo: limite_de_taxa. Os dois primeiros tempos (trechos e nível) não esperam o motor.

Resposta em que a credencial do tenant falhou (credencial_falhou: true, qualquer motivo) não vai ao cache: repetir a pergunta quando o provedor voltar dá a resposta dele, não a do hospedado guardada.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
streamqueryboolean padrão truenão

Corpo application/json

QuestionInput

Campos do corpo
CampoTipoObrigatórioDescrição
perguntastring de 1 a 1000 caracteressim
credencialCredentialNamenãonome da credencial do tenant que escreve o texto. Ausente: o modelo hospedado da plataforma. Credencial que o tenant não cadastrou é 422.
Exemplo de corpo
{
  "pergunta": "posso remarcar o agendamento no mesmo dia?",
  "credencial": "principal"
}

Respostas

  • 200 text/event-stream com stream=true; application/json com stream=false. Os dois carregam os mesmos três objetos. text/event-stream string · application/json Answer
  • 400 requisição ilegível — corpo que não é JSON, parâmetro malformado application/problem+json Problemhttps://abeesys.com/errors/bad-request
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 422 Entrada que viola o schema ou regra de entrada: enum fora, texto vazio ou acima do limite, campo desconhecido, null onde se pede valor, credencial não cadastrada, texto acima da janela de tokens do vetorizador, ou identidade do vetorizador (repositório, arquivo, quantização, dimensão, pooling, janela) diferente da do índice. Não deixa registro. application/problem+json Problemhttps://abeesys.com/errors/validation https://abeesys.com/errors/embedder-identity-mismatch https://abeesys.com/errors/text-exceeds-window
Resposta 200 · text/event-stream
event: trechos
data: {"desfecho":"encontrado","trechos":[...],"negativos":[],"procurado":{...}}

event: confianca
data: {"nivel":"alta"}

event: texto
data: {"resposta_id":"...","texto":"...","sentencas":[...],"motor":{...},"uso":{...}}

Credenciais

PUT /v1/credenciais/{nome}

Cadastra ou troca uma credencial de modelo do tenant

Exige a API key do tenant.

Só troca — nunca devolve o segredo, em nenhuma rota, nem em erro. Cifrada em repouso (ADR 0006).

O provedor da credencial responde, e o estado dela muda (spec 0034):

- 401/403 — fica inválida e deixa de ser tentada; as perguntas que a citam saem do hospedado com motivo: credencial_invalida. - 402 (sem saldo) — fica sem saldo, que não é inválida: ela continua sendo tentada a cada pergunta, e a primeira resposta bem-sucedida dela a devolve a válida. Enquanto o provedor disser 402, o hospedado responde, com motivo: credencial_sem_saldo. - 429 (limite de taxa) — o estado não muda (ver askQuestion).

Registrar de novo — inválida ou sem saldo — a traz de volta válida. Resposta já em cache dessa credencial (da mesma revisão) é servida também enquanto ela está sem saldo: o cache não chama o provedor.

Parâmetros

Parâmetros
NomeOndeTipoObrigatórioDescrição
nomepathCredentialNamesimnome que o tenant dá à credencial, e que ele cita em cada pergunta

Corpo application/json

CredentialInput

Campos do corpo
CampoTipoObrigatórioDescrição
provedorstring openai deepseeksimprovedor do modelo; o endereço de cada um é fixo no serviço (openai: https://api.openai.com/v1; deepseek: https://api.deepseek.com). deepseek entrou na versão 1.2.0 (spec 0034) — enum de entrada, aditivo.
modelostring de 1 a 128 caracteressim
segredostring de 1 a 512 caracteres · só de entradasimentra, nunca sai — nenhum schema de resposta o contém
Exemplo de corpo
{
  "provedor": "openai",
  "modelo": "gpt-4o-mini",
  "segredo": "sk-exemplo-falso"
}

Respostas

  • 204 guardada
  • 400 requisição ilegível — corpo que não é JSON, parâmetro malformado application/problem+json Problemhttps://abeesys.com/errors/bad-request
  • 401 API key ausente, inválida, ou de tenant desativado — a mesma resposta application/problem+json Problemhttps://abeesys.com/errors/unauthorized
  • 422 Entrada que viola o schema ou regra de entrada: enum fora, texto vazio ou acima do limite, campo desconhecido, null onde se pede valor, credencial não cadastrada, texto acima da janela de tokens do vetorizador, ou identidade do vetorizador (repositório, arquivo, quantização, dimensão, pooling, janela) diferente da do índice. Não deixa registro. application/problem+json Problemhttps://abeesys.com/errors/validation https://abeesys.com/errors/embedder-identity-mismatch https://abeesys.com/errors/text-exceeds-window

Saúde

GET /v1/health

O processo está de pé

Sem API key.

Respostas

  • 200 vivo application/json Health
Resposta 200 · application/json
{
  "status": "ok"
}

GET /v1/health/ready

Pronto para receber tráfego

Sem API key.

200 só com o banco alcançável, a extensão vector instalada em versão 0.8 ou maior (scan iterativo) e o índice HNSW presente. Sem a extensão o serviço não entra no ar — ADR 0005. O vetorizador não entra aqui: ele fora é degradação, não indisponibilidade.

Respostas

  • 200 pronto application/json Health
  • 503 não pronto — banco fora, extensão ausente ou abaixo de 0.8, índice ausente application/json Health
Resposta 200 · application/json
{
  "status": "ok"
}
Resposta 503 · application/json
{
  "status": "indisponivel",
  "motivo": "extensao-vector-ausente"
}

Documentação

GET /openapi.yaml

Este contrato, em YAML

Sem API key.

Os bytes exatos de contract/openapi.yaml do commit que está no ar. Não exige API key: não carrega dado de tenant.

Respostas

  • 200 o contrato application/yaml string

GET /openapi.json

Este contrato, em JSON

Sem API key.

O mesmo contrato do /openapi.yaml, convertido no arranque, na mesma ordem.

Respostas

  • 200 o contrato application/json object

GET /llms.txt

Índice curto para agentes (llmstxt.org)

Sem API key.

Gerado deste contrato no arranque — o que o serviço faz, onde está e cada rota.

Respostas

  • 200 o índice text/plain string

GET /llms-full.txt

Documentação completa para agentes

Sem API key.

Gerada deste contrato no arranque: rotas, parâmetros, campos, enums, respostas, tipos de erro e exemplos, num arquivo só de texto.

Respostas

  • 200 a documentação text/plain string

Tipos

KnowledgeKind

string equivalencia apelido aplicacao observacao

tipo do conhecimento — enum fechado; valor fora é 422

Confidence

string alta media baixa

Publication

string publicado rascunho

eixo de publicação — decide se o registro pode sustentar texto

IndexStatus

string ok pendente recusado

Eixo de indexação. ok: tem vetor e entra na busca vetorial. pendente: sem vetor ainda — o vetorizador estava fora; responde só pela busca textual, e o worker tenta de novo. recusado: o vetorizador recusou o texto por não caber na janela de tokens; responde só pela busca textual e não é reprocessado — só um texto novo na mesma chave o devolve à indexação.

recusado entrou na versão 1.1.0 (spec 0029). É valor novo num enum de saída: cliente com switch exaustivo precisa tratá-lo. Nenhum registro estava recusado antes dessa versão.

KnowledgeMark

string negativo sugestao

negativo: o cliente registrou que aquilo não serve — considerado, nunca sustenta frase. sugestao: proposta de algoritmo — segurada em rascunho até a marca ser retirada.

Outcome

string encontrado negativo nao_encontrado

Os três desfechos. encontrado: há conhecimento para afirmar. negativo: só um negativo registrado por pessoa. nao_encontrado: não há registro — nunca é tratado como negativa.

SearchState

string ok indisponivel nao_tentada

ok: a busca rodou. indisponivel: o vetorizador não respondeu, ainda carregava o modelo, respondeu com outra identidade, ou a pergunta não coube na janela de tokens dele — a resposta saiu sem busca vetorial. nao_tentada: base vazia.

EngineSource

string tenant hospedado nenhum

quem escreveu o texto — o modelo do tenant, o hospedado da plataforma, ou nenhum

CredentialName

string de 1 a 64 caracteres · padrão ^[a-z0-9][a-z0-9_-]*$

KnowledgeInput

objeto

Campos de KnowledgeInput
CampoTipoObrigatórioDescrição
textostring de 1 a 510 caracteressimO texto indexável. Acima de 510 caracteres é 422. Dentro do limite, o texto ainda precisa caber na janela de tokens do vetorizador: se não couber, 422 text-exceeds-window nomeando o limite em tokens — nunca vetor truncado. Só espaço, ou caractere de controle, é 422.
tipoKnowledgeKind equivalencia apelido aplicacao observacaosim
nivelConfidence alta media baixanão
publicacaoPublication publicado rascunhosim
marcaKnowledgeMark negativo sugestaonão
referenciastring de 1 a 512 caracteresnãoid opaco de outro sistema; devolvido intacto, byte a byte, na origem

Knowledge

objeto

Campos de Knowledge
CampoTipoObrigatórioDescrição
idstring formato uuidsim
versaointeger mínimo 1sim
textostringsim
tipoKnowledgeKind equivalencia apelido aplicacao observacaosim
nivelConfidence alta media baixanão
publicacaoPublication publicado rascunhosim
indexacaoIndexStatus ok pendente recusadosim
marcaKnowledgeMark negativo sugestaonão
referenciastringnão
vetadobooleansim
criado_emstring formato date-timesim
atualizado_emstring formato date-timesim

KnowledgeVersion

objeto

Campos de KnowledgeVersion
CampoTipoObrigatórioDescrição
idstring formato uuidsim
versaointeger mínimo 1sim
textostringsim
tipoKnowledgeKind equivalencia apelido aplicacao observacaosim
nivelConfidence alta media baixanão
publicacaoPublication publicado rascunhosim
marcaKnowledgeMark negativo sugestaonão
referenciastringnão
criado_emstring formato date-timesim

KnowledgeVersionList

objeto

Campos de KnowledgeVersionList
CampoTipoObrigatórioDescrição
itemslista de KnowledgeVersionsim
metaobjetosim
meta.totalinteger mínimo 0sim
meta.ordemstring versao_descsim

CredentialInput

objeto

Campos de CredentialInput
CampoTipoObrigatórioDescrição
provedorstring openai deepseeksimprovedor do modelo; o endereço de cada um é fixo no serviço (openai: https://api.openai.com/v1; deepseek: https://api.deepseek.com). deepseek entrou na versão 1.2.0 (spec 0034) — enum de entrada, aditivo.
modelostring de 1 a 128 caracteressim
segredostring de 1 a 512 caracteres · só de entradasimentra, nunca sai — nenhum schema de resposta o contém

QuestionInput

objeto

Campos de QuestionInput
CampoTipoObrigatórioDescrição
perguntastring de 1 a 1000 caracteressim
credencialCredentialNamenãonome da credencial do tenant que escreve o texto. Ausente: o modelo hospedado da plataforma. Credencial que o tenant não cadastrou é 422.

Origin

objeto

Campos de Origin
CampoTipoObrigatórioDescrição
conhecimento_idstring formato uuidsim
versaointeger mínimo 1sim
referenciastringnãoa referência opaca exatamente como foi inserida
caminhostringsimcaminho que abre o texto inserido — GET nele com a mesma API key

Passage

objeto

Campos de Passage
CampoTipoObrigatórioDescrição
textostringsim
tipoKnowledgeKind equivalencia apelido aplicacao observacaosim
nivelConfidence alta media baixanão
viastring vetorial textualsim
origemOriginsim

Searched

objeto

Campos de Searched
CampoTipoObrigatórioDescrição
perguntastringsima pergunta normalizada
termoslista de stringsim
busca_vetorialSearchState ok indisponivel nao_tentadasim
busca_textualSearchState ok indisponivel nao_tentadasim

Passages

objeto

Campos de Passages
CampoTipoObrigatórioDescrição
desfechoOutcome encontrado negativo nao_encontradosim
trechoslista de Passagesimo que pode sustentar texto, cada um com origem
negativoslista de Passagesimnegativos registrados que foram considerados — nunca sustentam frase
procuradoSearchedsim

ConfidenceEvent

objeto

Campos de ConfidenceEvent
CampoTipoObrigatórioDescrição
nivelConfidence alta media baixasim

Engine

objeto

Campos de Engine
CampoTipoObrigatórioDescrição
respondeuEngineSource tenant hospedado nenhumsim
modelostringnãoo modelo que escreveu o texto
credencialCredentialNamenão
credencial_falhoubooleansima pergunta pediu a credencial do tenant e o modelo dele não respondeu
motivostring credencial_invalida credencial_ilegivel provedor_indisponivel credencial_sem_saldo limite_de_taxanãopor que a credencial do tenant não respondeu: credencial_invalida — o provedor recusou o segredo (401/403), ou ela já estava inválida; credencial_ilegivel — o segredo guardado não abre com as chaves do serviço; provedor_indisponivel — fora do ar, lento ou com erro; credencial_sem_saldo — o provedor disse que a conta está sem saldo (402); limite_de_taxa — o provedor limitou a taxa (429) até acabar o tempo das novas tentativas. credencial_sem_saldo e limite_de_taxa entraram na versão 1.2.0 (spec 0034). São valores novos num enum de saída: cliente com switch exaustivo precisa tratá-los. Nenhuma resposta podia sair com eles antes dessa versão, e o rag não tinha consumidor fora da plataforma quando entraram.

Usage

objeto

Campos de Usage
CampoTipoObrigatórioDescrição
tokens_entradainteger formato int64 · mínimo 0sim
tokens_saidainteger formato int64 · mínimo 0sim
do_cachebooleansimresposta servida do cache — nenhum modelo foi chamado, zero tokens

VerifiedSentence

objeto

Campos de VerifiedSentence
CampoTipoObrigatórioDescrição
textostringsim
origenslista de Origin mínimo 1 itenssim

VerifiedText

objeto

Campos de VerifiedText
CampoTipoObrigatórioDescrição
resposta_idstring formato uuidsim
textostringsimas sentenças verificadas
sentencaslista de VerifiedSentencesim
motorEnginesim
usoUsagesim

Answer

objeto

os três tempos, na ordem

Campos de Answer
CampoTipoObrigatórioDescrição
trechosPassagessim
confiancaConfidenceEventsim
textoVerifiedTextsim

Health

objeto

Campos de Health
CampoTipoObrigatórioDescrição
statusstring ok indisponivelsim
motivostringnão

FieldError

objeto

Campos de FieldError
CampoTipoObrigatórioDescrição
fieldstringsim
messagestringsim

Problem

objeto

RFC 9457. Nunca carrega segredo, SQL, corpo de provedor ou stack trace.

Campos de Problem
CampoTipoObrigatórioDescrição
typestring formato urisim
titlestringsim
statusintegersim
detailstringnão
errorslista de FieldErrornão