> For clean Markdown of any page, append .md to the page URL. > For a complete documentation index, see https://docs.ibee.co.in/docs/infrastructure/object-storage/buckets/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ibee.co.in/_mcp/server. # Buckets > Containers for objects in IBEE Object Storage. Create buckets, configure settings, and manage their lifecycle. A **bucket** is a container for objects. Every object lives in exactly one bucket, and a bucket lives in a single location (chosen at creation). ## What you can do with a bucket #### [Bucket Policies](/docs/infrastructure/object-storage/buckets/bucket-policies) Toggle public access, scope API token access by bucket. #### [Lifecycle Management](/docs/infrastructure/object-storage/buckets/lifecycle-management) Automate object expiry, abort stale uploads, transition storage classes. #### [CORS](/docs/infrastructure/object-storage/buckets/cors) Allow browser apps from your domains to read or write to the bucket. #### [Custom Domains](/docs/infrastructure/object-storage/buckets/custom-domains) Serve bucket content from your own hostname (e.g. `cdn.example.com`). #### [Event Notifications](/docs/infrastructure/object-storage/buckets/event-notifications) Send a webhook POST when objects are created or deleted. ## Naming rules Bucket names must: * Be **3 to 63 characters** long. * Contain only **lowercase letters, numbers, and hyphens (`-`)** — dots (`.`) and underscores (`_`) are not allowed. * Start and end with a **lowercase letter or number**. * Be **globally unique** within IBEE Object Storage. | | Example | | --------- | -------------------------------------------------- | | ✅ Valid | `my-bucket` | | ✅ Valid | `data-store-01` | | ✅ Valid | `project-assets` | | ❌ Invalid | `My-Bucket` — uppercase not allowed | | ❌ Invalid | `-startwithdash` — cannot start with a hyphen | | ❌ Invalid | `endswithdash-` — cannot end with a hyphen | | ❌ Invalid | `bucket_with_underscore` — underscores not allowed | | ❌ Invalid | `project.assets` — dots not allowed | | ❌ Invalid | `ab` — too short (minimum 3 characters) | ## Create a bucket ### 1. Go to Object Storage In the IBEE Solutions portal, click **Object Storage** in the left sidebar under **Infrastructure**. The page lives at `portal.ibee.ai/organizations/{orgId}/workspaces/{workspaceId}/object-storage`. ### 2. Open the create-bucket page Click **Create Bucket** in the top right. The create page has four sections: | Section | Required | Description | | ------------------------------ | -------- | ----------------------------------------------------------------------------------------------------------------------- | | **Bucket name** | Yes | 3–63 characters, lowercase letters, numbers, and hyphens only. Placeholder: `my-unique-bucket-name`. | | **Location** | Yes | See [Choose a location](#choose-a-location) below. | | **Storage type** | Yes | The storage types offered for the chosen location. | | **Versioning and object lock** | No | **Versioning** and **Object lock (WORM)** toggles. See [Versioning and Object Lock](#versioning-and-object-lock) below. | #### Choose a location The **Location** section has two tabs: * **Automatic** — **Automatic location** (the default) picks the best available region for the bucket. To choose yourself, click **Need a specific location? click here** and pick a site from the grid. Available sites are labelled with their country; pre-order sites are labelled **Talk to Sales**. * **Specify jurisdiction** — coming soon. For jurisdiction-based placement, talk to sales. If you pick a pre-order site or the jurisdiction tab, the footer button changes from **Create Bucket** to **Talk to Sales**. #### Versioning and Object Lock | Toggle | Effect | | ---------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------- | | **Versioning** | Keeps previous versions of overwritten or deleted objects. Off by default. Without it, deleted objects can't be recovered from older versions. | | **Object lock (WORM)** | Makes objects immutable while a retention period applies. Turning it on also turns on **Versioning**. Permanent — it can only be enabled here, at creation. | With **Object lock (WORM)** on, pick a default retention mode — **None**, **Governance**, or **Compliance** — and, for Governance or Compliance, a **Retention period** in days (default 30, minimum 1). You can change the default retention later on the **Lock Settings** tab. See [Objects → Locking](/docs/infrastructure/object-storage/objects/object-locking). ### API placement For public API requests, omit `site_id`. It is internal placement metadata, not a value users should guess or copy from another product. The `region` field is required and must be the Object Storage region identifier configured for the target environment. Do not send a compute site ID or a display name. The public API does not currently provide a region-discovery endpoint. Use the region identifier provided for your environment; if it is not available in your account configuration, contact support before creating the bucket. Bucket creation requires the `object-storage.write` scope. ### 3. Save Click **Create Bucket**. A toast appears: *"Bucket created successfully"*. ## List buckets The Object Storage page lists every bucket in the organization with these columns: | Column | Description | | ------- | ------------------ | | BUCKET | Bucket name | | SIZE | Total storage used | | CREATED | Creation date | The usage panel at the top shows **Buckets**, **Objects**, **Storage Used**, and **Bandwidth Egress** for the organization. ## Bucket detail page Click a bucket name to open it. The bucket page has three tabs: | Tab | Use | | ------------ | ------------------------------------------------------------------------------------------------------- | | **Objects** | Upload, download, list, and delete objects. See [Objects](/docs/infrastructure/object-storage/objects). | | **Metrics** | Storage and request usage for the bucket. See [Metrics](/docs/infrastructure/object-storage/metrics). | | **Settings** | All bucket-level configuration — see below. | ## Settings tabs **Settings** opens a sub-navigation with these tabs: | Tab | Configures | | ----------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------- | | **General** | Bucket metadata, **Public Access** toggle, **Public Access URL**, **Object Lock** status, and the **Danger Zone** (Empty bucket, Delete bucket). | | **Lifecycle Policies** | Automatic expiry and storage-class transitions. See [Lifecycle](/docs/infrastructure/object-storage/buckets/lifecycle-management). | | **CORS** | Cross-origin browser access rules. See [CORS](/docs/infrastructure/object-storage/buckets/cors). | | **Lock Settings** | Object Lock retention (only if Object Lock was enabled at creation). | | **Event Notifications** | Webhook notifications for object creation and deletion. See [Event Notifications](/docs/infrastructure/object-storage/buckets/event-notifications). | | **Custom Domains** | Serve content from your own hostname. See [Custom Domains](/docs/infrastructure/object-storage/buckets/custom-domains). | The **General** tab fields: | Field | Description | | ------------- | --------------------------------------------- | | Name | Bucket name | | Created | Creation date | | Total Objects | Number of objects in the bucket | | Storage Used | Total storage consumed | | Public Access | Toggle — Disabled by default | | Object Lock | Read-only state — set permanently at creation | ## Empty a bucket **Empty bucket** permanently removes every object in a bucket while keeping the bucket and its settings. It runs as a background job, so you don't have to delete objects one by one. ### Open the Danger Zone Open the bucket → **Settings** → **General**. The **Danger Zone** card at the bottom holds **Empty bucket** and **Delete bucket**. ### Start the job Click **Empty bucket**. In the dialog, type the bucket name to confirm and click **Empty bucket**. *This action cannot be undone.* ### Track progress A status strip replaces the button while the job runs — for example *Emptying bucket…*, *Finalizing empty bucket…*, or *Retrying empty bucket…*. Click **Cancel** to stop a running job. When it finishes, the strip shows the outcome (*Bucket contents were deleted*, *Bucket partially emptied*, *Some objects are protected*, *Couldn't empty bucket*, or *Empty bucket cancelled*) and can be dismissed. > **Warning** > > **Empty bucket isn't available for every bucket.** It is blocked for buckets with **Object Lock** enabled, and for buckets with **Versioning** enabled. Delete objects in those buckets with an S3-compatible client instead. ## Delete a bucket **Delete bucket** sits in the **Danger Zone** on the **General** tab. You can also delete an empty bucket from the bucket list. > **Warning** > > **Only empty buckets can be deleted.** If the bucket still contains objects, **Delete bucket** is disabled and the card reads *"This bucket contains X objects. Empty it first to delete."* — use [Empty bucket](#empty-a-bucket) first. Click **Delete bucket**, then confirm with **Delete**. *This action cannot be undone.* > **Note** > > **Buckets with Object Lock enabled can't be deleted — even when empty.** If you enabled Object Lock at creation, the bucket is permanent and cannot be deleted, regardless of whether it contains any objects. See [Objects → Locking](/docs/infrastructure/object-storage/objects/object-locking). ## Related * [Concepts](/docs/infrastructure/object-storage/core-concepts) * [Getting started](/docs/infrastructure/object-storage/upload-your-first-object) * [API Credentials](/docs/infrastructure/object-storage/api-tokens) * [Pricing](/docs/infrastructure/object-storage/pricing) > Containers for objects in IBEE Object Storage. Create buckets, configure settings, and manage their lifecycle. ## Docs - [Bucket Policies](https://docs.ibee.co.in/docs/infrastructure/object-storage/buckets/bucket-policies.md): Control bucket access in IBEE Object Storage — toggle public access, scope API credential permissions to specific buckets, and use bucket-level access controls. - [Lifecycle Management](https://docs.ibee.co.in/docs/infrastructure/object-storage/buckets/lifecycle-management.md): Create lifecycle rules in IBEE Object Storage to automatically delete objects, abort incomplete uploads, or transition objects to Infrequent Access storage after a set number of days. - [CORS](https://docs.ibee.co.in/docs/infrastructure/object-storage/buckets/cors.md): Configure CORS rules on an IBEE Object Storage bucket to allow browser applications to access your files. Set allowed origins, HTTP methods, and headers. - [Custom Domains](https://docs.ibee.co.in/docs/infrastructure/object-storage/buckets/custom-domains.md): Serve IBEE Object Storage bucket content from your own domain by adding a CNAME record and verifying your hostname in the bucket settings. - [Event Notifications](https://docs.ibee.co.in/docs/infrastructure/object-storage/buckets/event-notifications.md): Configure webhook notifications on an IBEE Object Storage bucket to receive real-time POST requests when objects are created or deleted. Filter by prefix or suffix to target specific files.