Object Storage API

Get all buckets

get
Authorizations
x-account-idstringRequired

account id

Query parameters
pageintegerOptional

Page number of the results to fetch

page_sizeintegerOptional

Number of results per page

name_filterstringOptional

search query

refreshbooleanOptional

refresh

Default: false
Responses
200

Bucket successfully retrieved

application/json
get
/kos/v1/buckets

Creates a new bucket

post
Authorizations
x-account-idstringRequired

account id

Body
namestringOptional
descriptionstringOptional
versioningbooleanOptional
anonymous_accessbooleanOptional
Responses
post
/kos/v1/buckets

Retrieves bucket information

get
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket to retrieve

Responses
200

Bucket information retrieved successfully

application/json
get
/kos/v1/buckets/{bucketId}

Updates bucket tags

put
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket to update

Body
versioningbooleanOptional
anonymous_accessbooleanOptional
Responses
200

Bucket tags successfully updated

application/json
put
/kos/v1/buckets/{bucketId}

Deletes a bucket

delete
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket to delete

Body
otpstringOptional
Responses
delete
/kos/v1/buckets/{bucketId}

No content

Deletes all access keys

delete
Authorizations
x-account-idstringRequired

account id

Responses
delete
/internal/kos/v1/access_keys_all

No content

Retrieves a list of access keys

get
Authorizations
x-account-idstringRequired

account id

Responses
200

Access keys successfully retrieved

application/json
get
/kos/v1/access_keys

Creates access keys

post
Authorizations
x-account-idstringRequired

account id

Responses
post
/kos/v1/access_keys

Deletes an access key

delete
Authorizations
x-account-idstringRequired

account id

Path parameters
accessKeystringRequired

ID of the access key to delete

Body
otpstringOptional
Responses
delete
/kos/v1/access_keys/{accessKey}

No content

Get all lifecycle rules for a specific bucket

get
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket to retrieve lifecycle rules for

Responses
200

Lifecycle rules successfully retrieved

application/json
get
/kos/v1/buckets/{bucketId}/lifecycle-rules

Create a new lifecycle rule for a specific bucket

post
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket to which the lifecycle rule will be added

Body
namestringOptional

Name of the lifecycle rule

enabledboolean | nullableOptional
expiration_daysinteger | nullableOptional
expired_obj_delete_markerboolean | nullableOptional
noncurrent_daysinteger | nullableOptional
newer_noncurrent_versionsinteger | nullableOptional
delete_incomplete_mpuinteger | nullableOptional
attributestring | nullableOptional

Attribute used to calculate object age

Responses
post
/kos/v1/buckets/{bucketId}/lifecycle-rules

Get a specific lifecycle rule for a bucket

get
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket

ruleIdstringRequired

ID of the lifecycle rule to retrieve

Responses
200

Lifecycle rule retrieved successfully

application/json
Responseall ofExample: {"delete_incomplete_mpu":2,"name":"name","attribute":"attribute","enabled":true,"newer_noncurrent_versions":5,"noncurrent_days":5,"status":"status","expiration_days":1,"id":"id","expired_obj_delete_marker":true}
get
/kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId}

Update a lifecycle rule for a bucket

put
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket

ruleIdstringRequired

ID of the lifecycle rule to update

Body
namestringOptional

Name of the lifecycle rule

enabledboolean | nullableOptional
expiration_daysinteger | nullableOptional
expired_obj_delete_markerboolean | nullableOptional
noncurrent_daysinteger | nullableOptional
newer_noncurrent_versionsinteger | nullableOptional
delete_incomplete_mpuinteger | nullableOptional
attributestring | nullableOptional

Attribute used to calculate object age

Responses
200

Lifecycle rule successfully updated

application/json
Responseall ofExample: {"delete_incomplete_mpu":2,"name":"name","attribute":"attribute","enabled":true,"newer_noncurrent_versions":5,"noncurrent_days":5,"status":"status","expiration_days":1,"id":"id","expired_obj_delete_marker":true}
put
/kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId}

Delete a lifecycle rule for a bucket

delete
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

ID of the bucket

ruleIdstringRequired

ID of the lifecycle rule to delete

Responses
delete
/kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId}

No content

Retrieves a policy

get
Authorizations
x-account-idstringRequired

account id

Responses
200

Policy successfully retrieved

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
get
/internal/kos/v1/policy

Creates a policy

post
Authorizations
x-account-idstringRequired

account id

Body
_idstringOptional

Unique ID of the policy

namestringOptional

Name of the policy

statementsobject[]Optional

Statements of the policy

conditionsobject[]Optional

Conditions of the policy

accountIdstringOptional

Account ID of the policy

policyKRNstringOptional

Unique ID of the policy

Responses
post
/internal/kos/v1/policy

Attaches a policy to a bucket

post
Authorizations
x-account-idstringRequired

account id

Body
policyKRNsstring[]Optional

Unique IDs of the policies

Responses
200

Policy successfully attached

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
post
/internal/kos/v1/policy/attach

Detaches a policy from a bucket

post
Authorizations
x-account-idstringRequired

account id

Body
policyKRNsstring[]Optional

Unique IDs of the policies

Responses
200

Policy successfully detached

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
post
/internal/kos/v1/policy/detach

Retrieves a policy

get
Authorizations
x-account-idstringRequired

account id

Path parameters
policykrnstringRequired

ID of the policy

Responses
200

Policy successfully retrieved

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
get
/internal/kos/v1/policy/{policykrn}

Updates a policy

put
Authorizations
x-account-idstringRequired

account id

Path parameters
policykrnstringRequired

ID of the policy

Body
_idstringOptional

Unique ID of the policy

namestringOptional

Name of the policy

statementsobject[]Optional

Statements of the policy

conditionsobject[]Optional

Conditions of the policy

accountIdstringOptional

Account ID of the policy

policyKRNstringOptional

Unique ID of the policy

Responses
200

Policy successfully updated

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
put
/internal/kos/v1/policy/{policykrn}

Deletes a policy

delete
Authorizations
x-account-idstringRequired

account id

Path parameters
policykrnstringRequired

ID of the policy

Responses
delete
/internal/kos/v1/policy/{policykrn}

No content

Activate a new session for API access

post

Creates a new session for accessing protected APIs.

  • If a previous session exists and is still active, it will be invalidated

  • Sessions automatically expire after the configured timeout

  • Only one active session is allowed per set of credentials

Authorizations
x-account-idstringRequired

account id

Body
accessKeystringRequired

Access key for authentication

secretKeystringRequired

Secret key for authentication

Responses
200

Session activated successfully

application/json
post
/kos/v1/sessions/activate

Deactivate current session

delete

Explicitly deactivates the current session.

  • Invalidates the session token

  • Blocks access to protected APIs

  • Cleans up session resources

Authorizations
Path parameters
sessionTokenstringRequired

Session token

Responses
delete
/kos/v1/sessions/deactivate/{sessionToken}

No content

Refresh current session

post

Extends the current session lifetime before it expires

Authorizations
Path parameters
sessionTokenstringRequired

Session token

Body
refreshTokenstringRequired
Responses
200

Session refreshed successfully

application/json
post
/kos/v1/sessions/refresh/{sessionToken}

Get current session status

get

Returns the status and details of the current session

Authorizations
Path parameters
sessionTokenstringRequired
Responses
200

Session status retrieved successfully

application/json
get
/kos/v1/sessions/status/{sessionToken}

Delete an object

post
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
objectkeystringOptional

The key of the object to delete

Responses
200

File deleted successfully

application/json
post
/kos/v1/buckets/{bucketId}/objects/delete

List objects in a bucket

get
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Query parameters
prefixstringOptional

Filter objects by prefix (like a folder path)

Responses
200

List of objects in the bucket

application/json
get
/kos/v1/buckets/{bucketId}/objects

Upload a new object

put
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
prefixstringOptional

The folder path prefix for objects

Responses
put
/kos/v1/buckets/{bucketId}/objects

Download an object

post
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
objectkeystringOptional

The key of the object to download

Responses
200

The file content as binary

application/octet-stream
post
/kos/v1/buckets/{bucketId}/objects/download

Get object metadata

post
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
objectkeystringOptional

The key of the object to download

Responses
200

Metadata of the object

application/json
post
/kos/v1/buckets/{bucketId}/objects/metadata

Move or copy an object within a bucket

post
Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
sourceKeystringOptional

Source object key

destinationKeystringOptional

Destination object key

actionstring · enumOptional

Action to perform (move or copy)

Possible values:
Responses
200

File moved or copied successfully

application/json
post
/kos/v1/buckets/{bucketId}/objects/move
200

File moved or copied successfully

Rename an object within the bucket

post

Rename an object by copying it to a new key and deleting the original.

Authorizations
x-account-idstringRequired

account id

Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
oldKeystringOptional

The old key for the object (the old name/path for the file)

newKeystringOptional

The new key for the object (the new name/path for the file)

Responses
200

Object renamed successfully

application/json
post
/kos/v1/buckets/{bucketId}/objects/rename

Get Bucket Policy Details

get

Returns details of a specified bucket policy.

Authorizations
x-account-idstringRequired

account id

Path parameters
bucketKrnstringRequired

The unique bucketKrn (Key Resource Name) of the bucket policy.

Responses
200

Details of the bucket policy.

application/json
get
/kos/v1/buckets/policy/{bucketKrn}

Create a Bucket Policy

post

Creates a new bucket policy.

Authorizations
x-account-idstringRequired

account id

Path parameters
bucketKrnstringRequired

The unique bucketKrn of the bucket policy to create.

Body
s3_read_write_ipsstring[]Optional

S3 hosts with read/write permissions.

s3_read_only_ipsstring[]Optional

S3 hosts with read-only permissions.

Responses
post
/kos/v1/buckets/policy/{bucketKrn}

Modify a Bucket Policy

put

Modifies an existing bucket policy.

Authorizations
x-account-idstringRequired

account id

Path parameters
bucketKrnstringRequired

The unique bucketKrn of the bucket policy.

Body
s3_read_write_ipsstring[]Optional

S3 hosts with read/write permissions.

s3_read_only_ipsstring[]Optional

S3 hosts with read-only permissions.

Responses
200

Bucket policy modified.

No content

put
/kos/v1/buckets/policy/{bucketKrn}

No content

Delete a Bucket Policy

delete

Deletes a specified bucket policy.

Authorizations
x-account-idstringRequired

account id

Path parameters
bucketKrnstringRequired

The unique bucketKrn of the bucket policy to delete.

Responses
delete
/kos/v1/buckets/policy/{bucketKrn}

No content

Last updated

Was this helpful?