> 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/upload-your-first-object/llms.txt. > For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.ibee.co.in/_mcp/server. # Upload Your First Object > Create your first bucket, generate API credentials, and upload an object — using the IBEE Solutions portal and an S3-compatible client. This guide walks through creating a bucket, generating API credentials, and uploading your first object — first from the portal, then from the AWS CLI. ## Before you begin * An active IBEE Solutions organization with a verified account * (Optional) The [AWS CLI](https://docs.aws.amazon.com/cli/) installed locally if you want to upload programmatically ## 1. Create a bucket In the portal, click **Object Storage** in the left sidebar under **Products**, then click **+ Create Bucket** at the top right of the Object Storage page. Fill in the **Create Bucket** dialog: | Field | Value | | -------------------- | ------------------------------------------------------------------------------------------------------------------------ | | **Bucket Name** | 3–63 characters, lowercase letters, numbers, and hyphens only (e.g. `my-first-bucket`). | | **Location** | **Automatic** (Asia Pacific) for the closest available region, or **Specify jurisdiction** to pin to a specific country. | | **Storage Type** | `Standard`. | | **Advanced options** | Optional. Enable **Object Lock** here if you need immutability — it cannot be added later. | Click **Create Bucket**. A confirmation toast appears: *"Bucket created successfully"* and the bucket appears in the list. See [Buckets](/docs/infrastructure/object-storage/buckets) for the full create-bucket reference. ## 2. Upload an object from the portal Click your new bucket from the Object Storage list to open it. The bucket page has three tabs: **Objects**, **Metrics**, **Settings**. On the **Objects** tab, click **Upload** in the top right. Drag and drop a file onto the upload area, or click **Select Files**. The uploaded object appears in the list with its **Type**, **Storage Class**, **Size**, and **Modified** date. > **Info** > > The portal accepts files up to **300 MB** each. Upload larger files with an S3-compatible client (step 4), which uses multipart upload automatically. See [Objects](/docs/infrastructure/object-storage/objects) for full upload, download, and detail-page reference. ## 3. Create API credentials For S3-compatible tools you need an **S3 credential** for the workspace that holds your bucket. In the portal sidebar, click **API Tokens** under **Organization**, open the **S3 Credentials** tab, and click **Create S3 Credential**. (On the Object Storage page, the **S3 API Credentials** button takes you to the same tab.) Give the credential a **Name**, select the **Workspace**, and choose a permission level (e.g. **Admin Read & Write**). For **Object Read & Write** or **Object Read only**, also pick **Apply to all buckets in the selected workspace** or **Apply to specific buckets only**. Click **Create Credential** and copy the values immediately — the **Secret Access Key** is shown only once: | Credential | Use | | ----------------- | -------------------------------------------------------------------- | | Access Key ID | S3-compatible tools | | Secret Access Key | S3-compatible tools — shown once, copy now | | S3 Endpoint | The workspace endpoint, `https://{workspaceId}.blob.ibeestorage.com` | See [API Credentials](/docs/infrastructure/object-storage/api-tokens) for rotation, scoping, and revoke. ## 4. Upload from the AWS CLI Configure a profile with your credentials: ```bash aws configure --profile ibee # AWS Access Key ID: AKIA... # AWS Secret Access Key: # Default region: us-east-1 # Default output: json ``` Upload an object: ```bash echo "hello, IBEE" > hello.txt aws --endpoint-url https://{workspaceId}.blob.ibeestorage.com \ --profile ibee \ s3 cp hello.txt s3://my-first-bucket/ ``` Verify and download: ```bash # List aws --endpoint-url https://{workspaceId}.blob.ibeestorage.com \ --profile ibee \ s3 ls s3://my-first-bucket/ # Download aws --endpoint-url https://{workspaceId}.blob.ibeestorage.com \ --profile ibee \ s3 cp s3://my-first-bucket/hello.txt ./hello-copy.txt ``` ## Next steps #### [Bucket Policies](/docs/infrastructure/object-storage/buckets/bucket-policies) Make a bucket public, scope access by API token. #### [Lifecycle Management](/docs/infrastructure/object-storage/buckets/lifecycle-management) Automate object expiry and storage-class transitions. #### [Presigned URLs](/docs/infrastructure/object-storage/objects/presigned-urls) Share time-limited links for upload or download. #### [Mount a Bucket as a Filesystem](/docs/infrastructure/object-storage/mount-a-bucket-as-a-filesystem) Use a bucket like a local directory with `s3fs` or `rclone`. > Create your first bucket, generate API credentials, and upload an object — using the IBEE Solutions portal and an S3-compatible client.