---
title: "URL firmada al snapshot vigente (Parquet/CSV)"
method: GET
path: "/v1/datasets/{id}/snapshot"
tags: ["Datasets"]
---

# URL firmada al snapshot vigente (Parquet/CSV)

`GET /v1/datasets/{id}/snapshot`

## Request

- Base URL: `https://api.almanac.ar`
- URL: `https://api.almanac.ar/v1/datasets/{id}/snapshot`
- Auth: HTTP bearer

Requiere plan Ultimate, Team, Enterprise o admin (mismo gate que el canal MCP). Devuelve una URL firmada R2 (60 min) al snapshot completo, para ingesta a un Data Warehouse — no corre SQL ni filtra server-side (para eso está el canal MCP). Con `?redirect=1` responde 302 directo al archivo en vez de JSON con la URL.

## Path parameters

- `id` string, required

## Query parameters

- `format` 'parquet' | 'csv': Default 'parquet'.
- `redirect` '1': Con '1', responde 302 al archivo directo en vez de JSON con la URL.

## Response `200`

URL firmada + metadata del snapshot.

- SnapshotResponse
  - `url` string, required: URL firmada R2, válida por expires_in_seconds.
  - `expires_in_seconds` integer, required
  - `dataset_id` string, required
  - `format` 'parquet' | 'csv', required
  - `snapshot` object, required
    - `snapshot_at` string, required
    - `rows_count` integer, nullable, required
    - `file_size_bytes` integer, nullable, required

## Other responses

- `400`: format_not_available — el formato pedido no existe para este dataset.
- `401`: Sin sesión ni API key.
- `403`: Plan insuficiente (Free/Starter/Pro no alcanzan) o no se pudo verificar el entitlement.
- `404`: not_found — dataset o snapshot inexistente, o admin-only.
- `500`: Error inesperado al generar la URL.

---

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