Docs/NFS-e
NFS-e — Nota Fiscal de Serviços Eletrônica
Endpoints para emissão, consulta e cancelamento de notas fiscais de serviço.
Ver requisitos de autenticaçãoHeaders
X-Api-Key
stringobrigatórioChave de API da conta (id do usuário).
X-Api-Secret
stringobrigatórioSegredo da chave de API.
Content-Type
stringobrigatórioapplication/json
Parâmetros do body
serviceDescription
stringobrigatórioDiscriminação completa do serviço na nota (até 2000 chars). Aceita variáveis como {nomeProduto}. Não use como nome curto do catálogo.
name
stringopcionalNome do item no catálogo (3–64). Se omitido, usa os primeiros 64 caracteres de serviceDescription. Default implícito: slice da discriminação.
sku
stringopcionalSKU do serviço no catálogo. Default: direct-api-nfse.
category
stringopcionalCategoria do catálogo (ex.: subscription, saas, online_course, other_service). Default: other_service.
guarantee
numberopcionalGarantia em dias (1–365).
cityServiceCode
stringopcionalCódigo do serviço municipal (ex.: 02800). Se omitido, herda o padrão NFS-e da empresa.
serviceCode
stringopcionalAlias legado de cityServiceCode (não use como SKU).
serviceItemCode
stringopcionalItem da lista LC 116 (ex.: 01.05).
nbsCode
stringopcionalCódigo NBS (reforma tributária).
cnaeCode
stringopcionalCNAE do serviço.
taxClassification
stringopcionalClassificação tributária / cClassTrib (default documentado: 000001 quando DNA fiscal é enviado).
ibsCst
stringopcionalCST IBS/CBS (default documentado: 000 quando DNA fiscal é enviado).
ibsOperationIndicator
stringopcionalCódigo indicador de operação IBS/CBS.
natureOfOperation
stringopcionalNatureza da operação ISS (1–6). Default documentado: 1 quando DNA fiscal é enviado.
serviceLocation
stringopcionalLocal de prestação (1 ou 2).
municipalityOfIncidence
stringopcionalMunicípio de incidência (0, 1 ou 2).
taxes
objectopcionalRetenções/alíquotas (iss, pis, cofins, csll, ir, inss). Cada um: { rate, isWithheld }. Se omitido, herda defaults da empresa. Quando informado, rate omisso = 0 e isWithheld omisso = false.
amount
numberobrigatórioValor do serviço em reais.
issueDate
string (ISO 8601)opcionalData da venda / competência. Padrão: data atual.
externalId
stringopcionalIdentificador externo para idempotência.
borrower
objectobrigatórioDados do tomador do serviço.
taxId
stringopcionalCPF ou CNPJ do tomador.
name
stringobrigatórioNome do tomador.
E-mail do tomador.
curl -X POST "https://api.emitfy.com/v1/companies/ID_DA_EMPRESA/nfse" \
-H "X-Api-Key: SUA_API_KEY" \
-H "X-Api-Secret: SUA_API_SECRET" \
-H "Idempotency-Key: pedido-001" \
-H "Content-Type: application/json" \
-d '{
"name": "Desenvolvimento sob demanda",
"category": "systems_development",
"serviceDescription": "Desenvolvimento de software sob demanda",
"cityServiceCode": "02800",
"serviceItemCode": "01.05",
"natureOfOperation": "1",
"taxes": { "iss": { "rate": 2.9, "isWithheld": false } },
"amount": 2500.00,
"borrower": {
"taxId": "12.345.678/0001-90",
"name": "Empresa Cliente LTDA",
"email": "financeiro@cliente.com.br"
}
}'{
"ok": true,
"data": {
"id": "018f6e3b-0000-0000-0000-000000000000",
"status": "processing",
"type": "nfse",
"externalId": "pedido-001",
"amount": 2500.00,
"createdAt": "2026-07-06T10:28:00.000Z"
}
}{
"ok": false,
"code": "VALIDATION_ERROR",
"message": "Um ou mais campos falharam na validação de entrada.",
"statusCode": 422
}Headers
X-Api-Key
stringobrigatórioChave de API da conta (id do usuário).
X-Api-Secret
stringobrigatórioSegredo da chave de API.
Content-Type
stringobrigatórioapplication/json
Query params
page
numberopcionalPágina atual. Padrão: 1.
pageSize
numberopcionalItens por página. Padrão: 20.
status
stringopcionalFiltra por status (processing, authorized, rejected, canceled).
curl -X GET "https://api.emitfy.com/v1/companies/ID_DA_EMPRESA/nfse?page=1&pageSize=20" \
-H "X-Api-Key: SUA_API_KEY" \
-H "X-Api-Secret: SUA_API_SECRET" \
{
"ok": true,
"data": [
{
"id": "018f6e3b-0000-0000-0000-000000000000",
"status": "authorized",
"type": "nfse",
"amount": 2500.00,
"createdAt": "2026-07-06T10:28:00.000Z"
}
],
"pageInfo": {
"page": 1,
"pageSize": 20,
"total": 1
}
}{
"ok": false,
"code": "VALIDATION_ERROR",
"message": "Um ou mais campos falharam na validação de entrada.",
"statusCode": 422
}Headers
X-Api-Key
stringobrigatórioChave de API da conta (id do usuário).
X-Api-Secret
stringobrigatórioSegredo da chave de API.
Content-Type
stringobrigatórioapplication/json
Parâmetros de rota
id
string (UUID)obrigatórioIdentificador único da NFS-e.
curl -X GET "https://api.emitfy.com/v1/companies/ID_DA_EMPRESA/nfse/018f6e3b-0000-0000-0000-000000000000" \
-H "X-Api-Key: SUA_API_KEY" \
-H "X-Api-Secret: SUA_API_SECRET" \
{
"ok": true,
"data": {
"id": "018f6e3b-0000-0000-0000-000000000000",
"status": "processing",
"type": "nfse",
"externalId": "pedido-001",
"amount": 2500.00,
"createdAt": "2026-07-06T10:28:00.000Z"
}
}{
"ok": false,
"code": "VALIDATION_ERROR",
"message": "Um ou mais campos falharam na validação de entrada.",
"statusCode": 422
}Headers
X-Api-Key
stringobrigatórioChave de API da conta (id do usuário).
X-Api-Secret
stringobrigatórioSegredo da chave de API.
Content-Type
stringobrigatórioapplication/json
Parâmetros de rota
id
string (UUID)obrigatórioIdentificador único da NFS-e.
curl -X DELETE "https://api.emitfy.com/v1/companies/ID_DA_EMPRESA/nfse/018f6e3b-0000-0000-0000-000000000000" \
-H "X-Api-Key: SUA_API_KEY" \
-H "X-Api-Secret: SUA_API_SECRET" \
{
"ok": true,
"data": {
"id": "018f6e3b-0000-0000-0000-000000000000",
"status": "canceled",
"type": "nfse"
}
}{
"ok": false,
"code": "VALIDATION_ERROR",
"message": "Um ou mais campos falharam na validação de entrada.",
"statusCode": 422
}