Skip to main content
POST
Create volume
Requires the IAM action storage:CreateVolume. See STORAGE permissions for the full list, what each one covers, and an example policy.

Authorizations

Authorization
string
header
required

An OAuth 2.0 bearer token, sent as Authorization: Bearer <token>. This is the recommended way to authenticate.

Get one by exchanging a service account's access key pair at POST /v1/oauth/token with grant_type=client_credentials. It is the standard client-credentials grant, so any OAuth-aware library will obtain and refresh it for you.

Tokens last an hour by default. The same access key pair is separately your AWS SigV4 credential for the S3-compatible object endpoint, which speaks nothing else.

Headers

Idempotency-Key
string

Optional client-generated key that makes a create replay-safe. Retrying a request with the same key returns the original outcome verbatim instead of creating a duplicate resource. Reusing a key with a different request body is rejected (422); a request whose key is still being processed returns 409. Records are honored for 24 hours. Use a UUID or similarly unique token.

Maximum string length: 255

Body

application/json
name
string
required

Resource names must not start with the literal crn: prefix or be UUIDs (canonical, compact, braced, or urn:uuid: forms, in either case).

Required string length: 1 - 128
Example:

"data-vol-01"

volume_type
enum<string>
required

The tiers a new volume may be provisioned on. hdd is a valid stored tier but its pool is reserved for cold storage, so creating a block volume on it is rejected.

Available options:
ssd,
nvme
Example:

"ssd"

size_gb
integer
required
Required range: 1 <= x <= 16384
Example:

100

performance
object

Independently provision total sustained, combined read/write performance. Omitted dimensions retain their current value (included allowance on create). SSD permits up to 8000 IOPS and 250 MiB/s; NVMe up to 12000 and 500 MiB/s. The minimum is the volume's included allowance; higher grandfathered allowances remain available free of charge. Throughput is whole MiB/s, except an exact fractional legacy allowance may be selected to remove the paid add-on. Increases require account quota, regional capacity, and healthy storage. Applied extras bill by elapsed duration, including while detached or stopped.

description
string
Example:

"Primary data volume for app-01"

tags
object
Example:
architecture
string
default:amd64

Architecture used for source_image name resolution. A full image CRN pins its own architecture.

Example:

"amd64"

source_image
string

Image UUID, name, name:version, or full CRN image//architecture//version/. Names resolve in the caller account first, then tagged platform catalog images, using architecture (default amd64). Mutually exclusive with source_snapshot. Image tags are not accepted.

Example:

"ubuntu-24.04"

source_snapshot
string

Clone from an available account-owned snapshot UUID or nested CRN volume//snapshot/. Bare snapshot names are rejected because this request has no fixed source volume. Mutually exclusive with source_image; size_gb must be at least the snapshot's frozen size.

Example:

"019f24a8-4bbe-7441-93af-6bbac0413943"

bootable
boolean
default:false
Example:

false

Response

Volume creation accepted (status=creating)

volume
object
required