Documentação da API
Integração do seu ERP em três chamadas. Envie a chave sempre no cabeçalho X-API-Key — nunca na URL.
1. Verificar o acesso
Confirma se a chave é válida e a licença permite uso.
curl https://fiscal-engine-api.onrender.com/api/v1/access/status \ -H "X-API-Key: SUA_CHAVE"
2. Cadastrar o perfil fiscal (uma vez)
UF, regime e apuração de PIS/COFINS vêm daqui — não do corpo do cálculo.
curl -X POST https://fiscal-engine-api.onrender.com/api/v1/tenants/me/fiscal-profiles \
-H "X-API-Key: SUA_CHAVE" -H "Content-Type: application/json" \
-d '{"state":"SP","cityIbgeCode":"3550308","taxRegime":"RegimeNormal","stateTaxId":"ISENTO","pisCofinsRegime":"NaoCumulativo","isIpiTaxpayer":false,"effectiveFrom":"2026-01-01"}'3. Calcular
Resposta 200 quando conclusivo; 422 com o mesmo formato e a lista de erros quando faltar dado, regra ou suporte ao cenário.
curl -X POST https://fiscal-engine-api.onrender.com/api/v1/fiscal/calculations \
-H "X-API-Key: SUA_CHAVE" -H "Content-Type: application/json" \
-d '{
"operationDate": "2026-10-19",
"documentModel": 55,
"recipientState": "MG",
"isB2C": false,
"isSimulationMode": true,
"items": [
{
"sequence": 1,
"productCode": "P1",
"productDescription": "Produto",
"ncm": "01012100",
"cfop": "6102",
"unitOfMeasure": "UN",
"quantity": 1,
"unitPrice": 100,
"icmsOrigin": 0
}
]
}'Como ler a resposta
status- Valid, ValidWithWarnings, RequiresInput, Invalid ou UnsupportedScenario. Use valores apenas nos dois primeiros.
items[].taxes[]- Um registro por tributo, com situação, base, alíquota, valor, regra/versão e fundamento legal.
errors/warnings- Códigos estáveis (ex.: TAX_RULE_NOT_FOUND) e mensagem em português.
ruleSetVersion- Identifica as versões de regra usadas; permite reproduzir o cálculo em
POST /calculations/{id}/reproduce.