Skip to content

Object Storage

All operations require authentication.

5 operationsv2/publicCloud/project
Agent setup

List bucketsProduction

GET
/v2/publicCloud/project/{projectId}/storage/object/bucket

Returns the buckets of the project.

Path parameters

projectId
required
string

Project ID

Headers

X-Pagination-Cursor
string

Pagination cursor

X-Pagination-Size
integer

Pagination size

Response

200Bucket[]successful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the bucket

currentState
read-only
BucketCurrentState

Current observed state of the bucket

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the bucket

id
read-only
string

Bucket name (used as unique identifier)

resourceStatus
read-only
ResourceStatusEnum

Bucket readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
BucketTargetSpec

Last target specification of the bucket

updatedAt
read-only
stringdate-time

Last update date of the bucket

Example uses projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/storage/object/bucket \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
[ { "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "objectsCount": 0, "objectsSize": 0, "tags": { "key": "string" }, "versioning": { "status": "DISABLED" }, "virtualHost": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "string", "resourceStatus": "CREATING", "targetSpec": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "ownerUserId": "string", "tags": { "key": "string" }, "versioning": { "status": "DISABLED" } }, "updatedAt": "2024-01-01T12:00:00Z" }]

Create a bucketProduction

POST
/v2/publicCloud/project/{projectId}/storage/object/bucket

Creates a bucket in a region. Versioning, encryption, object lock and tags can be set at creation.

Path parameters

projectId
required
string

Project ID

Request body (required)

targetSpec
required
BucketTargetSpec

Desired target specification for the bucket to create

Response

200Bucketsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the bucket

currentState
read-only
BucketCurrentState

Current observed state of the bucket

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the bucket

id
read-only
string

Bucket name (used as unique identifier)

resourceStatus
read-only
ResourceStatusEnum

Bucket readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
BucketTargetSpec

Last target specification of the bucket

updatedAt
read-only
stringdate-time

Last update date of the bucket

400objectError 400 response
409objectError 409 response

Example uses projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/storage/object/bucket \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "objectsCount": 0, "objectsSize": 0, "tags": { "key": "string" }, "versioning": { "status": "DISABLED" }, "virtualHost": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "string", "resourceStatus": "CREATING", "targetSpec": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "ownerUserId": "string", "tags": { "key": "string" }, "versioning": { "status": "DISABLED" } }, "updatedAt": "2024-01-01T12:00:00Z"}

Get a bucketProduction

GET
/v2/publicCloud/project/{projectId}/storage/object/bucket/{bucketName}

Returns the bucket configuration and its current state.

Path parameters

bucketName
required
string

Bucket name

projectId
required
string

Project ID

Response

200Bucketsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the bucket

currentState
read-only
BucketCurrentState

Current observed state of the bucket

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the bucket

id
read-only
string

Bucket name (used as unique identifier)

resourceStatus
read-only
ResourceStatusEnum

Bucket readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
BucketTargetSpec

Last target specification of the bucket

updatedAt
read-only
stringdate-time

Last update date of the bucket

404objectError 404 response

Example uses bucketName = string, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/storage/object/bucket/{bucketName} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "objectsCount": 0, "objectsSize": 0, "tags": { "key": "string" }, "versioning": { "status": "DISABLED" }, "virtualHost": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "string", "resourceStatus": "CREATING", "targetSpec": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "ownerUserId": "string", "tags": { "key": "string" }, "versioning": { "status": "DISABLED" } }, "updatedAt": "2024-01-01T12:00:00Z"}

Update a bucketProduction

PUT
/v2/publicCloud/project/{projectId}/storage/object/bucket/{bucketName}

Updates the bucket configuration. Send the current checksum to prevent overwriting a concurrent change. Without it, the last write wins.

Path parameters

bucketName
required
string

Bucket name

projectId
required
string

Project ID

Request body (required)

checksum
string

Optional concurrency-control checksum. When supplied, it must match the resource's current checksum or the request is rejected with a 409 checksum-mismatch conflict. When omitted or empty, the concurrency check is skipped and the write is forced (last-write-wins).

targetSpec
required
BucketUpdateTargetSpec

Desired target specification for the bucket

Response

200Bucketsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the bucket

currentState
read-only
BucketCurrentState

Current observed state of the bucket

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the bucket

id
read-only
string

Bucket name (used as unique identifier)

resourceStatus
read-only
ResourceStatusEnum

Bucket readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
BucketTargetSpec

Last target specification of the bucket

updatedAt
read-only
stringdate-time

Last update date of the bucket

404objectError 404 response
409objectError 409 response

Example uses bucketName = string, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/storage/object/bucket/{bucketName} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "objectsCount": 0, "objectsSize": 0, "tags": { "key": "string" }, "versioning": { "status": "DISABLED" }, "virtualHost": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "string", "resourceStatus": "CREATING", "targetSpec": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "ownerUserId": "string", "tags": { "key": "string" }, "versioning": { "status": "DISABLED" } }, "updatedAt": "2024-01-01T12:00:00Z"}

Delete a bucketProduction

DELETE
/v2/publicCloud/project/{projectId}/storage/object/bucket/{bucketName}

Deletes the bucket.

Path parameters

bucketName
required
string

Bucket name

projectId
required
string

Project ID

Response

200Bucketsuccessful operation
checksum
read-only
string

Computed hash representing the current target specification value

createdAt
read-only
stringdate-time

Creation date of the bucket

currentState
read-only
BucketCurrentState

Current observed state of the bucket

currentTasks
read-only
CurrentTask[]

Ongoing asynchronous tasks related to the bucket

id
read-only
string

Bucket name (used as unique identifier)

resourceStatus
read-only
ResourceStatusEnum

Bucket readiness in the system

ValuesCREATINGCREATION_PLANNEDDELETINGERROROUT_OF_SYNCREADYSUSPENDEDUNKNOWNUPDATING
targetSpec
read-only
BucketTargetSpec

Last target specification of the bucket

updatedAt
read-only
stringdate-time

Last update date of the bucket

404objectError 404 response
409objectError 409 response

Example uses bucketName = string, projectId = string

$ curl https://api.eu.ovhcloud.com/v2/publicCloud/project/{projectId}/storage/object/bucket/{bucketName} \
  -H "authorization: Bearer $OVH_TOKEN"
ResponseExample
{ "checksum": "string", "createdAt": "2024-01-01T12:00:00Z", "currentState": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "objectsCount": 0, "objectsSize": 0, "tags": { "key": "string" }, "versioning": { "status": "DISABLED" }, "virtualHost": "string" }, "currentTasks": [ { "errors": [ { "message": "string" } ], "id": "00000000-0000-0000-0000-000000000000", "link": "string", "status": "ERROR", "type": "string" } ], "id": "string", "resourceStatus": "CREATING", "targetSpec": { "encryption": { "algorithm": "AES256" }, "location": { "region": "string" }, "name": "string", "objectLock": { "mode": "COMPLIANCE", "retentionDays": 0, "retentionYears": 0, "status": "DISABLED" }, "ownerUserId": "string", "tags": { "key": "string" }, "versioning": { "status": "DISABLED" } }, "updatedAt": "2024-01-01T12:00:00Z"}