---
title: "Descarga el ZIP del ATS ya generado"
method: GET
path: "/ats/{periodo}/descargar"
tags: ["ats"]
---

# Descarga el ZIP del ATS ya generado

`GET /ats/{periodo}/descargar`

## Request

- Base URL: `https://contadeo.com/api`
- URL: `https://contadeo.com/api/ats/{periodo}/descargar`
- Auth: HTTP bearer

`ATmmaaaa.zip` con `ATmmaaaa.xml` dentro, servido como adjunto. Sin `generacion` entrega la última generación del emisor para ese período; con el `id` de una entrada del historial, esa en concreto. El XML es el archivado, byte a byte: si el objeto guardado no cuadra con la huella del snapshot, la descarga falla en vez de entregar otro archivo. **Es la única ruta que entrega el XML del anexo**, y lleva la identificación de todos los clientes y proveedores del período. Requiere el módulo `ats`.

## Path parameters

- `periodo` string, required

## Query parameters

- `emisorId` string, uuid, required
- `generacion` string, uuid

## Response `200`

ZIP del anexo (`Content-Disposition: attachment`)

## Other responses

- `400`: Cuerpo inválido o validación de negocio (previene errores SRI 62/52/65/69/39)
- `402`: El plan del tenant no incluye el módulo `ats` (`upgrade: true`)
- `403`: Rol insuficiente o acceso denegado
- `404`: El emisor no tiene un ATS generado para ese período, o no existe esa generación

---

[API](https://skmtc.dev/contadeo/apis/api-de-contadeo.md) · [All operations](https://skmtc.dev/contadeo/apis/api-de-contadeo/llms.txt) · [OpenAPI document](https://skmtc.dev/contadeo/apis/api-de-contadeo/revisions/461bbb9a74ce?raw)
