# Containers

## Lists all containers.

> \*\*API Key Scope\*\*: containers / 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":{"containers_index":{"description":"List of containers.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_collection"}}}}},"schemas":{"container_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"containers":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/container"}}}},"container":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"comment":{"type":"string"},"push_pool_id":{"type":"integer","format":"int64"},"cleaning_pool_id":{"type":"integer","format":"int64"},"quota_total_size":{"type":"integer","format":"int64"},"quota_on_cache":{"type":"integer","format":"int64"},"stat_total_files":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_count":{"type":"integer","readOnly":true,"format":"int64"},"stat_total_size":{"type":"integer","readOnly":true,"format":"int64"},"stat_size_on_cache":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"guest_right":{"type":"string","enum":["none","read","read_write"]},"last_update":{"type":"string","readOnly":true,"format":"date-time"},"protocol_smb":{"type":"boolean"},"protocol_nfs":{"type":"boolean"},"protocol_s3":{"type":"boolean"}}}},"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_name":{"name":"name","in":"query","description":"Filter on name","schema":{"type":"string"}},"filter_comment":{"name":"comment","in":"query","description":"Filter on comment","schema":{"type":"string"}},"filter_quota_total_size":{"name":"quota_total_size","in":"query","description":"Filter on quota total size","schema":{"type":"string"}},"filter_quota_on_cache":{"name":"quota_on_cache","in":"query","description":"Filter on quota on cache","schema":{"type":"string"}},"filter_stat_total_files":{"name":"stat_total_files","in":"query","description":"Filter on stat total files","schema":{"type":"string"}},"filter_stat_total_size":{"name":"stat_total_size","in":"query","description":"Filter on stat total size","schema":{"type":"string"}},"filter_stat_size_on_cache":{"name":"stat_size_on_cache","in":"query","description":"Filter on stat size on cache","schema":{"type":"string"}},"filter_guest_right":{"name":"guest_right","in":"query","description":"Filter on guest right","schema":{"type":"string"}},"filter_last_update":{"name":"last_update","in":"query","description":"Filter on last update","schema":{"type":"string"}}}},"paths":{"/containers":{"get":{"summary":"Lists all containers.","tags":["containers"],"operationId":"index_containers","description":"**API Key Scope**: containers / index","responses":{"200":{"$ref":"#/components/responses/containers_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/sort_by"},{"$ref":"#/components/parameters/filter_id"},{"$ref":"#/components/parameters/filter_name"},{"$ref":"#/components/parameters/filter_comment"},{"$ref":"#/components/parameters/filter_quota_total_size"},{"$ref":"#/components/parameters/filter_quota_on_cache"},{"$ref":"#/components/parameters/filter_stat_total_files"},{"$ref":"#/components/parameters/filter_stat_total_size"},{"$ref":"#/components/parameters/filter_stat_size_on_cache"},{"$ref":"#/components/parameters/filter_guest_right"},{"$ref":"#/components/parameters/filter_last_update"}]}}}}
```

## Creates a new container.

> \*\*API Key Scope\*\*: containers / 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":{"containers_show":{"description":"A specific container.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"container":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"comment":{"type":"string"},"push_pool_id":{"type":"integer","format":"int64"},"cleaning_pool_id":{"type":"integer","format":"int64"},"quota_total_size":{"type":"integer","format":"int64"},"quota_on_cache":{"type":"integer","format":"int64"},"stat_total_files":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_count":{"type":"integer","readOnly":true,"format":"int64"},"stat_total_size":{"type":"integer","readOnly":true,"format":"int64"},"stat_size_on_cache":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"guest_right":{"type":"string","enum":["none","read","read_write"]},"last_update":{"type":"string","readOnly":true,"format":"date-time"},"protocol_smb":{"type":"boolean"},"protocol_nfs":{"type":"boolean"},"protocol_s3":{"type":"boolean"}}},"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":{"container_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/container"}}},"required":true}}},"paths":{"/containers":{"post":{"summary":"Creates a new container.","operationId":"create_container","description":"**API Key Scope**: containers / create","tags":["containers"],"responses":{"201":{"$ref":"#/components/responses/containers_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/container_body"}}}}}
```

## Check result of the containers reconfiguration.

> \*\*API Key Scope\*\*: containers / configure

```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}}}},"parameters":{"job_id":{"name":"job_id","in":"query","description":"ID of active job","required":true,"schema":{"type":"string"}}}},"paths":{"/containers/-/configure":{"get":{"summary":"Check result of the containers reconfiguration.","operationId":"configure_containers_result","tags":["containers"],"description":"**API Key Scope**: containers / configure","responses":{"200":{"$ref":"#/components/responses/active_job_status"},"202":{"$ref":"#/components/responses/active_job_status"}},"parameters":[{"$ref":"#/components/parameters/job_id"}]}}}}
```

## Reconfigure all containers for SMB connections.

> \*\*API Key Scope\*\*: containers / configure

```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":{"/containers/-/configure":{"put":{"summary":"Reconfigure all containers for SMB connections.","operationId":"configure_containers","description":"**API Key Scope**: containers / configure","tags":["containers"],"responses":{"202":{"$ref":"#/components/responses/active_job_status"}}}}}}
```

## Displays a specific container.

> \*\*API Key Scope\*\*: containers / 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":{"containers_show":{"description":"A specific container.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container"}}}}},"schemas":{"container":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"comment":{"type":"string"},"push_pool_id":{"type":"integer","format":"int64"},"cleaning_pool_id":{"type":"integer","format":"int64"},"quota_total_size":{"type":"integer","format":"int64"},"quota_on_cache":{"type":"integer","format":"int64"},"stat_total_files":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_count":{"type":"integer","readOnly":true,"format":"int64"},"stat_total_size":{"type":"integer","readOnly":true,"format":"int64"},"stat_size_on_cache":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"guest_right":{"type":"string","enum":["none","read","read_write"]},"last_update":{"type":"string","readOnly":true,"format":"date-time"},"protocol_smb":{"type":"boolean"},"protocol_nfs":{"type":"boolean"},"protocol_s3":{"type":"boolean"}}}}},"paths":{"/containers/{container_id}":{"get":{"summary":"Displays a specific container.","operationId":"show_container","description":"**API Key Scope**: containers / show","tags":["containers"],"responses":{"200":{"$ref":"#/components/responses/containers_show"}}}}}}
```

## Updates a specific container.

> \*\*API Key Scope\*\*: containers / 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":{"containers_show":{"description":"A specific container.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"container":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"comment":{"type":"string"},"push_pool_id":{"type":"integer","format":"int64"},"cleaning_pool_id":{"type":"integer","format":"int64"},"quota_total_size":{"type":"integer","format":"int64"},"quota_on_cache":{"type":"integer","format":"int64"},"stat_total_files":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_count":{"type":"integer","readOnly":true,"format":"int64"},"stat_total_size":{"type":"integer","readOnly":true,"format":"int64"},"stat_size_on_cache":{"type":"integer","readOnly":true,"format":"int64"},"only_on_cache_file_size_sum":{"type":"integer","readOnly":true,"format":"int64"},"guest_right":{"type":"string","enum":["none","read","read_write"]},"last_update":{"type":"string","readOnly":true,"format":"date-time"},"protocol_smb":{"type":"boolean"},"protocol_nfs":{"type":"boolean"},"protocol_s3":{"type":"boolean"}}},"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":{"container_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/container"}}},"required":true}}},"paths":{"/containers/{container_id}":{"put":{"summary":"Updates a specific container.","operationId":"update_container","description":"**API Key Scope**: containers / update","tags":["containers"],"responses":{"200":{"$ref":"#/components/responses/containers_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/container_body"}}}}}
```

## Destroys a specific container.

> \*\*API Key Scope\*\*: containers / 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":{"/containers/{container_id}":{"delete":{"summary":"Destroys a specific container.","operationId":"destroy_container","description":"**API Key Scope**: containers / destroy","tags":["containers"],"responses":{"204":{"description":"Container destroyed."}}}}}}
```

## Lists all privilege on the container.

> \*\*API Key Scope\*\*: container\_privileges / 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":{"container_privileges_index":{"description":"List of container privileges.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_privilege_collection"}}}}},"schemas":{"container_privilege_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"container_privileges":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/container_privilege"}}}},"container_privilege":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"privilege":{"type":"string","enum":["none","read","read_write"]},"type":{"type":"string","enum":["user","group"]}}}},"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_name":{"name":"name","in":"query","description":"Filter on name","schema":{"type":"string"}},"filter_privilege":{"name":"privilege","in":"query","description":"Filter on privilege","schema":{"type":"string"}},"filter_type":{"name":"type","in":"query","description":"Filter on type","schema":{"type":"string"}}}},"paths":{"/containers/{container_id}/container_privileges":{"get":{"summary":"Lists all privilege on the container.","tags":["containers"],"operationId":"index_container_privileges","description":"**API Key Scope**: container_privileges / index","responses":{"200":{"$ref":"#/components/responses/container_privileges_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"},{"$ref":"#/components/parameters/sort_by"},{"$ref":"#/components/parameters/filter_id"},{"$ref":"#/components/parameters/filter_name"},{"$ref":"#/components/parameters/filter_privilege"},{"$ref":"#/components/parameters/filter_type"}]}}}}
```

## Creates a new privilege on the container.

> \*\*API Key Scope\*\*: container\_privileges / 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":{"container_privileges_show":{"description":"A specific container privilege.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_privilege"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"container_privilege":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"privilege":{"type":"string","enum":["none","read","read_write"]},"type":{"type":"string","enum":["user","group"]}}},"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":{"container_privilege_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_privilege"}}},"required":true}}},"paths":{"/containers/{container_id}/container_privileges":{"post":{"summary":"Creates a new privilege on the container.","operationId":"create_container_privilege","description":"**API Key Scope**: container_privileges / create","tags":["containers"],"responses":{"201":{"$ref":"#/components/responses/container_privileges_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/container_privilege_body"}}}}}
```

## Displays a specific privilege.

> \*\*API Key Scope\*\*: container\_privileges / 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":{"container_privileges_show":{"description":"A specific container privilege.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_privilege"}}}}},"schemas":{"container_privilege":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"privilege":{"type":"string","enum":["none","read","read_write"]},"type":{"type":"string","enum":["user","group"]}}}}},"paths":{"/containers/{container_id}/container_privileges/{container_privilege_id}":{"get":{"summary":"Displays a specific privilege.","operationId":"show_container_privilege","description":"**API Key Scope**: container_privileges / show","tags":["containers"],"responses":{"200":{"$ref":"#/components/responses/container_privileges_show"}}}}}}
```

## Updates a specific privilege.

> \*\*API Key Scope\*\*: container\_privileges / 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":{"container_privileges_show":{"description":"A specific container privilege.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_privilege"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"container_privilege":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"name":{"type":"string"},"privilege":{"type":"string","enum":["none","read","read_write"]},"type":{"type":"string","enum":["user","group"]}}},"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":{"container_privilege_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/container_privilege"}}},"required":true}}},"paths":{"/containers/{container_id}/container_privileges/{container_privilege_id}":{"put":{"summary":"Updates a specific privilege.","operationId":"update_container_privilege","description":"**API Key Scope**: container_privileges / update","tags":["containers"],"responses":{"200":{"$ref":"#/components/responses/container_privileges_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/container_privilege_body"}}}}}
```

## Destroys a specific privilege.

> \*\*API Key Scope\*\*: container\_privileges / 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":{"/containers/{container_id}/container_privileges/{container_privilege_id}":{"delete":{"summary":"Destroys a specific privilege.","operationId":"destroy_container_privilege","description":"**API Key Scope**: container_privileges / destroy","tags":["containers"],"responses":{"204":{"description":"Container privilege destroyed."}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.nodeum.io/data-archiving/api-developers/api-reference-nodeum-data-archiving/containers.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
