---
title: "Confirma a transmissão de uma nota que espera confirmação"
method: POST
path: "/v1/nfse/{id}/confirmacao"
tags: ["Emissão de NFS-e"]
---

# Confirma a transmissão de uma nota que espera confirmação

`POST /v1/nfse/{id}/confirmacao`

## Request

- Base URL: `https://api.sudrel.com.br/api`
- URL: `https://api.sudrel.com.br/api/v1/nfse/{id}/confirmacao`
- Auth: HTTP bearer

Para nota em `aguardando_confirmacao` (a competência acabou antes de
uma retentativa automática). Sem corpo, emite com a competência
original; com `competencia`, troca antes de emitir (mês atual ou
anterior). A nota volta para `transmitindo`.

## Path parameters

- `id` string, required

## Query parameters

- `empresa_id` string

## Request body

- object
  - `competencia` string

## Response `200`

Confirmada; a nota volta à fila.

- Nfse
  - `id` string
  - `referencia` string, nullable
  - `status` 'transmitindo' | 'autorizada' | 'rejeitada' | 'cancelada' | 'falha_transmissao' | 'descartada' | 'aguardando_confirmacao'
  - `empresa_id` string
  - `ambiente` 'producao' | 'sandbox': `sandbox` = emitida com chave de teste, no ambiente de testes do Sistema Nacional, sem valor fiscal.
  - `simulacao` string, nullable: Cenário do simulador de falhas (`X-Sudrel-Simular`); `null` em nota de verdade. Nota simulada nunca foi à Sefin.
  - `origem` 'api' | 'planilha' | 'manual' | 'monitoramento'
  - `numero` string, nullable
  - `chave_acesso` string, nullable
  - `dps` object, nullable
    - `serie` string
    - `numero` string
  - `valor` string: Texto decimal com ponto, sem separador de milhar. Número JSON é recusado (422 `tipo_invalido`).
  - `tomador` object
  - `servico` object
    - `codigo_nacional` string
    - `descricao` string
    - `competencia` string
    - `nbs` string, nullable: NBS escolhido para a nota, sem pontos. `null` = padrão da empresa ou da tabela oficial; o que foi declarado aparece nos `ajustes`.
    - `obra` ObraNfse, nullable
      - `cno` string, nullable
      - `cib` string, nullable
      - `inscricao_imobiliaria` string, nullable
      - `endereco` object, nullable
        - `cep` string
        - `logradouro` string
        - `numero` string
        - `complemento` string, nullable
        - `bairro` string
      - `municipio_ibge` string: Local da prestação.
  - `retencoes` object
  - `apuracao_propria` object
  - `iss` object
  - `rejeicao` object, nullable
    - `codigo_oficial` string, nullable
    - `mensagem` string: A mensagem do Sistema Nacional, como veio.
    - `explicacao` object, nullable: Explicação da Sudrel para o código oficial, quando ele é conhecido. `null` quando não é: aí vale só a `mensagem`.
      - `codigo` string: Estável, ex.: `aliquota_iss_obrigatoria`.
      - `campo` string, nullable: JSON Pointer no payload, quando é campo que você envia.
      - `mensagem` string
      - `correcao` string
  - `falha` object, nullable: Só em `falha_transmissao`.
    - `dps_enviada` 'nao' | 'desconhecido'
    - `mensagem` string, nullable
    - `correcao` string
  - `cancelamento` object, nullable
    - `em` string, date-time
    - `protocolo` string
    - `justificativa` string
  - `recuperada_em` string, date-time, nullable
  - `substituicao` object, nullable: Nesta nota (a nova), qual NFS-e ela substitui.
    - `nfse_id` string, nullable: `null` quando a original foi emitida fora da Sudrel.
    - `chave_acesso` string
    - `codigo_motivo` string
    - `motivo` string, nullable
  - `substituida_por` object, nullable: Nesta nota (a original, agora `cancelada` pelo Sistema Nacional), qual a substituiu.
    - `nfse_id` string
    - `links` object
      - `self` string
  - `confirmacao` object, nullable: Só em `aguardando_confirmacao`.
    - `motivo` 'competencia_encerrada'
    - `competencia` string
    - `mensagem` string
    - `correcao` string
  - `aviso` object, nullable: Só em `transmitindo`, depois de 30 minutos.
    - `codigo` 'processamento_prolongado'
    - `desde` string, date-time
    - `mensagem` string
  - `ajustes` Ajuste[]
    - `campo` string: JSON Pointer.
    - `acao` 'preenchido' | 'omitido' | 'derivado' | 'exigido'
    - `motivo` string
    - `regra` string: Identificador estável da regra.
  - `eventos` EventoNfse[]
    - `tipo` 'criada' | 'envio' | 'consulta_dps' | 'correcao_automatica' | 'reenfileirada' | 'falha_validacao' | 'recuperada' | 'cancelada' | 'substituida' | 'aguardando_confirmacao' | 'competencia_confirmada' | 'processamento_prolongado' | 'falha_transmissao'
    - `em` string, date-time
    - `detalhe` object
  - `regras_versao` string: Versões do catálogo de correções automáticas e do catálogo de regras de campo que decidiram esta nota, nessa ordem.
  - `criada_em` string, date-time
  - `atualizada_em` string, date-time
  - `links` object
    - `self` string
    - `xml` string
    - `pdf` string

## Other responses

- `401`: `nao_autenticado`: chave de API ausente, inválida ou revogada.
- `404`: `nfse_nao_encontrada`: nenhuma nota com esse id, referência ou chave de acesso nesta conta e neste ambiente.
- `409`: `nfse_nao_aguarda_confirmacao`.
- `422`: `validacao`, com `erros[0].codigo` = `competencia_invalida`: a competência pedida não é o mês atual nem o anterior.
- `429`: `limite_de_requisicoes` (`retentavel: true`): 120 requisições por minuto por chave, janela fixa de 60 s. Sem `Retry-After`: espere a virada do minuto e repita a MESMA requisição (com a mesma `Idempotency-Key`).

---

[API](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e.md) · [All operations](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e/llms.txt) · [OpenAPI document](https://skmtc.dev/sudrel/apis/api-publica-sudrel-nfs-e-nf-e-e-ct-e/revisions/efd7baba9e37?raw)
