- Jobs de extração em
/v1/fetcher— criar um job, ler um job. - Conexões em
/v1/management/connections— o ciclo de vida da conexão, leituras de esquema, testes de conexão e as duas operações de atribuição de produto.
Os documentos OpenAPI deste portal são fontes de renderização para as páginas de referência. Eles não são contratos de cliente e não servem de base para a geração de SDKs.
Autenticação
O Fetcher aceita um token JWT bearer:
PLUGIN_AUTH_ENABLED liga o middleware de autenticação, e PLUGIN_AUTH_ADDRESS o aponta para o serviço de identidade. O Manager recusa iniciar quando você habilita a autenticação e deixa o endereço vazio. O modo multi-tenant também exige autenticação efetiva — o roteador recusa montar um middleware de tenant sem ela. Veja Configuração.
Cada uma das 12 operações declara 401 e 403. O Fetcher autoriza cada requisição contra a aplicação fetcher, um recurso (connections ou fetcher) e uma ação que corresponde ao método HTTP.
Cinco rotas ficam fora da autenticação para que as sondas continuem funcionando: /health, /readyz, /readyz/tenant/{id}, /metrics e /version.
Escopo de produto
As operações de conexão carregam um cabeçalho
X-Product-Name. Ele nomeia o produto dono da conexão.
- Criar conexão exige o cabeçalho. O Fetcher rejeita um valor ausente, vazio ou composto apenas de espaços.
- Listar conexões trata o cabeçalho como opcional. Com ele, você vê as conexões de um produto. Sem ele, você vê todas as conexões no escopo.
- O Fetcher converte o valor para minúsculas. Ele aceita letras, dígitos, sublinhados e hifens, até 100 caracteres.
metadata.source, campo que o payload de criação exige.
Jobs assíncronos
POST /v1/fetcher responde 202 Accepted e retorna um identificador de job com status pending. O Worker executa a extração depois da resposta.
O Fetcher deduplica requisições de job por um hash da requisição, dentro de uma janela de 5 minutos. Uma duplicata dentro dessa janela responde 200 OK e retorna o job existente, em vez de enfileirar um segundo. Um job que já falhou não suprime uma nova tentativa — você pode reenviá-lo.
Para acompanhar um job, consulte GET /v1/fetcher/{id} periodicamente, ou assine os eventos terminais descritos em Eventos de job.
Paginação
As duas operações de listagem — conexões e conexões sem produto — usam paginação por deslocamento, com os mesmos parâmetros de consulta.
A resposta de uma página carrega
items, page, limit e total.
DATASOURCE_{NAME}_* — aparecem apenas na página 1, à frente das conexões armazenadas, e contam para o total.
Filtragem
A listagem de conexões aceita dois filtros além da janela de datas.
type— um entrePOSTGRESQL,MYSQL,ORACLE,SQL_SERVERouMONGODB. O Fetcher converte o valor para maiúsculas.metadata.<key>=<value>— correspondência exata com uma entrada de metadados que você armazenou junto com a conexão. Por exemplo,metadata.region=br.
FET-0405:
- Uma chave que começa com
$, o que bloqueia injeção de operadores de consulta. - Uma chave que começa com
_, o que bloqueia campos internos. - Uma chave com mais de 64 caracteres, ou um valor com mais de 256 caracteres.
Erros
Todo erro responde
application/problem+json e segue a RFC 9457.
Faça a correspondência por
code, não por title ou detail. Os códigos se agrupam por faixa:
O Fetcher oculta falhas de nível de driver na sua fronteira. Ele descarta o erro bruto do banco, de modo que uma string de conexão, uma credencial ou um detalhe interno do driver nunca chega a quem chamou.
Ler a especificação a partir de um Manager em execução
SWAGGER_ENABLED=true monta uma referência Scalar em /swagger/docs e o documento OpenAPI 3.1 em /swagger/openapi.json e /swagger/openapi.yaml. Mantenha essa opção desligada em produção.
Próximos passos
Referência de API
As 12 operações, com os formatos completos de requisição e resposta.
Eventos de job
Reaja a
job.completed e job.failed em vez de consultar periodicamente.Conceitos centrais
Conexões, descoberta de esquema, jobs de extração, filtros e resultados.
Configuração
As variáveis de ambiente por trás da autenticação, dos limites de paginação e da superfície da API.

