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

# Update storage settings

> 
Replaces the account-level storage lifecycle settings applied to newly
uploaded fal CDN files. Omitted or null fields are cleared (reset to the
system default), so always send the full desired configuration.

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

These are the same settings that the per-request
`X-Fal-Object-Lifecycle-Preference` header overrides on individual requests.

**Authentication:** Required. The API key must have the `account:settings:write` permission.
    



## OpenAPI

````yaml /api-reference/platform-apis/openapi/v1.json put /storage/settings
openapi: 3.1.0
info:
  title: Platform APIs
  version: v1
  description: fal REST API for programmatic access to platform resources.
servers:
  - url: https://api.fal.ai/v1
    description: Production server
security: []
paths:
  /storage/settings:
    put:
      tags:
        - Storage
      summary: Update storage settings
      description: >-

        Replaces the account-level storage lifecycle settings applied to newly

        uploaded fal CDN files. Omitted or null fields are cleared (reset to the

        system default), so always send the full desired configuration.


        ACL rules referencing users that do not exist are dropped. The response

        reflects the settings actually saved, so verify it contains the rules
        you sent.


        These are the same settings that the per-request

        `X-Fal-Object-Lifecycle-Preference` header overrides on individual
        requests.


        **Authentication:** Required. The API key must have the
        `account:settings:write` permission.
            
      operationId: updateStorageSettings
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                expiration_duration_seconds:
                  type:
                    - integer
                    - 'null'
                  minimum: 1
                  description: >-
                    Seconds after which newly uploaded files automatically
                    expire and are deleted. Null disables auto-expiration.
                  example: 86400
                initial_acl:
                  type:
                    - object
                    - 'null'
                  properties:
                    default:
                      type: string
                      enum:
                        - allow
                        - forbid
                        - hide
                      description: Fallback decision when no user-specific rule matches
                      example: allow
                    rules:
                      type: array
                      items:
                        type: object
                        properties:
                          user:
                            type: string
                            minLength: 1
                            description: User nickname or user ID the rule applies to
                            example: some-user
                          decision:
                            type: string
                            enum:
                              - allow
                              - forbid
                              - hide
                            description: Access decision applied to this user
                            example: allow
                        required:
                          - user
                          - decision
                        additionalProperties: false
                        description: A per-user access control rule
                      default: []
                      description: User-specific overrides to the default decision
                  required:
                    - default
                  additionalProperties: false
                  description: >-
                    Default ACL applied to newly uploaded files. Null uses the
                    system default (public).
              additionalProperties: false
              description: Account-level storage lifecycle settings
            example:
              expiration_duration_seconds: 86400
              initial_acl:
                default: forbid
                rules:
                  - user: my-teammate
                    decision: allow
      responses:
        '200':
          description: Storage settings after the update
          content:
            application/json:
              schema:
                type: object
                properties:
                  expiration_duration_seconds:
                    type:
                      - integer
                      - 'null'
                    description: >-
                      Seconds after which newly uploaded files automatically
                      expire, or null if auto-expiration is disabled
                    example: 86400
                  initial_acl:
                    type:
                      - object
                      - 'null'
                    properties:
                      default:
                        type: string
                        enum:
                          - allow
                          - forbid
                          - hide
                        description: Fallback decision when no user-specific rule matches
                        example: allow
                      rules:
                        type: array
                        items:
                          type: object
                          properties:
                            user:
                              type: string
                              minLength: 1
                              description: User nickname or user ID the rule applies to
                              example: some-user
                            decision:
                              type: string
                              enum:
                                - allow
                                - forbid
                                - hide
                              description: Access decision applied to this user
                              example: allow
                          required:
                            - user
                            - decision
                          additionalProperties: false
                          description: A per-user access control rule
                        description: >-
                          User-specific overrides to the default decision. Users
                          are returned as nicknames where possible.
                    required:
                      - default
                      - rules
                    description: >-
                      Default ACL applied to newly uploaded files, or null if
                      the system default (public) is used
                required:
                  - expiration_duration_seconds
                  - initial_acl
                description: Account-level storage lifecycle settings
              example:
                expiration_duration_seconds: 86400
                initial_acl:
                  default: forbid
                  rules:
                    - user: my-teammate
                      decision: allow
        '400':
          description: Invalid request parameters
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - authorization_error
                          - validation_error
                          - not_found
                          - rate_limited
                          - server_error
                          - not_implemented
                        description: The category of error that occurred
                      message:
                        type: string
                        description: Human-readable error message
                      docs_url:
                        type: string
                        format: uri
                        description: Link to relevant documentation
                      request_id:
                        type: string
                        description: Unique request identifier for debugging
                    required:
                      - type
                      - message
                    description: Error details
                required:
                  - error
                description: Standard error response format
              example:
                error:
                  type: validation_error
                  message: Invalid request parameters
        '401':
          description: Authentication required
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - authorization_error
                          - validation_error
                          - not_found
                          - rate_limited
                          - server_error
                          - not_implemented
                        description: The category of error that occurred
                      message:
                        type: string
                        description: Human-readable error message
                      docs_url:
                        type: string
                        format: uri
                        description: Link to relevant documentation
                      request_id:
                        type: string
                        description: Unique request identifier for debugging
                    required:
                      - type
                      - message
                    description: Error details
                required:
                  - error
                description: Standard error response format
              example:
                error:
                  type: authorization_error
                  message: Authentication required
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - authorization_error
                          - validation_error
                          - not_found
                          - rate_limited
                          - server_error
                          - not_implemented
                        description: The category of error that occurred
                      message:
                        type: string
                        description: Human-readable error message
                      docs_url:
                        type: string
                        format: uri
                        description: Link to relevant documentation
                      request_id:
                        type: string
                        description: Unique request identifier for debugging
                    required:
                      - type
                      - message
                    description: Error details
                required:
                  - error
                description: Standard error response format
              example:
                error:
                  type: authorization_error
                  message: Access denied
        '429':
          description: Rate limit exceeded
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - authorization_error
                          - validation_error
                          - not_found
                          - rate_limited
                          - server_error
                          - not_implemented
                        description: The category of error that occurred
                      message:
                        type: string
                        description: Human-readable error message
                      docs_url:
                        type: string
                        format: uri
                        description: Link to relevant documentation
                      request_id:
                        type: string
                        description: Unique request identifier for debugging
                    required:
                      - type
                      - message
                    description: Error details
                required:
                  - error
                description: Standard error response format
              example:
                error:
                  type: rate_limited
                  message: Rate limit exceeded
        '500':
          description: Internal server error
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - authorization_error
                          - validation_error
                          - not_found
                          - rate_limited
                          - server_error
                          - not_implemented
                        description: The category of error that occurred
                      message:
                        type: string
                        description: Human-readable error message
                      docs_url:
                        type: string
                        format: uri
                        description: Link to relevant documentation
                      request_id:
                        type: string
                        description: Unique request identifier for debugging
                    required:
                      - type
                      - message
                    description: Error details
                required:
                  - error
                description: Standard error response format
              example:
                error:
                  type: server_error
                  message: An unexpected error occurred
      security:
        - apiKey: []
components:
  securitySchemes:
    apiKey:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        API key must be prefixed with "Key ", e.g. Authorization: Key
        YOUR_API_KEY

````