> For the complete documentation index, see [llms.txt](https://docs.nebulablock.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.nebulablock.com/api-reference/platform-api/list-workspaces/create-workspace.md).

# Create Storage Workspace

Provision a new object storage workspace and its S3 access key pair.

Provision a new object storage workspace. This also generates the workspace's S3 access key pair, though the keys are **not** returned here — read them from the console, or issue a fresh pair with [Regenerate Access Keys](/api-reference/platform-api/list-workspaces/regenerate-key-pair.md).

## HTTP Request

`POST` `{API_URL}/object-storage/`

where `API_URL = https://api.nebulablock.com/api/v1`.

## Body Parameters

| Parameter             | Requirement | Type      | Description                                                                                                                                                               |
| --------------------- | ----------- | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `object_storage_name` | Required    | `string`  | A name for the workspace. Must be unique among your workspaces                                                                                                            |
| `location`            | Optional    | `string`  | Where to provision the workspace — `Canada` or `US`. Defaults to Canada. Returned lowercased by [List Storage Workspaces](/api-reference/platform-api/list-workspaces.md) |
| `type`                | Optional    | `integer` | The storage tier. `1` is Standard, the free-storage tier. The console also offers Performance and Accelerated, which bill per GB per month and may be out of stock        |

## Response Attributes

#### data `list`

Always empty on this endpoint.

#### status `string`

`success` or `failed`.

#### message `string`

A description of the result. On failure this is what tells you why — the two you are most likely to see are `"Exceeded the create limit"` and `"The object storage name already exists. Please choose a different name."`

> **Note:** Business failures on this endpoint are returned as **HTTP 200 with `"status": "failed"`** and an explanatory `message`. Check `status`, not just the HTTP status code.

> **Note:** A workspace is usable immediately — it comes back `Ready` rather than going through a provisioning state.

Storage tiers and their rates are shown on the [create form](https://console.nebulablock.com/create-object-storage) in the console. At the time of writing Standard stores data free and bills only outgoing traffic per GB, with incoming traffic included.

## Example

#### Request

```bash
curl -X POST '{API_URL}/object-storage/' \
-H 'Authorization: Bearer {TOKEN}' \
-H 'Content-Type: application/json' \
-d '{"object_storage_name": "research-datasets"}'
```

#### Response

```json
{
    "data": [],
    "message": "Object storage successfully created",
    "status": "success"
}
```

## See also

* [List Storage Workspaces](/api-reference/platform-api/list-workspaces.md)
* [Regenerate Access Keys](/api-reference/platform-api/list-workspaces/regenerate-key-pair.md)
* [Object Storage Quickstart](/products/object-storage/quickstart.md)
