Object Storage API

Get all buckets

get
Authorizations
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
GET /kos/v1/buckets HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "totalItems": 0,
  "nextPage": 5,
  "totalPages": 6,
  "currentPage": 1,
  "items": [
    {
      "name": "name",
      "krnid": "krnid",
      "url": "url",
      "region": "region",
      "versioning": false,
      "anonymous_access": false,
      "tags": {
        "keySomething": "value1",
        "keyAnother": "value2"
      },
      "createdAt": "2000-01-23T04:56:07.000+00:00",
      "tier": "fast/slow"
    },
    {
      "name": "name",
      "krnid": "krnid",
      "url": "url",
      "region": "region",
      "versioning": false,
      "anonymous_access": false,
      "tags": {
        "keySomething": "value1",
        "keyAnother": "value2"
      },
      "createdAt": "2000-01-23T04:56:07.000+00:00",
      "tier": "fast/slow"
    }
  ]
}

Creates a new bucket

post
Authorizations
Body
namestringOptional
descriptionstringOptional
versioningbooleanOptional
anonymous_accessbooleanOptional
Responses
201

Bucket successfully created

application/json
post
/kos/v1/buckets
POST /kos/v1/buckets HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 142

{
  "name": "name",
  "description": "description",
  "tags": {
    "keySomething": "value1",
    "keyAnother": "value2"
  },
  "versioning": false,
  "anonymous_access": false
}
{
  "createdAt": "2000-01-23T04:56:07.000+00:00",
  "krn": "krn",
  "bucketName": "bucket-name"
}

Retrieves bucket information

get
Authorizations
Path parameters
bucketIdstringRequired

ID of the bucket to retrieve

Responses
200

Bucket information retrieved successfully

application/json
get
/kos/v1/buckets/{bucketId}
GET /kos/v1/buckets/{bucketId} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "name": "bucket-name",
  "krnid": "krn-id-example",
  "createdAt": "2000-01-23T04:56:07.000+00:00",
  "tags": {
    "keySomething": "value1",
    "keyAnother": "value2"
  },
  "versioning": false,
  "anonymous_access": false,
  "region": "region",
  "owner": "d55a4dfd-9d8a-408c-9217-49dad340d02f",
  "tier": "fast/slow"
}

Updates bucket tags

put
Authorizations
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}
PUT /kos/v1/buckets/{bucketId} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "tags": {
    "keySomething": "value1",
    "keyAnother": "value2"
  },
  "versioning": false,
  "anonymous_access": false
}
{
  "name": "bucket-name",
  "krnid": "krn-id-example",
  "createdAt": "2000-01-23T04:56:07.000+00:00",
  "tags": {
    "keySomething": "value1",
    "keyAnother": "value2"
  },
  "versioning": false,
  "anonymous_access": false,
  "region": "region",
  "owner": "d55a4dfd-9d8a-408c-9217-49dad340d02f",
  "tier": "fast/slow"
}

Deletes a bucket

delete
Authorizations
Path parameters
bucketIdstringRequired

ID of the bucket to delete

Body
otpstringOptional
Responses
204

Bucket successfully deleted, no content

No content

delete
/kos/v1/buckets/{bucketId}
DELETE /kos/v1/buckets/{bucketId} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "otp": "otp"
}

No content

Deletes all access keys

delete
Authorizations
Responses
204

Access keys successfully deleted, no content

No content

delete
/internal/kos/v1/access_keys_all
DELETE /internal/kos/v1/access_keys_all HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*

No content

Retrieves a list of access keys

get
Authorizations
Responses
200

Access keys successfully retrieved

application/json
get
/kos/v1/access_keys
GET /kos/v1/access_keys HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
[
  {
    "access_key": "access-key-1",
    "created_date": "2024-09-02T10:15:30Z",
    "region": "us-west-2"
  },
  {
    "access_key": "access-key-2",
    "created_date": "2024-09-01T08:20:15Z",
    "region": "eu-central-1"
  }
]

Creates access keys

post
Authorizations
Responses
201

Access keys successfully created

application/json
post
/kos/v1/access_keys
POST /kos/v1/access_keys HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "access_key": "access-key-1",
  "secret_key": "secret-key-1"
}

Deletes an access key

delete
Authorizations
Path parameters
accessKeystringRequired

ID of the access key to delete

Body
otpstringOptional
Responses
204

Access key successfully deleted, no content

No content

delete
/kos/v1/access_keys/{accessKey}
DELETE /kos/v1/access_keys/{accessKey} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 13

{
  "otp": "otp"
}

No content

Get all lifecycle rules for a specific bucket

get
Authorizations
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
GET /kos/v1/buckets/{bucketId}/lifecycle-rules HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
[
  {
    "delete_incomplete_mpu": 2,
    "name": "name",
    "attribute": "attribute",
    "enabled": true,
    "newer_noncurrent_versions": 5,
    "noncurrent_days": 5,
    "expiration_days": 1,
    "expired_obj_delete_marker": true,
    "id": "text",
    "status": "text"
  }
]

Create a new lifecycle rule for a specific bucket

post
Authorizations
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
201

Lifecycle rule successfully created

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}
post
/kos/v1/buckets/{bucketId}/lifecycle-rules
POST /kos/v1/buckets/{bucketId}/lifecycle-rules HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 183

{
  "delete_incomplete_mpu": 2,
  "name": "name",
  "attribute": "attribute",
  "enabled": true,
  "newer_noncurrent_versions": 5,
  "noncurrent_days": 5,
  "expiration_days": 1,
  "expired_obj_delete_marker": true
}
{
  "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 a specific lifecycle rule for a bucket

get
Authorizations
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}
GET /kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "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
}

Update a lifecycle rule for a bucket

put
Authorizations
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}
PUT /kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 183

{
  "delete_incomplete_mpu": 2,
  "name": "name",
  "attribute": "attribute",
  "enabled": true,
  "newer_noncurrent_versions": 5,
  "noncurrent_days": 5,
  "expiration_days": 1,
  "expired_obj_delete_marker": true
}
{
  "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
}

Delete a lifecycle rule for a bucket

delete
Authorizations
Path parameters
bucketIdstringRequired

ID of the bucket

ruleIdstringRequired

ID of the lifecycle rule to delete

Responses
204

Lifecycle rule successfully deleted

No content

delete
/kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId}
DELETE /kos/v1/buckets/{bucketId}/lifecycle-rules/{ruleId} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*

No content

Retrieves a policy

get
Authorizations
Responses
200

Policy successfully retrieved

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
get
/internal/kos/v1/policy
GET /internal/kos/v1/policy HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "name": "name",
  "policyKRN": "policyKRN",
  "CreationDate": "CreationDate"
}

Creates a policy

post
Authorizations
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
201

Policy successfully created

application/json
Responseall ofExample: {"name":"name","policyKRN":"policyKRN","CreationDate":"CreationDate"}
post
/internal/kos/v1/policy
POST /internal/kos/v1/policy HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 128

{
  "_id": "_id",
  "name": "name",
  "statements": "statements",
  "conditions": "conditions",
  "accountId": "accountId",
  "policyKRN": "policyKRNs"
}
{
  "name": "name",
  "policyKRN": "policyKRN",
  "CreationDate": "CreationDate"
}

Attaches a policy to a bucket

post
Authorizations
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
POST /internal/kos/v1/policy/attach HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 42

{
  "policyKRNs": [
    "policyKRN1",
    "policyKRN2"
  ]
}
{
  "name": "name",
  "policyKRN": "policyKRN",
  "CreationDate": "CreationDate"
}

Detaches a policy from a bucket

post
Authorizations
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
POST /internal/kos/v1/policy/detach HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 59

{
  "kcid": "kcid123",
  "policyKRNs": [
    "policyKRN1",
    "policyKRN2"
  ]
}
{
  "name": "name",
  "policyKRN": "policyKRN",
  "CreationDate": "CreationDate"
}

Retrieves a policy

get
Authorizations
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}
GET /internal/kos/v1/policy/{policykrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "name": "name",
  "policyKRN": "policyKRN",
  "CreationDate": "CreationDate"
}

Updates a policy

put
Authorizations
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}
PUT /internal/kos/v1/policy/{policykrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 128

{
  "_id": "_id",
  "name": "name",
  "statements": "statements",
  "conditions": "conditions",
  "accountId": "accountId",
  "policyKRN": "policyKRNs"
}
{
  "name": "name",
  "policyKRN": "policyKRN",
  "CreationDate": "CreationDate"
}

Deletes a policy

delete
Authorizations
Path parameters
policykrnstringRequired

ID of the policy

Responses
204

Policy successfully deleted

No content

delete
/internal/kos/v1/policy/{policykrn}
DELETE /internal/kos/v1/policy/{policykrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*

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
Body
accessKeystringRequired

Access key for authentication

secretKeystringRequired

Secret key for authentication

Responses
200

Session activated successfully

application/json
post
/kos/v1/sessions/activate
POST /kos/v1/sessions/activate HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 39

{
  "accessKey": "text",
  "secretKey": "text"
}
{
  "lastActiveAt": "2000-01-23T04:56:07.000+00:00",
  "sessionToken": "sessionToken",
  "expiresAt": "2000-01-23T04:56:07.000+00:00",
  "refreshToken": "refreshToken"
}

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
204

Session deactivated successfully

No content

delete
/kos/v1/sessions/deactivate/{sessionToken}
DELETE /kos/v1/sessions/deactivate/{sessionToken} HTTP/1.1
Host: /
Accept: */*

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}
POST /kos/v1/sessions/refresh/{sessionToken} HTTP/1.1
Host: /
Content-Type: application/json
Accept: */*
Content-Length: 23

{
  "refreshToken": "text"
}
{
  "sessionToken": "sessionToken",
  "expiresAt": "2000-01-23T04:56:07.000+00:00",
  "refreshToken": "refreshToken"
}

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}
GET /kos/v1/sessions/status/{sessionToken} HTTP/1.1
Host: /
Accept: */*
{
  "lastActiveAt": "2000-01-23T04:56:07.000+00:00",
  "createdAt": "2000-01-23T04:56:07.000+00:00",
  "isActive": true,
  "expiresAt": "2000-01-23T04:56:07.000+00:00"
}

Delete an object

post
Authorizations
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
POST /kos/v1/buckets/{bucketId}/objects/delete HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "objectkey": "text"
}
{
  "objectKey": "objectKey",
  "message": "message"
}

List objects in a bucket

get
Authorizations
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
GET /kos/v1/buckets/{bucketId}/objects HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "prefix": "prefix",
  "objects": [
    {
      "isFolder": true,
      "size": 0,
      "lastModified": "2000-01-23T04:56:07.000+00:00",
      "key": "key"
    },
    {
      "isFolder": true,
      "size": 0,
      "lastModified": "2000-01-23T04:56:07.000+00:00",
      "key": "key"
    }
  ]
}

Upload a new object

put
Authorizations
Path parameters
bucketIdstringRequired

Krn identifier of the bucket

Body
prefixstringOptional

The folder path prefix for objects

Responses
201

File uploaded successfully

application/json
put
/kos/v1/buckets/{bucketId}/objects
PUT /kos/v1/buckets/{bucketId}/objects HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 19

{
  "prefix": "prefix"
}
{
  "objectKey": "objectKey",
  "message": "message"
}

Download an object

post
Authorizations
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
POST /kos/v1/buckets/{bucketId}/objects/download HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "objectkey": "text"
}
{
  "objectKey": "objectKey",
  "preSignedUrl": "downloadPreSignedUrl"
}

Get object metadata

post
Authorizations
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
POST /kos/v1/buckets/{bucketId}/objects/metadata HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 20

{
  "objectkey": "text"
}
{
  "size_bytes": 0,
  "storage_class": "storage_class",
  "etag": "etag",
  "lastModified": "2000-01-23T04:56:07.000+00:00",
  "contentType": "contentType",
  "key": "key"
}

Move or copy an object within a bucket

post
Authorizations
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
POST /kos/v1/buckets/{bucketId}/objects/move HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 60

{
  "sourceKey": "text",
  "destinationKey": "text",
  "action": "move"
}
200

File moved or copied successfully

{
  "sourceKey": "sourceKey",
  "destinationKey": "destinationKey",
  "message": "message"
}

Rename an object within the bucket

post

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

Authorizations
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
POST /kos/v1/buckets/{bucketId}/objects/rename HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 33

{
  "oldKey": "text",
  "newKey": "text"
}
{
  "oldKey": "oldKey",
  "newKey": "newKey",
  "message": "Object renamed successfully"
}

Get Bucket Policy Details

get

Returns details of a specified bucket policy.

Authorizations
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}
GET /kos/v1/buckets/policy/{bucketKrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*
{
  "updated_at": "2000-01-23T04:56:07.000+00:00",
  "created_at": "2000-01-23T04:56:07.000+00:00",
  "s3_read_write_ips": [
    "s3_read_write_ips",
    "s3_read_write_ips"
  ],
  "s3_read_only_ips": [
    "s3_read_only_ips",
    "s3_read_only_ips"
  ],
  "bucketKrn": "bucketKrn",
  "bucketPolicyKrn": "bucketPolicyKrn"
}

Create a Bucket Policy

post

Creates a new bucket policy.

Authorizations
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
201

Bucket policy created.

application/json
post
/kos/v1/buckets/policy/{bucketKrn}
POST /kos/v1/buckets/policy/{bucketKrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "s3_read_write_ips": [
    "s3_read_write_ips",
    "s3_read_write_ips"
  ],
  "s3_read_only_ips": [
    "s3_read_only_ips",
    "s3_read_only_ips"
  ]
}
{
  "updated_at": "2000-01-23T04:56:07.000+00:00",
  "created_at": "2000-01-23T04:56:07.000+00:00",
  "s3_read_write_ips": [
    "s3_read_write_ips",
    "s3_read_write_ips"
  ],
  "s3_read_only_ips": [
    "s3_read_only_ips",
    "s3_read_only_ips"
  ],
  "bucketKrn": "bucketKrn",
  "bucketPolicyKrn": "bucketPolicyKrn"
}

Modify a Bucket Policy

put

Modifies an existing bucket policy.

Authorizations
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}
PUT /kos/v1/buckets/policy/{bucketKrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Content-Type: application/json
Accept: */*
Content-Length: 122

{
  "s3_read_write_ips": [
    "s3_read_write_ips",
    "s3_read_write_ips"
  ],
  "s3_read_only_ips": [
    "s3_read_only_ips",
    "s3_read_only_ips"
  ]
}

No content

Delete a Bucket Policy

delete

Deletes a specified bucket policy.

Authorizations
Path parameters
bucketKrnstringRequired

The unique bucketKrn of the bucket policy to delete.

Responses
204

Bucket policy deleted.

No content

delete
/kos/v1/buckets/policy/{bucketKrn}
DELETE /kos/v1/buckets/policy/{bucketKrn} HTTP/1.1
Host: /
x-account-id: YOUR_API_KEY
Accept: */*

No content

Last updated

Was this helpful?