X-API-KeyA API que lê o contexto fiscal, com clareza, não com promessa.
A superfície pública que a Finnextho já expõe hoje para escritórios contábeis, ERPs e automação supervisionada por IA. O que está documentado aqui é o que existe.
- HMAC
- SHA-256 assinado
- 8
- endpoints fiscais
- 5 min
- janela de assinatura
- 120/min
- rate limit padrão
Comece por aqui
Quickstart
Assine, chame e leia o contexto fiscal em uma única requisição — cURL, Node ou Python.
Autenticação HMAC
API key + assinatura SHA-256, janela de 5 min e proteção a replay por nonce.
Endpoints fiscais
Oito rotas de leitura: workspace, perfil, certificado, capabilities, documentos e fila.
Scopes
Contrato público orientado a leitura, status e supervisão — escopo por empresa.
Erros & rate limits
errorCode estável por falha e headers de backoff prontos para o seu retry.
Limites atuais
A parte mais honesta: o que ainda não deve ser vendido como pronto nesta v1.
Assine, chame e leia o contexto fiscal em uma requisição.
Os exemplos montam o payload assinado exatamente como o servidor espera. Troque a key e o secret provisionados, escolha a linguagem e copie.
01
Receba a credencial
API key e secret provisionados pelo time, com escopos e allowlist de IP.
02
Monte a assinatura
Concatene method, rota, timestamp, nonce e body; gere o HMAC SHA-256.
03
Chame o endpoint
Envie os 4 headers X-API-*. A resposta vem no envelope padrão com requestId.
API_KEY="ak_live_xxxxxxxx"
API_SECRET="sk_live_xxxxxxxx"
METHOD="GET"
ROUTE="/api/external/fiscal/workspace"
TS="$(date +%s)"
NONCE="$(openssl rand -hex 16)"
# payload = METHOD \n originalUrl \n timestamp \n nonce \n rawBody
PAYLOAD="$METHOD\n$ROUTE\n$TS\n$NONCE\n"
SIG="$(printf '%b' "$PAYLOAD" | openssl dgst -sha256 -hmac "$API_SECRET" | awk '{print $2}')"
curl -sS "https://api.finnextho.com$ROUTE" \
-H "X-API-Key: $API_KEY" \
-H "X-API-Timestamp: $TS" \
-H "X-API-Nonce: $NONCE" \
-H "X-API-Signature: sha256=$SIG"API key + HMAC SHA-256, com escopo por empresa.
Cada requisição é assinada e validada contra uma janela curta de timestamp, com proteção a replay por nonce. A credencial pertence a uma única empresa — governança simples, sem ambiguidade de tenant.
O payload assinado, byte a byte.
Concatene method, rota original (com query), timestamp, nonce e o raw body separados por quebra de linha. O HMAC vai em hex no header de assinatura.
X-API-SignatureX-API-TimestampX-API-Noncepayload = METHOD + "\n"
+ originalUrl + "\n"
+ timestamp + "\n"
+ nonce + "\n"
+ rawBody
signature = HMAC_SHA256(secret, payload) // hex- Algoritmo
- HMAC SHA-256 · assinatura em hex
- Payload
- METHOD + originalUrl + timestamp + nonce + rawBody
- Janela
- 5 minutos — epoch em segundos ou ms
- Nonce
- Mín. 8 caracteres, uso único (anti-replay)
- Prefixo
- Aceita com ou sem sha256=
- Tenant
- Uma credencial = uma empresa dona
Envelope previsível, com requestId em toda chamada.
Sucesso e erro seguem um contrato fixo. O requestId e o traceId sempre voltam para correlação e suporte — o seu log de produção fica limpo desde o primeiro dia.
data + meta, sempre no mesmo formato.
O corpo de sucesso traz os dados em data e os identificadores de rastreio em meta. Você consegue logar, correlacionar e dar suporte sem adivinhação.
{
"success": true,
"data": {
"company": { "id": "665f0c...", "name": "Acme Serviços ME" },
"fiscalProfile": { "regime": "simples_nacional", "uf": "SP" },
"certificate": { "status": "valid", "expiresAt": "2026-02-10T00:00:00.000Z" }
},
"meta": {
"requestId": "req_9f2c7a1b4e",
"traceId": "trc_5a1b8c3d2f",
"clientId": "ak_live_xxxxxxxx",
"companyId": "665f0c..."
}
}Oito rotas de leitura. Nenhum write path que ainda não esteja aberto.
/api/external/fiscal/workspaceVisão consolidada da empresa autenticada.
fiscal:read/api/external/fiscal/companiesContexto fiscal da empresa dona da credencial.
fiscal:read/api/external/fiscal/profilePerfil fiscal e dados-base da empresa.
fiscal:profile:read/api/external/fiscal/certificate/statusStatus atual do certificado da empresa.
fiscal:certificate:read/api/external/fiscal/capabilitiesSuporte fiscal e exigências mínimas por documento.
fiscal:capabilities:read/api/external/fiscal/documentsLista documentos fiscais paginados.
fiscal:documents:read/api/external/fiscal/pendingFila de pendências e contingência.
fiscal:queue:read/api/external/fiscal/webhooks/statusEstado atual do feed fiscal (somente status).
fiscal:webhooks:readUm contrato público orientado a leitura, status e supervisão.
fiscal:readWorkspace consolidado
Contexto agregado da empresa autenticada em um único payload.
fiscal:profile:readPerfil fiscal
Regime, inscrições e dados-base para operação fiscal.
fiscal:certificate:readCertificado
Configuração, validade e risco de expiração do certificado.
fiscal:capabilities:readCapabilities
Suporte atual por documento e exigências mínimas da superfície.
fiscal:documents:readDocumentos
Documentos paginados com filtros por tipo, período e direção.
fiscal:queue:readFila de pendências
Fila fiscal operacional para casos em contingência.
Um errorCode estável para cada falha, com headers de backoff.
O errorCode é máquina-legível e não muda de texto. Trate por ele, nunca pela mensagem. Ao estourar o limite, a API responde 429 com Retry-After.
external_credentials_missingFalta um dos headers X-API-* obrigatórios.
external_timestamp_expiredTimestamp fora da janela de 5 minutos.
external_client_invalidAPI key inexistente ou cliente inativo.
external_ip_not_allowedIP de origem fora da allowlist do cliente.
external_signature_invalidHMAC não confere com o payload assinado.
external_replay_detectedNonce já utilizado dentro da janela.
external_rate_limit_exceededLimite de requisições do cliente excedido.
external_scope_forbiddenCredencial sem o scope exigido pelo endpoint.
120
req / janela
60s
janela padrão
x-rate-limit-limitTeto de requisições na janela. Default 120.
x-rate-limit-windowTamanho da janela em segundos. Default 60.
x-rate-limit-remainingRequisições restantes na janela atual.
Retry-AfterSegundos até liberar novas chamadas. Enviado no 429.
{
"success": false,
"error": "Assinatura inválida",
"errorCode": "external_signature_invalid",
"requestId": "req_9f2c7a1b4e",
"traceId": "trc_5a1b8c3d2f"
}Conecte o Claude e outros assistentes à sua empresa.
O servidor MCP da Finnextho deixa o assistente que você já usa consultar o fiscal e os fornecedores da empresa, em português. Diferente da API externa, a conexão você mesmo cria no produto, no plano Profissional.
01
Crie a conexão
No produto, em Configurações › Conectar IA. Faz parte do plano Profissional.
02
Cole no seu assistente
Escolha o assistente e copie o comando, com o token no lugar de COLE_AQUI_O_SEU_TOKEN.
03
Pergunte em português
“Tem nota travada hoje?” O assistente consulta a Finnextho e responde.
Onde colar: claude_desktop_config.json
{
"mcpServers": {
"finnextho": {
"command": "npx",
"args": [
"-y",
"mcp-remote",
"https://api.finnextho.com/mcp",
"--header",
"Authorization:${FINNEXTHO_AUTH_HEADER}"
],
"env": {
"FINNEXTHO_AUTH_HEADER": "Bearer COLE_AQUI_O_SEU_TOKEN"
}
}
}
}ChatGPT e o Claude na web entram por login de um clique (OAuth), sem token para colar. A tela Conectar IA mostra quando ele está liberado para a sua conta.
- Endereço
https://api.finnextho.com/mcp- Transporte
- HTTP, com o token em Authorization: Bearer
- Acesso
- Somente leitura, por padrão
- Alcance
- Só a empresa e os escopos do token
- Plano
- Profissional
O que o assistente pode consultar
- Leitura
finnextho_perfil_fiscalRegime, certificado, ambiente e pendências
fiscal:profile:read - Leitura
finnextho_documentos_fiscaisNotas por tipo, direção, período e busca
fiscal:documents:read - Leitura
finnextho_fila_fiscal_pendenteO que está preso em contingência ou na SEFAZ
fiscal:queue:read - Leitura
finnextho_fornecedorDados de um fornecedor pelo identificador
vendors:read
A geração de imagens pelo Studio fica desligada. Só o dono ou um administrador liga, na tela Conectar IA; ligada, o assistente também cria imagens com o Brand Kit da empresa, até o limite do dia, e cada uma gasta 1 do saldo do Studio.
O WhatsApp da sua empresa chega pela WhiLab.
A WhiLab é a provedora que fala com a Meta, dona do WhatsApp. Por isso o nome dela aparece durante a conexão. O Finnextho cuida do atendimento, do Finn e da Inbox, e recebe as mensagens por meio dela.
1
Sua empresa
Dona do número e da conta WhatsApp Business.
2
Finnextho
O sistema que você usa: Finn, atendimento e inbox. Não recebe senha nem credencial da Meta.
3
WhiLab
Provedora de conexão do ecossistema Finnextho. Guarda o acesso cifrado e leva as mensagens até a Meta.
4
Meta
Dona do WhatsApp. É na janela dela, em facebook.com, que você autoriza a conexão.
01
Comece pelo Finnextho
Em Omnichannel › Canal WhatsApp, clique em “1. Conectar WhatsApp”.
02
Autorize na Meta
O cadastro abre numa aba da WhiLab e a autorização é na janela da Meta, em facebook.com, com o aplicativo da WhiLab.
03
Volte e ative
Escolha a conta e o número, confirme o código da Meta e siga para “2. Ativar atendimento”.
- Finnextho
- As conversas e o atendimento do painel. Não recebe senha nem token da Meta.
- WhiLab
- O token que a Meta entrega na conexão, guardado cifrado, e os identificadores do número.
- Meta
- A conta WhatsApp Business e o número, que continuam sendo da sua empresa.
- A senha do Facebook e o código do número só são digitados na janela da Meta.
- Depois de conectar, o aplicativo da WhiLab aparece nos aplicativos conectados da sua conta empresarial na Meta, onde você também remove o acesso.

A parte mais importante: o que ainda não deve ser vendido como pronto.
Valem para a API externa v1. Preferimos uma narrativa precisa a uma documentação que promete mais do que entrega.
Não documentamos emissão, transmissão, cancelamento, CC-e, manifestação ou inutilização nesta v1 pública.
Não existe onboarding self-serve público; o acesso é provisionado pelo time.
Não existe modo escritório multi-carteira nativo. A credencial é dona de uma empresa por vez.
Não existe endpoint público para upload de certificado, XML/PDF ou configuração fiscal externa.
Não existe pacote público de webhooks fiscais outbound; hoje a superfície exposta é de status.
O acesso é assistido,
e isso é uma vantagem.
Escritório contábil, ERP parceiro ou operação supervisionada por IA: o próximo passo é alinhar escopos, a empresa dona da credencial e o limite operacional.
Já é cliente? Entrar na plataforma