---
title: "DACE e XML da DC-e"
description: "Como baixar a DACE em PDF (completa ou resumida) e o XML autorizado — URLs temporárias, tarja de homologação, e por que o XML é o documento fiscal e o PDF é só representação."
source_url: https://nfe.io/docs/documentacao/declaracao-de-conteudo-eletronica/integracao-api/dace-e-xml/
product: documentacao
last_updated: 2026-10-07
tags: ["dce", "integracao", "dace", "xml"]
---

# DACE e XML da DC-e

A DC-e tem dois artefatos de download, cada um com sua própria rota — **não existe campo de URL no corpo da [consulta](./como-consultar-uma-declaracao-de-conteudo.md)**.

## Baixar a DACE (PDF)

```
GET /v1/subscriptions/{subscriptionId}/taxpayers/{taxpayerId}/contentdeclarations/{id}/pdf?layout=full
```

DACE é o documento auxiliar da DC-e — representação visual, não o documento fiscal em si. Dois layouts:

| `layout` | Conteúdo |
|---|---|
| `full` (padrão) | Completo |
| `summary` | Resumido |

Qualquer valor diferente de `summary` devolve o layout completo.

Em homologação, a DACE sai com a tarja **"EMITIDO EM HOMOLOGAÇÃO — SEM VALOR FISCAL"**.

## Baixar o XML autorizado

```
GET /v1/subscriptions/{subscriptionId}/taxpayers/{taxpayerId}/contentdeclarations/{id}/xml
```

É o arquivo a guardar para fins fiscais — **o XML é o documento**; o PDF da DACE é só representação.

## Os dois respondem com redirecionamento temporário

```
302 Found
Location: https://<url-pré-assinada>
```

Por padrão, a resposta de ambos os endpoints é um `302` para uma **URL temporária, válida por 5 minutos** — use-a para baixar na hora, não a guarde nem a repasse. A maioria dos clientes HTTP segue o redirecionamento sozinha; se o seu não segue, leia o cabeçalho `Location`.

## Prefere JSON? `?format=uri`

```
GET /v1/subscriptions/{subscriptionId}/taxpayers/{taxpayerId}/contentdeclarations/{id}/pdf?format=uri&layout=full
```

```json title="200 — a mesma URL temporária, em JSON"
{
  "uri": "https://<url-pré-assinada>"
}
```

É o mesmo corpo que as outras APIs da NFE.io devolvem para download, e o caminho certo para um navegador ou para quem não quer seguir redirecionamento. `format=redirect` é o padrão e equivale a omitir o parâmetro; outro valor responde `400`. `layout` continua valendo junto de `format=uri`.

:::caution Sem `accessKey`/`documentUrl` no corpo — a única forma de obter o arquivo é por estas rotas
Diferente de outros documentos da NFE.io, a consulta de uma DC-e não traz nenhum campo de URL do PDF ou XML. Chame `GET {id}/pdf` ou `GET {id}/xml` diretamente, usando o `id` que você já tem.
:::

## Antes de a nota ser autorizada

Enquanto a DC-e não é `Authorized`, não existe artefato para baixar — **`404`** em ambas as rotas. Acompanhe o `status` por [consulta](./como-consultar-uma-declaracao-de-conteudo.md) antes de tentar.

## Erros

| Código | O que significa |
|---|---|
| `400` | `format` com valor que não é `redirect` nem `uri` |
| `401` | Token ausente, expirado, com audiência errada, ou chave de API no lugar de JWT |
| `403` | Token válido mas sem o escopo/papel da operação, ou a assinatura da URL não é do token nem acessível ao usuário (`type` termina em `subscription-scope-undetermined`) |
| `404` | Documento inexistente, **ou** o artefato ainda não foi gerado — a nota não está autorizada |

## Veja também

- [Como consultar uma DC-e](./como-consultar-uma-declaracao-de-conteudo.md)
- [Emitir uma DC-e](./emitir-uma-declaracao-de-conteudo.md)
- [Cancelamento de DC-e](./cancelamento.md)
