---
title: "Sign file URL"
method: POST
path: "/storage/files/sign"
tags: ["Storage"]
---

# Sign file URL

`POST /storage/files/sign`

Creates a signed URL that grants temporary access to a fal CDN file,
regardless of its ACL. Useful for sharing access-restricted files.

The signature is valid for `expiration_seconds` (up to 7 days).

**Authentication:** Required. The API key must have the `assets:read` permission.

## Query parameters

- `url` string, uri, required — Full URL of the fal CDN file, as returned by the upload APIs (https://v3.fal.media/files/b/<id>/<filename>). Must not contain query parameters.

## Request body

- object — Signing options for the file URL
  - `expiration_seconds` integer, required — How long the signed URL stays valid, in seconds (max 7 days)

## Response `200`

Signed URL granting temporary access

- object — Signed URL response
  - `signed_url` string, required — URL with an embedded signature granting temporary access

## Other responses

- `400` — Invalid request parameters
- `401` — Authentication required
- `403` — Access denied
- `404` — Resource not found
- `429` — Rate limit exceeded
- `500` — Internal server error

---

[API](https://skmtc.dev/fal/apis/platform-apis.md) · [All operations](https://skmtc.dev/fal/apis/platform-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fal/platform-apis/revisions/0c7dabf80b00/schema)
