> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mapping.travel/llms.txt
> Use this file to discover all available pages before exploring further.

# Generate a presigned inventory download URL

> Generate a short-lived presigned download URL for an inventory file. The URL expires after 60 seconds and requires no extra authentication headers.

Use this endpoint to get a short-lived presigned URL for downloading an inventory file. The URL is generated on demand and expires after 60 seconds, so you should redirect your user or begin the download immediately after receiving it.

## Request

**`GET https://api.mapping.travel/api/v1/inventory/{uploadId}/download`**

<ParamField path="uploadId" type="string" required>
  The UUID of the upload whose file you want to download.
</ParamField>

## Example

```bash theme={null} theme={null}
curl "https://api.mapping.travel/api/v1/inventory/f47ac10b-58cc-4372-a567-0e02b2c3d479/download" \
  -H "Authorization: Bearer <your-token>"
```

## Response

<ResponseField name="uploadId" type="string">
  UUID of the upload record.
</ResponseField>

<ResponseField name="filename" type="string">
  Original filename of the inventory file.
</ResponseField>

<ResponseField name="fileFormat" type="string">
  File format: `CSV`, `JSON`, `EXCEL`, or `PARQUET`.
</ResponseField>

<ResponseField name="downloadUrl" type="string">
  Presigned URL granting direct download access. No `Authorization` header is required when fetching this URL.
</ResponseField>

<ResponseField name="expiresInSeconds" type="integer">
  Time in seconds until the `downloadUrl` expires. Always `60`.
</ResponseField>

<Warning>
  The `downloadUrl` expires after 60 seconds. Do not store or cache this URL — call this endpoint each time you need to download the file.
</Warning>

## Error codes

| Code | Description                                                   |
| ---- | ------------------------------------------------------------- |
| 401  | Missing or invalid Bearer token                               |
| 404  | No upload found for the given `uploadId` in your organization |
| 429  | Rate limit exceeded                                           |
