---
title: "Request temporary download URLs for Drive files"
method: POST
path: "/drive/download_urls"
tags: ["Drive Folders"]
---

# Request temporary download URLs for Drive files

`POST /drive/download_urls`

## Request

- Base URL: `https://app2.gettruss.io/api/v1`
- URL: `https://app2.gettruss.io/api/v1/drive/download_urls`
- Auth: HTTP bearer

Requires the same administrator, Drive read scope and unrestricted download
permissions as inventory export. Submit 1–500 positive integer attachment IDs.
Duplicate IDs are collapsed. Returns one result per distinct ID in request order.
Only active Drive files in the authenticated user's firm are eligible.
Nonexistent, deleted, inaccessible and foreign-firm IDs all return `not_found`.
Returned `blob_id` identifies current content and may differ from your snapshot.
URLs expire in one hour; obtain them shortly before downloading and request
fresh URLs on expiry. This endpoint does not regenerate the inventory.

## Request body

- object
  - `attachment_ids` integer[], required

## Response `200`

Per-file URLs or not_found results

- object
  - `files` object[]
    - `attachment_id` integer, required
    - `blob_id` integer
    - `download_url` string, uri
    - `expires_at` string, date-time
    - `error` 'not_found'

## Other responses

- `400`: Missing, malformed or oversized attachment_ids array
- `401`: Authentication required
- `403`: Requires unrestricted firm administrator access, enabled Drive and the read scope

## Changes

- **2026-10-29** `65b8b7a6ad89`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/gettruss/apis/api-v1/changes/drive/download_urls/post.md)

---

[API](https://skmtc.dev/gettruss/apis/api-v1.md) - [All operations](https://skmtc.dev/gettruss/apis/api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/gettruss/apis/api-v1/revisions/3c722bf0ce3d?raw)
