---
title: "Update object storage bucket"
method: PATCH
path: "/buckets/{filesystem}"
tags: ["Object Storage Buckets"]
---

# Update object storage bucket

`PATCH /buckets/{filesystem}`

## Request

- Base URL: `https://cloud.laravel.com/api`
- URL: `https://cloud.laravel.com/api/buckets/{filesystem}`
- Auth: HTTP bearer

Update an object storage bucket.

## Path parameters

- `filesystem` string, required

## Request body

- UpdateFilesystemRequest
  - `name` string
  - `visibility` 'private' | 'public'
  - `allowed_origins` string[], nullable: This field is deprecated and will be removed May 17th, 2026. Please use `cors_settings.allowed_origins` instead.
  - `cors_settings` object
    - `allowed_origins` string[], nullable
    - `allowed_methods` CorsHttpMethod[], nullable
    - `allowed_headers` string[], nullable
    - `expose_headers` string[], nullable
    - `max_age_seconds` integer, nullable

## Response `200`

`FilesystemResource`

- object
  - `data` FilesystemResource, required
    - `id` string, required
    - `type` 'filesystems', required
    - `attributes` object
      - `name` string, required
      - `type` 'cloudflare_r2', required
      - `status` 'creating' | 'updating' | 'available' | 'deleting' | 'deleted' | 'unknown', required
      - `visibility` 'private' | 'public', required
      - `jurisdiction` 'default' | 'eu' | 'us', required
      - `location_hint` 'automatic' | 'wnam' | 'enam' | 'weur' | 'eeur' | 'apac' | 'oc', required: Where Cloudflare should place an R2 bucket's data. Automatic lets Cloudflare choose, which it does from the caller's location rather than the customer's.
      - `endpoint` string, nullable, required
      - `url` string, nullable, required
      - `allowed_origins` unknown, required
      - `cors_settings` unknown, required
      - `created_at` string, date-time, nullable, required
    - `relationships` object
      - `keys` object
        - `data` FilesystemKeyResourceIdentifier[], required
          - `type` 'filesystemKeys', required
          - `id` string, required
  - `included` FilesystemKeyResource[]
    - `id` string, required
    - `type` 'filesystemKeys', required
    - `attributes` object
      - `name` string, required
      - `permission` 'read_write' | 'read_only', required
      - `access_key_id` string, nullable, required
      - `access_key_secret` string, nullable, required
      - `created_at` string, date-time, nullable, required
    - `relationships` object
      - `filesystem` object
        - `data` FilesystemResourceIdentifier, required
          - `type` 'filesystems', required
          - `id` string, required

## Other responses

- `403`: Authorization error
- `404`: Not found
- `422`: Validation error

---

[API](https://skmtc.dev/laravel/apis/laravel-cloud.md) - [All operations](https://skmtc.dev/laravel/apis/laravel-cloud/llms.txt) - [OpenAPI document](https://skmtc.dev/laravel/apis/laravel-cloud/revisions/af603f54ff33?raw)
