---
title: "Set a form's upload destination"
method: PUT
path: "/api/v1/manage/forms/{form}/storage"
tags: ["Storage"]
---

# Set a form's upload destination

`PUT /api/v1/manage/forms/{form}/storage`

## Request

- Base URL: `https://fillo.so`
- URL: `https://fillo.so/api/v1/manage/forms/{form}/storage`
- Auth: HTTP bearer

Pin where this form's uploads land. `transit` and `none` clear the per-form choice so the form follows the workspace default. A destination whose provider is not connected is a 409, as is clearing storage on a live form that collects files. Scope: storage:manage.

## Path parameters

- `form` string, required

## Request body

- object
  - `destination` 'gdrive' | 'box' | 's3' | 'r2' | 'transit' | 'none', required

## Response `200`

The form's storage destination after the change.

- FormStorage
  - `destination` 'gdrive' | 'box' | 's3' | 'r2' | 'none', required: The destination pinned on the form. `none` means the form follows the workspace default.
  - `storage` object, nullable, required: The stored destination record: provider (gdrive, box, or s3), an optional r2 variant, and any selected Drive folder.
  - `resolved` 'gdrive' | 's3' | 'box' | 'transit' | 'null', nullable, required: Where an upload would actually land right now — including Fillo's short-lived transit staging. null means uploads are blocked.

## Other responses

- `400`: Invalid request (e.g. a body on a GET/DELETE, or a missing required query parameter).
- `401`: Missing, malformed, unknown, revoked, or expired key.
- `403`: The key is valid but lacks the required scope.
- `404`: No such resource in this project (returned instead of 403 for ids in other projects).
- `409`: The request was understood but refused in this state — an unmet precondition, or a confirm value that did not match. Nothing was changed.
- `413`: The request body exceeded the 16 KiB management cap.
- `429`: Per-key (120/min), per-workspace (240/min), or per-IP (300/min) rate limit exceeded. Retry after the Retry-After header.

---

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