Object Storage / Stook

Retrieve information about the bucket

get
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

Responses
200

Bucket details retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/bucket HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Bucket details retrieved successfully

{
  "status": true,
  "data": [
    {
      "uuid": "text",
      "organization_uuid": "text",
      "name": "text",
      "region": "text",
      "size": "text",
      "tags": [
        {
          "key": "text",
          "label": "text"
        }
      ]
    }
  ]
}

Create a new bucket

post
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

Body
namestringRequired

The name of the bucket

regionstringOptional

The region where the bucket will be created

Responses
200

Bucket successfully created

application/json
post
POST /api/v2/stook/{organization_uuid}/bucket HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 70

{
  "name": "text",
  "region": "text",
  "tags": [
    {
      "key": "text",
      "label": "text"
    }
  ]
}
200

Bucket successfully created

{
  "status": true,
  "data": {
    "uuid": "text",
    "organization_uuid": "text",
    "name": "text",
    "region": "text",
    "size": "text",
    "tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Retrieve bucket details

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

bucket_uuidstringRequired

The UUID of the bucket

Responses
200

Bucket details retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Bucket details retrieved successfully

{
  "status": true,
  "data": {
    "uuid": "text",
    "organization_uuid": "text",
    "name": "text",
    "region": "text",
    "size": "text",
    "tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Update an existing bucket

put
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

bucket_uuidstringRequired

The unique identifier of the bucket

Body
Responses
200

Bucket successfully updated

application/json
put
PUT /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 40

{
  "tags": [
    {
      "key": "text",
      "label": "text"
    }
  ]
}
200

Bucket successfully updated

{
  "status": true,
  "data": {
    "uuid": "text",
    "organization_uuid": "text",
    "name": "text",
    "region": "text",
    "size": "text",
    "tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Delete an existing bucket

delete
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

bucket_uuidstringRequired

The unique identifier of the bucket

Responses
200

Bucket successfully deleted

application/json
delete
DELETE /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Bucket successfully deleted

{
  "status": true,
  "data": {
    "uuid": "text",
    "organization_uuid": "text",
    "name": "text"
  }
}

Create a new credential

post
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

Body
namestringRequired

The name of the credential

is_readonlybooleanOptional

Indicates if the credential is read-only

bucketsstring[]Required

UUID of the bucket

subfolderstringOptional

The subfolder within the bucket

Responses
200

Credential successfully created

application/json
post
POST /api/v2/stook/{organization_uuid}/credentials HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 72

{
  "name": "text",
  "is_readonly": true,
  "buckets": [
    "text"
  ],
  "subfolder": "text"
}
200

Credential successfully created

{
  "status": true,
  "data": {
    "uuid": "text",
    "name": "text",
    "is_readonly": true,
    "buckets": [
      {
        "uuid": "text",
        "name": "text",
        "region": "text",
        "size": "text"
      }
    ]
  }
}

List lifecycle rules for a bucket

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

bucket_uuidstringRequired

The UUID of the bucket

Responses
200

Successful Response

application/json
get
GET /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid}/lifecycle HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
{
  "status": true,
  "data": {
    "uuid": "text",
    "status": true,
    "expiration_days": 1,
    "filter_prefix": "text",
    "filter_tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Create a lifecycle rule for a bucket

post
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

bucket_uuidstringRequired

The UUID of the bucket

Body
expiration_daysintegerRequired
filter_prefixstringOptional
Responses
200

Successful Response

application/json
post
POST /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid}/lifecycle HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 90

{
  "expiration_days": 1,
  "filter_prefix": "text",
  "filter_tags": [
    {
      "key": "text",
      "label": "text"
    }
  ]
}
{
  "status": true,
  "data": {
    "uuid": "text",
    "status": true,
    "expiration_days": 1,
    "filter_prefix": "text",
    "filter_tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Show a specific lifecycle rule

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

bucket_uuidstringRequired

The UUID of the bucket

lifecycle_uuidstringRequired

The UUID of the lifecycle rule

Responses
200

Successful Response

application/json
get
GET /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid}/lifecycle/{lifecycle_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
{
  "status": true,
  "data": {
    "uuid": "text",
    "status": true,
    "expiration_days": 1,
    "filter_prefix": "text",
    "filter_tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Update a lifecycle rule

put
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

bucket_uuidstringRequired

The UUID of the bucket

lifecycle_uuidstringRequired

The UUID of the lifecycle rule

Body
statusbooleanOptional
expiration_daysintegerOptional
filter_prefixstringOptional
Responses
200

Successful Response

application/json
put
PUT /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid}/lifecycle/{lifecycle_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 104

{
  "status": true,
  "expiration_days": 1,
  "filter_prefix": "text",
  "filter_tags": [
    {
      "key": "text",
      "label": "text"
    }
  ]
}
{
  "status": true,
  "data": {
    "uuid": "text",
    "status": true,
    "expiration_days": 1,
    "filter_prefix": "text",
    "filter_tags": [
      {
        "key": "text",
        "label": "text"
      }
    ]
  }
}

Delete a lifecycle rule

delete
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

bucket_uuidstringRequired

The UUID of the bucket

lifecycle_uuidstringRequired

The UUID of the lifecycle rule

Responses
200

Lifecycle rule successfully deleted

application/json
delete
DELETE /api/v2/stook/{organization_uuid}/bucket/{bucket_uuid}/lifecycle/{lifecycle_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
{
  "status": true,
  "message": "text",
  "operation_id": "text"
}

Retrieve credentials

get
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

Responses
200

Credentials retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/credential HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Credentials retrieved successfully

{
  "status": true,
  "data": [
    {
      "uuid": "text",
      "name": "text",
      "is_readonly": true,
      "access_key": "text",
      "subfolder": "text",
      "buckets": [
        {
          "uuid": "text",
          "organization_uuid": "text",
          "name": "text",
          "region": "text",
          "size": "text",
          "tags": [
            {
              "key": "text",
              "label": "text"
            }
          ]
        }
      ]
    }
  ]
}

Retrieve credential details

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

credential_uuidstringRequired

The UUID of the credential

Responses
200

Credential details retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/credential/{credential_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Credential details retrieved successfully

{
  "status": true,
  "data": {
    "uuid": "text",
    "name": "text",
    "is_readonly": true,
    "access_key": "text",
    "subfolder": "text",
    "buckets": [
      {
        "uuid": "text",
        "organization_uuid": "text",
        "name": "text",
        "region": "text",
        "size": "text",
        "tags": [
          {
            "key": "text",
            "label": "text"
          }
        ]
      }
    ]
  }
}

Update an existing credential

put
Authorizations
Path parameters
organization_uuidstringRequired

The unique identifier of the organization

credential_uuidstringRequired

The unique identifier of the credential

Body
namestringRequired

The name of the credential

is_readonlybooleanRequired

Indicates if the credential is read-only

bucketsstring[]Required

UUID of the bucket

subfolderstringOptional

The subfolder within the bucket

Responses
200

Credential successfully updated

application/json
put
PUT /api/v2/stook/{organization_uuid}/credential/{credential_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 72

{
  "name": "text",
  "is_readonly": true,
  "buckets": [
    "text"
  ],
  "subfolder": "text"
}
200

Credential successfully updated

{
  "status": true,
  "data": {
    "uuid": "text",
    "name": "text",
    "is_readonly": true,
    "buckets": [
      "text"
    ],
    "subfolder": "text"
  }
}

Delete a credential

delete
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

credential_uuidstringRequired

The UUID of the credential

Responses
200

Credential successfully deleted

application/json
delete
DELETE /api/v2/stook/{organization_uuid}/credential/{credential_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Credential successfully deleted

{
  "status": true,
  "message": "text"
}

Retrieve FTP accounts

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

Responses
200

FTP accounts retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/ftp HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

FTP accounts retrieved successfully

{
  "status": true,
  "data": [
    {
      "uuid": "text",
      "name": "text",
      "bucket_uuid": "text",
      "path": "text",
      "login_allowed": true,
      "is_readonly": true,
      "wrap_rules": [
        {
          "type": "allow",
          "rule": [
            "text"
          ]
        }
      ]
    }
  ]
}

Create a new FTP account

post
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

Body
namestringRequired

The name of the FTP account

passwordstringRequired

The password for the FTP account

bucket_uuidstringRequired

The UUID of the associated bucket

is_readonlybooleanRequired

Indicates if the FTP account is read-only

pathstringRequired

The path for the FTP account

Responses
200

FTP account successfully created

application/json
post
POST /api/v2/stook/{organization_uuid}/ftp HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 135

{
  "name": "text",
  "password": "text",
  "bucket_uuid": "text",
  "is_readonly": true,
  "path": "text",
  "wrap_rules": [
    {
      "type": "allow",
      "rule": [
        "text"
      ]
    }
  ]
}
200

FTP account successfully created

{
  "status": true,
  "data": {
    "uuid": "text",
    "bucket_uuid": "text",
    "name": "text",
    "path": "text",
    "login_allowed": true,
    "count": 1,
    "is_readonly": true,
    "wrap_rules": [
      {
        "type": "allow",
        "rule": [
          "text"
        ]
      }
    ]
  }
}

Retrieve FTP account details

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

ftp_uuidstringRequired

The UUID of the FTP account

Responses
200

FTP account details retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/ftp/{ftp_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

FTP account details retrieved successfully

{
  "status": true,
  "data": {
    "uuid": "text",
    "bucket_uuid": "text",
    "name": "text",
    "path": "text",
    "login_allowed": true,
    "count": 1,
    "is_readonly": true,
    "wrap_rules": [
      {
        "type": "allow",
        "rule": [
          "text"
        ]
      }
    ]
  }
}

Update FTP account

put
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

ftp_uuidstringRequired

The UUID of the FTP account

Body
passwordstringOptional

The password for the FTP account

login_allowedbooleanOptional

Indicates if login is allowed for the FTP account

pathstringOptional

The path for the FTP account

is_readonlybooleanOptional

Indicates if the FTP account is read-only

Responses
200

FTP account successfully updated

application/json
put
PUT /api/v2/stook/{organization_uuid}/ftp/{ftp_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 121

{
  "password": "text",
  "login_allowed": true,
  "path": "text",
  "is_readonly": true,
  "wrap_rules": [
    {
      "type": "allow",
      "rule": [
        "text"
      ]
    }
  ]
}
200

FTP account successfully updated

{
  "status": true,
  "data": {
    "uuid": "text",
    "bucket_uuid": "text",
    "name": "text",
    "path": "text",
    "login_allowed": true,
    "count": 1,
    "is_readonly": true,
    "wrap_rules": [
      {
        "type": "allow",
        "rule": [
          "text"
        ]
      }
    ]
  }
}

Delete an FTP account

delete
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

ftp_uuidstringRequired

The UUID of the FTP account

Responses
200

FTP account successfully deleted

application/json
delete
DELETE /api/v2/stook/{organization_uuid}/ftp/{ftp_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

FTP account successfully deleted

{
  "status": true,
  "data": "text"
}

Retrieve settings

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

Responses
200

Settings retrieved successfully

application/json
get
GET /api/v2/stook/{organization_uuid}/settings HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Settings retrieved successfully

{
  "status": true,
  "data": {
    "uuid": "text",
    "name": "text",
    "status": true,
    "is_ip_restriction": true,
    "restriction_type": "text",
    "ip_list": {
      "allow_ip_list": [
        "text"
      ],
      "deny_ip_list": [
        "text"
      ]
    },
    "is_rate_limit": true,
    "rate_limit_parameters": {
      "zone_size": 1,
      "request_count": 1,
      "request_type": "text",
      "burst": 1,
      "source": "text",
      "source_query_string": "text"
    },
    "status_cors_header": "text",
    "cors_domains": [
      "text"
    ],
    "options_request": true,
    "status_head_request_disallow": true,
    "location": "text"
  }
}

Update settings

put
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

Body
is_ip_restrictionbooleanOptional

Enable or disable IP restriction

restriction_typestring · enumOptional

Type of IP restriction

Possible values:
status_cors_headerstring · enumOptional

Status of CORS header

Possible values:
cors_domainsstring[]Optional

List of allowed CORS domains

status_head_request_disallowbooleanOptional

Indicates if HEAD requests should be disallowed

Responses
200

Settings successfully updated

application/json
put
PUT /api/v2/stook/{organization_uuid}/settings HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 206

{
  "is_ip_restriction": true,
  "restriction_type": "allow",
  "ip_list": {
    "allow_ip_list": [
      "0.0.0.0"
    ],
    "deny_ip_list": [
      "0.0.0.0"
    ]
  },
  "status_cors_header": "on",
  "cors_domains": [
    "text"
  ],
  "status_head_request_disallow": true
}
200

Settings successfully updated

{
  "status": true,
  "data": {
    "uuid": "text",
    "name": "text",
    "status": true,
    "is_ip_restriction": true,
    "restriction_type": "text",
    "ip_list": {
      "allow_ip_list": [
        "text"
      ],
      "deny_ip_list": [
        "text"
      ]
    },
    "is_rate_limit": true,
    "rate_limit_parameters": {
      "zone_size": 1,
      "request_count": 1,
      "request_type": "text",
      "burst": 1,
      "source": "text",
      "source_query_string": "text"
    },
    "status_cors_header": "text",
    "cors_domains": [
      "text"
    ],
    "options_request": true,
    "status_head_request_disallow": true,
    "location": "text"
  }
}

Retrieve Path Details

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

path_uuidstringRequired

The UUID of the path

Responses
200

Path details retrieved successfully

application/json
get
GET /api/api/v1/stook/{organization_uuid}/path/{path_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Path details retrieved successfully

{
  "status": true,
  "data": {
    "uuid": "text",
    "organization_uuid": "text",
    "root_path": "text",
    "size": "text",
    "label": "text",
    "status": true,
    "deleted": true,
    "region": "text",
    "ftp_accounts": [
      {}
    ],
    "stook_accounts": [
      {}
    ]
  }
}

Update Path

put
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

path_uuidstringRequired

The UUID of the path

Body
labelstringRequired

The label of the path

statusbooleanRequired

The status of the path

Responses
200

Path successfully updated

application/json
put
PUT /api/api/v1/stook/{organization_uuid}/path/{path_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 30

{
  "label": "text",
  "status": true
}
200

Path successfully updated

{
  "status": true,
  "data": {
    "uuid": "text",
    "organization_uuid": "text",
    "root_path": "text",
    "size": "text",
    "label": "text",
    "status": true,
    "deleted": true,
    "region": "text",
    "ftp_accounts": [
      {}
    ],
    "stook_accounts": [
      {}
    ]
  }
}

Delete Path

delete
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

path_uuidstringRequired

The UUID of the path

Responses
200

Path successfully deleted

application/json
delete
DELETE /api/api/v1/stook/{organization_uuid}/path/{path_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

Path successfully deleted

{
  "status": true,
  "message": "text"
}

v1/Retrieve FTP Account Details

get
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

ftp_uuidstringRequired

The UUID of the FTP account

Responses
200

FTP account details retrieved successfully

application/json
get
GET /api/api/v1/stook/{organization_uuid}/ftp/{ftp_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

FTP account details retrieved successfully

{
  "status": true,
  "data": {
    "uuid": "text",
    "path_uuid": "text",
    "name": "text",
    "path": "text",
    "count": 1,
    "is_readonly": true,
    "last_accessed": "text",
    "wrap_rules": [
      {
        "type": "allow",
        "rule": [
          "text"
        ]
      }
    ]
  }
}

v1/Update FTP Account

put
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

ftp_uuidstringRequired

The UUID of the FTP account

Body
is_readonlybooleanRequired

Indicates if the FTP account is read-only

passwordstringRequired

The password for the FTP account

pathstringRequired

The path for the FTP account

Responses
200

FTP account successfully updated

application/json
put
PUT /api/api/v1/stook/{organization_uuid}/ftp/{ftp_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 100

{
  "is_readonly": true,
  "password": "text",
  "path": "text",
  "wrap_rules": [
    {
      "type": "allow",
      "rule": [
        "text"
      ]
    }
  ]
}
200

FTP account successfully updated

{
  "status": true,
  "data": {
    "uuid": "text",
    "path_uuid": "text",
    "name": "text",
    "path": "text",
    "count": 1,
    "is_readonly": true,
    "last_accessed": "text",
    "wrap_rules": [
      {
        "type": "allow",
        "rule": [
          "text"
        ]
      }
    ]
  }
}

v1/Delete FTP Account

delete
Authorizations
Path parameters
organization_uuidstringRequired

The UUID of the organization

ftp_uuidstringRequired

The UUID of the FTP account

Responses
200

FTP account successfully deleted

application/json
delete
DELETE /api/api/v1/stook/{organization_uuid}/ftp/{ftp_uuid} HTTP/1.1
Host: cloud.medianova.com
Authorization: Bearer JWT
Accept: */*
200

FTP account successfully deleted

{
  "status": true
}

Last updated

Was this helpful?