# Cloud\_buckets

## (By cloud connector) Lists all cloud buckets.

> \*\*API Key Scope\*\*: cloud\_buckets / index

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_index":{"description":"List of cloud buckets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket_collection"}}}}},"schemas":{"cloud_bucket_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"cloud_buckets":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/cloud_bucket"}}}},"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}}},"parameters":{"limit":{"name":"limit","in":"query","description":"The number of items to display for pagination.","schema":{"type":"integer"}},"offset":{"name":"offset","in":"query","description":"The number of items to skip for pagination.","schema":{"type":"integer"}},"sort_by":{"name":"sort_by","in":"query","description":"Sort results by attribute.\n\nCan sort on multiple attributes, separated by `|`.\nOrder direction can be suffixing the attribute by either `:asc` (default) or `:desc`.","style":"pipeDelimited","schema":{"type":"array","items":{"type":"string"}}},"filter_id":{"name":"id","in":"query","description":"Filter on id","schema":{"type":"string"}},"filter_pool_id":{"name":"pool_id","in":"query","description":"Filter on a pool id","schema":{"type":"string"}},"filter_name":{"name":"name","in":"query","description":"Filter on name","schema":{"type":"string"}},"filter_location":{"name":"location","in":"query","description":"Filter on location","schema":{"type":"string"}},"filter_price":{"name":"price","in":"query","description":"Filter on price","schema":{"type":"string"}}}},"paths":{"/cloud_connectors/{cloud_connector_id}/cloud_buckets":{"get":{"summary":"(By cloud connector) Lists all cloud buckets.","operationId":"index_cloud_buckets_by_cloud_connector","description":"**API Key Scope**: cloud_buckets / index","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/sort_by"},{"$ref":"#/components/parameters/filter_id"},{"$ref":"#/components/parameters/filter_pool_id"},{"$ref":"#/components/parameters/filter_name"},{"$ref":"#/components/parameters/filter_location"},{"$ref":"#/components/parameters/filter_price"}]}}}}
```

## Check result of cloud connector sync job.

> \*\*API Key Scope\*\*: cloud\_buckets / sync

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_sync":{"description":"Simple list of cloud buckets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket_simple_collection"}}}},"active_job_status":{"description":"An active job that may be queued, working, completed or failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/active_job_status"}}}}},"schemas":{"cloud_bucket_simple_collection":{"type":"object","properties":{"cloud_buckets":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/cloud_bucket"}}}},"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"active_job_status":{"type":"object","properties":{"job_id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true,"enum":["queued","working","completed","failed"]},"progress":{"type":"integer","readOnly":true},"total":{"type":"integer","readOnly":true}}}},"parameters":{"job_id":{"name":"job_id","in":"query","description":"ID of active job","required":true,"schema":{"type":"string"}}}},"paths":{"/cloud_connectors/{cloud_connector_id}/cloud_buckets/-/sync":{"get":{"summary":"Check result of cloud connector sync job.","operationId":"sync_result_cloud_buckets","tags":["cloud_buckets"],"description":"**API Key Scope**: cloud_buckets / sync","responses":{"200":{"$ref":"#/components/responses/cloud_buckets_sync"},"202":{"$ref":"#/components/responses/active_job_status"}},"parameters":[{"$ref":"#/components/parameters/job_id"}]}}}}
```

## Synchronize internal cloud buckets with their remote equivalent.

> \*\*API Key Scope\*\*: cloud\_buckets / sync

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"active_job_status":{"description":"An active job that may be queued, working, completed or failed.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/active_job_status"}}}}},"schemas":{"active_job_status":{"type":"object","properties":{"job_id":{"type":"string","readOnly":true},"status":{"type":"string","readOnly":true,"enum":["queued","working","completed","failed"]},"progress":{"type":"integer","readOnly":true},"total":{"type":"integer","readOnly":true}}}}},"paths":{"/cloud_connectors/{cloud_connector_id}/cloud_buckets/-/sync":{"put":{"summary":"Synchronize internal cloud buckets with their remote equivalent.","operationId":"sync_cloud_buckets","description":"**API Key Scope**: cloud_buckets / sync","tags":["cloud_buckets"],"responses":{"202":{"$ref":"#/components/responses/active_job_status"}}}}}}
```

## (By cloud connector) Displays a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / show

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}}},"paths":{"/cloud_connectors/{cloud_connector_id}/cloud_buckets/{cloud_bucket_id}":{"get":{"summary":"(By cloud connector) Displays a specific cloud bucket.","operationId":"show_cloud_bucket_by_cloud_connector","description":"**API Key Scope**: cloud_buckets / show","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_show"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## (By cloud connector) Updates a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / update

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}},"requestBodies":{"cloud_bucket_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}},"required":true}}},"paths":{"/cloud_connectors/{cloud_connector_id}/cloud_buckets/{cloud_bucket_id}":{"put":{"summary":"(By cloud connector) Updates a specific cloud bucket.","operationId":"update_cloud_bucket_by_cloud_connector","description":"**API Key Scope**: cloud_buckets / update","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_show"},"404":{"$ref":"#/components/responses/not_found"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_bucket_body"}}}}}
```

## (By pool) Lists all cloud buckets from pool.

> \*\*API Key Scope\*\*: cloud\_buckets / index

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_index":{"description":"List of cloud buckets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket_collection"}}}}},"schemas":{"cloud_bucket_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"cloud_buckets":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/cloud_bucket"}}}},"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}}},"parameters":{"limit":{"name":"limit","in":"query","description":"The number of items to display for pagination.","schema":{"type":"integer"}},"offset":{"name":"offset","in":"query","description":"The number of items to skip for pagination.","schema":{"type":"integer"}},"sort_by":{"name":"sort_by","in":"query","description":"Sort results by attribute.\n\nCan sort on multiple attributes, separated by `|`.\nOrder direction can be suffixing the attribute by either `:asc` (default) or `:desc`.","style":"pipeDelimited","schema":{"type":"array","items":{"type":"string"}}},"filter_id":{"name":"id","in":"query","description":"Filter on id","schema":{"type":"string"}},"filter_cloud_connector_id":{"name":"cloud_connector_id","in":"query","description":"Filter on cloud connector id","schema":{"type":"string"}},"filter_name":{"name":"name","in":"query","description":"Filter on name","schema":{"type":"string"}},"filter_location":{"name":"location","in":"query","description":"Filter on location","schema":{"type":"string"}},"filter_price":{"name":"price","in":"query","description":"Filter on price","schema":{"type":"string"}}}},"paths":{"/pools/{pool_id}/cloud_buckets":{"get":{"summary":"(By pool) Lists all cloud buckets from pool.","operationId":"index_cloud_buckets_by_pool","description":"**API Key Scope**: cloud_buckets / index","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/sort_by"},{"$ref":"#/components/parameters/filter_id"},{"$ref":"#/components/parameters/filter_cloud_connector_id"},{"$ref":"#/components/parameters/filter_name"},{"$ref":"#/components/parameters/filter_location"},{"$ref":"#/components/parameters/filter_price"}]}}}}
```

## (By pool) Displays a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / show

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}}},"paths":{"/pools/{pool_id}/cloud_buckets/{cloud_bucket_id}":{"get":{"summary":"(By pool) Displays a specific cloud bucket.","operationId":"show_cloud_bucket_by_pool","description":"**API Key Scope**: cloud_buckets / show","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_show"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## (By pool) Updates a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / update

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}},"requestBodies":{"cloud_bucket_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}},"required":true}}},"paths":{"/pools/{pool_id}/cloud_buckets/{cloud_bucket_id}":{"put":{"summary":"(By pool) Updates a specific cloud bucket.","operationId":"update_cloud_bucket_by_pool","description":"**API Key Scope**: cloud_buckets / update","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_show"},"404":{"$ref":"#/components/responses/not_found"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_bucket_body"}}}}}
```

## Lists all cloud buckets.

> \*\*API Key Scope\*\*: cloud\_buckets / index

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_index":{"description":"List of cloud buckets.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket_collection"}}}}},"schemas":{"cloud_bucket_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"cloud_buckets":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/cloud_bucket"}}}},"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}}},"parameters":{"limit":{"name":"limit","in":"query","description":"The number of items to display for pagination.","schema":{"type":"integer"}},"offset":{"name":"offset","in":"query","description":"The number of items to skip for pagination.","schema":{"type":"integer"}},"sort_by":{"name":"sort_by","in":"query","description":"Sort results by attribute.\n\nCan sort on multiple attributes, separated by `|`.\nOrder direction can be suffixing the attribute by either `:asc` (default) or `:desc`.","style":"pipeDelimited","schema":{"type":"array","items":{"type":"string"}}},"filter_id":{"name":"id","in":"query","description":"Filter on id","schema":{"type":"string"}},"filter_cloud_connector_id":{"name":"cloud_connector_id","in":"query","description":"Filter on cloud connector id","schema":{"type":"string"}},"filter_pool_id":{"name":"pool_id","in":"query","description":"Filter on a pool id","schema":{"type":"string"}},"filter_name":{"name":"name","in":"query","description":"Filter on name","schema":{"type":"string"}},"filter_location":{"name":"location","in":"query","description":"Filter on location","schema":{"type":"string"}},"filter_price":{"name":"price","in":"query","description":"Filter on price","schema":{"type":"string"}}}},"paths":{"/cloud_buckets":{"get":{"summary":"Lists all cloud buckets.","tags":["cloud_buckets"],"operationId":"index_cloud_buckets","description":"**API Key Scope**: cloud_buckets / index","responses":{"200":{"$ref":"#/components/responses/cloud_buckets_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/sort_by"},{"$ref":"#/components/parameters/filter_id"},{"$ref":"#/components/parameters/filter_cloud_connector_id"},{"$ref":"#/components/parameters/filter_pool_id"},{"$ref":"#/components/parameters/filter_name"},{"$ref":"#/components/parameters/filter_location"},{"$ref":"#/components/parameters/filter_price"}]}}}}
```

## Creates a new cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / create

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}},"requestBodies":{"cloud_bucket_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}},"required":true}}},"paths":{"/cloud_buckets":{"post":{"summary":"Creates a new cloud bucket.","operationId":"create_cloud_bucket","description":"**API Key Scope**: cloud_buckets / create","tags":["cloud_buckets"],"responses":{"201":{"$ref":"#/components/responses/cloud_buckets_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_bucket_body"}}}}}
```

## Displays a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / show

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}}},"paths":{"/cloud_buckets/{cloud_bucket_id}":{"get":{"summary":"Displays a specific cloud bucket.","operationId":"show_cloud_bucket","description":"**API Key Scope**: cloud_buckets / show","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_show"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## Updates a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / update

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"cloud_buckets_show":{"description":"A specific cloud bucket.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}}},"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"cloud_bucket":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"cloud_connector_id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer","readOnly":true},"name":{"type":"string","readOnly":true},"file_count":{"type":"integer","readOnly":true,"format":"int64"},"file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"location":{"type":"string","readOnly":true},"price":{"type":"string"},"options":{"type":"string","description":"S3FS mounting options, separated by comma"}}},"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}},"requestBodies":{"cloud_bucket_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/cloud_bucket"}}},"required":true}}},"paths":{"/cloud_buckets/{cloud_bucket_id}":{"put":{"summary":"Updates a specific cloud bucket.","operationId":"update_cloud_bucket","description":"**API Key Scope**: cloud_buckets / update","tags":["cloud_buckets"],"responses":{"200":{"$ref":"#/components/responses/cloud_buckets_show"},"404":{"$ref":"#/components/responses/not_found"}},"requestBody":{"$ref":"#/components/requestBodies/cloud_bucket_body"}}}}}
```

## Destroys a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_bucket / destroy

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}}},"paths":{"/cloud_buckets/{cloud_bucket_id}":{"delete":{"summary":"Destroys a specific cloud bucket.","operationId":"destroy_cloud_bucket","description":"**API Key Scope**: cloud_bucket / destroy","tags":["cloud_buckets"],"responses":{"204":{"description":"cloud bucket destroyed."}}}}}}
```

## Upload a config file for a specific cloud bucket.

> \*\*API Key Scope\*\*: cloud\_buckets / update\_config\_file

```json
{"openapi":"3.0.1","info":{"title":"Nodeum API","version":"2.1.0"},"servers":[{"url":"{url}/api/v2","variables":{"url":{"default":"http://localhost","description":"URL of server"}}}],"security":[{"BasicAuth":[]},{"BearerAuth":[]},{"JWT":[]}],"components":{"securitySchemes":{"BasicAuth":{"type":"http","scheme":"basic","description":"Pass the username and password of a user in the authorization header.\nThis currently gives full access."},"BearerAuth":{"type":"apiKey","description":"Create an API Key associated to user.\nAccess can be restricted with the scope.\nEach API call described below has a scoped mentionned in its description.\n\nFor example :\n\n**API Key Scope**: files / index\n\nThis means that the API key should have a scope with controller as *files*\nand the action as *index*.","name":"Authorization","in":"header"},"JWT":{"type":"http","scheme":"bearer","bearerFormat":"JWT"}},"responses":{"not_found":{"description":"The requested resource was not found. The detailed error will be of type `not_found`.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"model_error":{"type":"object","properties":{"details":{"type":"object","additionalProperties":{"type":"array","items":{"$ref":"#/components/schemas/attribute_error"}},"description":"Parsable objects describing the errors. The key is the invalid attribute name."},"messages":{"type":"array","description":"English description of the errors.","items":{"type":"string"}}}},"attribute_error":{"required":["error"],"type":"object","properties":{"error":{"type":"string"}},"discriminator":{"propertyName":"error"}}}},"paths":{"/cloud_buckets/{cloud_bucket_id}/config_file":{"put":{"summary":"Upload a config file for a specific cloud bucket.","operationId":"update_config_file_cloud_bucket","description":"**API Key Scope**: cloud_buckets / update_config_file","tags":["cloud_buckets"],"responses":{"200":{"description":"Remote URI","content":{"application/json":{"schema":{"type":"string"}}}},"404":{"$ref":"#/components/responses/not_found"}},"requestBody":{"content":{"multipart/form-data":{"schema":{"required":["config_file"],"properties":{"config_file":{"type":"string","description":"Config file to upload.","format":"binary"},"s3_type":{"type":"string","description":"S3 type for determining storage path.","enum":["s3-native","s3fs","reclone"]}}}}},"required":true}}}}}
```
