---
title: "Set file ACL"
method: PUT
path: "/storage/files/acl"
tags: ["Storage"]
---

# Set file ACL

`PUT /storage/files/acl`

Replaces the Access Control List of a fal CDN file.

The ACL consists of a default decision (`allow`, `forbid`, or `hide`) plus
optional per-user rules that override the default. Rule users may be specified
by nickname or user ID. Setting `default` to `allow` with no rules makes the
file public; `forbid` or `hide` restricts it to the rules you provide.

Rules referencing users that do not exist are dropped. The response reflects
the ACL actually applied, so verify it contains the rules you sent.

**Authentication:** Required. The API key must have the `assets:write` 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 — Access Control List for a fal CDN file
  - `default` 'allow' | 'forbid' | 'hide', required — Fallback decision when no user-specific rule matches
  - `rules` object[] — User-specific overrides to the default decision
    - `user` string, required — User nickname or user ID the rule applies to
    - `decision` 'allow' | 'forbid' | 'hide', required — Access decision applied to this user

## Response `200`

ACL applied to the file

- object — Access Control List currently applied to the file
  - `default` 'allow' | 'forbid' | 'hide', required — Fallback decision when no user-specific rule matches
  - `rules` object[], required — User-specific overrides to the default decision. Users are returned as nicknames where possible.
    - `user` string, required — User nickname or user ID the rule applies to
    - `decision` 'allow' | 'forbid' | 'hide', required — Access decision applied to this user

## 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)
