# Pools

## Lists all pools.

> \*\*API Key Scope\*\*: pools / 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":{"pools_index":{"description":"List of pools.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/pool_collection"}}}}},"schemas":{"pool_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"pools":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/pool"}}}},"pool":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string"},"comment":{"type":"string"},"type":{"type":"string","enum":["active_archive","offline_archive","data_exchange","scratch","data_enrichment","primary"]},"content":{"type":"string","enum":["tape","cloud","nas"]},"primary_id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","description":"For pool of tapes, used to link to a tape library id","format":"int64"},"tape_write_protect_when_full":{"type":"boolean","description":"For pool of tapes, set the tape in write-protect when it became full"},"storage_extra_data":{"$ref":"#/components/schemas/storage_extra_data","description":"Additional storage metadata"}}},"storage_extra_data":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_type":{"type":"integer","enum":[1,2,3,4,5,6,7,8,9]},"data":{"type":"string"}}}},"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_type":{"name":"type","in":"query","description":"Filter on type","schema":{"type":"string"}},"filter_content":{"name":"content","in":"query","description":"Filter on content","schema":{"type":"string"}},"filter_primary_id":{"name":"primary_id","in":"query","description":"Filter on primary id","schema":{"type":"string"}}}},"paths":{"/pools":{"get":{"summary":"Lists all pools.","tags":["pools"],"operationId":"index_pools","description":"**API Key Scope**: pools / index","responses":{"200":{"$ref":"#/components/responses/pools_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_type"},{"$ref":"#/components/parameters/filter_content"},{"$ref":"#/components/parameters/filter_primary_id"}]}}}}
```

## Creates a new pool.

> \*\*API Key Scope\*\*: pools / 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":{"pools_show":{"description":"A specific pool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/pool"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"pool":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string"},"comment":{"type":"string"},"type":{"type":"string","enum":["active_archive","offline_archive","data_exchange","scratch","data_enrichment","primary"]},"content":{"type":"string","enum":["tape","cloud","nas"]},"primary_id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","description":"For pool of tapes, used to link to a tape library id","format":"int64"},"tape_write_protect_when_full":{"type":"boolean","description":"For pool of tapes, set the tape in write-protect when it became full"},"storage_extra_data":{"$ref":"#/components/schemas/storage_extra_data","description":"Additional storage metadata"}}},"storage_extra_data":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_type":{"type":"integer","enum":[1,2,3,4,5,6,7,8,9]},"data":{"type":"string"}}},"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"}},"pool_up":{"allOf":[{"$ref":"#/components/schemas/pool"},{"type":"object","properties":{"tape_ids":{"type":"array","items":{"type":"integer"}},"nas_share_ids":{"type":"array","items":{"type":"integer"}},"cloud_bucket_ids":{"type":"array","items":{"type":"integer"}}}}]}},"requestBodies":{"pool_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/pool_up"}}},"required":true}}},"paths":{"/pools":{"post":{"summary":"Creates a new pool.","operationId":"create_pool","description":"**API Key Scope**: pools / create","tags":["pools"],"responses":{"201":{"$ref":"#/components/responses/pools_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/pool_body"}}}}}
```

## Displays a specific pool.

> \*\*API Key Scope\*\*: pools / 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":{"pools_show":{"description":"A specific pool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/pool"}}}}},"schemas":{"pool":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string"},"comment":{"type":"string"},"type":{"type":"string","enum":["active_archive","offline_archive","data_exchange","scratch","data_enrichment","primary"]},"content":{"type":"string","enum":["tape","cloud","nas"]},"primary_id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","description":"For pool of tapes, used to link to a tape library id","format":"int64"},"tape_write_protect_when_full":{"type":"boolean","description":"For pool of tapes, set the tape in write-protect when it became full"},"storage_extra_data":{"$ref":"#/components/schemas/storage_extra_data","description":"Additional storage metadata"}}},"storage_extra_data":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_type":{"type":"integer","enum":[1,2,3,4,5,6,7,8,9]},"data":{"type":"string"}}}}},"paths":{"/pools/{pool_id}":{"get":{"summary":"Displays a specific pool.","operationId":"show_pool","description":"**API Key Scope**: pools / show","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/pools_show"}}}}}}
```

## Updates a specific pool.

> \*\*API Key Scope\*\*: pools / 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":{"pools_show":{"description":"A specific pool.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/pool"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"pool":{"type":"object","properties":{"id":{"type":"integer","readOnly":true},"name":{"type":"string"},"comment":{"type":"string"},"type":{"type":"string","enum":["active_archive","offline_archive","data_exchange","scratch","data_enrichment","primary"]},"content":{"type":"string","enum":["tape","cloud","nas"]},"primary_id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","description":"For pool of tapes, used to link to a tape library id","format":"int64"},"tape_write_protect_when_full":{"type":"boolean","description":"For pool of tapes, set the tape in write-protect when it became full"},"storage_extra_data":{"$ref":"#/components/schemas/storage_extra_data","description":"Additional storage metadata"}}},"storage_extra_data":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_type":{"type":"integer","enum":[1,2,3,4,5,6,7,8,9]},"data":{"type":"string"}}},"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"}},"pool_up":{"allOf":[{"$ref":"#/components/schemas/pool"},{"type":"object","properties":{"tape_ids":{"type":"array","items":{"type":"integer"}},"nas_share_ids":{"type":"array","items":{"type":"integer"}},"cloud_bucket_ids":{"type":"array","items":{"type":"integer"}}}}]}},"requestBodies":{"pool_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/pool_up"}}},"required":true}}},"paths":{"/pools/{pool_id}":{"put":{"summary":"Updates a specific pool.","operationId":"update_pool","description":"**API Key Scope**: pools / update","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/pools_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/pool_body"}}}}}
```

## Destroys a specific tape pool.

> \*\*API Key Scope\*\*: pools / 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":{"/pools/{pool_id}":{"delete":{"summary":"Destroys a specific tape pool.","operationId":"destroy_pool","description":"**API Key Scope**: pools / destroy","tags":["pools"],"responses":{"204":{"description":"Pool destroyed."}}}}}}
```

## Displays the primary pool scan status.

> \*\*API Key Scope\*\*: primary\_scans / 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":{"primary_scan_show":{"description":"The primary pool scan status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/primary_scan"}}}}},"schemas":{"primary_scan":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer"},"enabled":{"type":"boolean"},"operand":{"type":"number"},"unit":{"type":"string","enum":["minutes","hours","days","weeks","months","years"]}}}}},"paths":{"/pools/{pool_id}/primary_scan":{"get":{"summary":"Displays the primary pool scan status.","operationId":"show_primary_scan","description":"**API Key Scope**: primary_scans / show","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/primary_scan_show"}}}}}}
```

## Set a new primary pool scan option.

> \*\*API Key Scope\*\*: primary\_scans / 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":{"primary_scan_show":{"description":"The primary pool scan status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/primary_scan"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"primary_scan":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer"},"enabled":{"type":"boolean"},"operand":{"type":"number"},"unit":{"type":"string","enum":["minutes","hours","days","weeks","months","years"]}}},"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":{"primary_scan_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/primary_scan"}}},"required":true}}},"paths":{"/pools/{pool_id}/primary_scan":{"post":{"summary":"Set a new primary pool scan option.","operationId":"create_primary_scan","description":"**API Key Scope**: primary_scans / create","tags":["pools"],"responses":{"201":{"$ref":"#/components/responses/primary_scan_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/primary_scan_body"}}}}}
```

## Updates the existing primary pool scan option.

> \*\*API Key Scope\*\*: primary\_scans / 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":{"primary_scan_show":{"description":"The primary pool scan status.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/primary_scan"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}},"schemas":{"primary_scan":{"type":"object","properties":{"id":{"type":"integer","readOnly":true,"format":"int64"},"pool_id":{"type":"integer"},"enabled":{"type":"boolean"},"operand":{"type":"number"},"unit":{"type":"string","enum":["minutes","hours","days","weeks","months","years"]}}},"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":{"primary_scan_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/primary_scan"}}},"required":true}}},"paths":{"/pools/{pool_id}/primary_scan":{"put":{"summary":"Updates the existing primary pool scan option.","operationId":"update_primary_scan","description":"**API Key Scope**: primary_scans / update","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/primary_scan_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/primary_scan_body"}}}}}
```

## Disable the primary pool scan.

> \*\*API Key Scope\*\*: primary\_scans / 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":{"/pools/{pool_id}/primary_scan":{"delete":{"summary":"Disable the primary pool scan.","operationId":"destroy_primary_scan","description":"**API Key Scope**: primary_scans / destroy","tags":["pools"],"responses":{"204":{"description":"Primary pool scan disabled."}}}}}}
```

## Synchronize a primary after a scan (for internal use only).

> \*\*API Key Scope\*\*: pools / sync\_primary

```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"}},"parameters":{"sync_primary_tx":{"name":"tx","in":"query","description":"New transaction number.","required":true,"schema":{"type":"integer"}}}},"paths":{"/pools/{pool_id}/sync":{"post":{"summary":"Synchronize a primary after a scan (for internal use only).","operationId":"sync_primary_pool","description":"**API Key Scope**: pools / sync_primary","tags":["pools"],"responses":{"204":{"description":"Synchronization triggered."}},"parameters":[{"$ref":"#/components/parameters/sync_primary_tx"}]}}}}
```

## Get mount status of Pool.

> \*\*API Key Scope\*\*: pools / mount\_status

```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":{"mount_status":{"description":"Mount status of storage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/mount_status"}}}},"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/error"}}}}},"schemas":{"mount_status":{"type":"object","properties":{"mounted":{"type":"boolean","readOnly":true},"message":{"type":"string","readOnly":true},"status":{"$ref":"#/components/schemas/mount_info"}}},"mount_info":{"type":"object","properties":{"id":{"type":"integer"},"major_minor":{"type":"string"},"target":{"type":"string"},"source":{"type":"string"},"options":{"type":"string"},"type":{"type":"string","enum":["cifs","nfs","nfs4","fuse.s3fs","fuse.rclone","fuse.core_fuse","fuse"]},"pool_id":{"type":"integer"},"pool_name":{"type":"string"},"nas_id":{"type":"integer"},"nas_name":{"type":"string"},"nas_share_id":{"type":"integer"},"nas_share_name":{"type":"string"},"cloud_connector_id":{"type":"integer"},"cloud_connector_name":{"type":"string"},"cloud_bucket_id":{"type":"integer"},"cloud_bucket_name":{"type":"string"},"tape_id":{"type":"integer"},"tape_barcode":{"type":"string"},"tape_library_id":{"type":"integer"},"tape_library_name":{"type":"string"},"tape_library_serial":{"type":"string"}}},"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}/mount":{"get":{"summary":"Get mount status of Pool.","operationId":"mount_status_pool","description":"**API Key Scope**: pools / mount_status","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/mount_status"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## Mount Pool.

> \*\*API Key Scope\*\*: pools / mount

```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":{"mount_status":{"description":"Mount status of storage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/mount_status"}}}},"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/error"}}}}},"schemas":{"mount_status":{"type":"object","properties":{"mounted":{"type":"boolean","readOnly":true},"message":{"type":"string","readOnly":true},"status":{"$ref":"#/components/schemas/mount_info"}}},"mount_info":{"type":"object","properties":{"id":{"type":"integer"},"major_minor":{"type":"string"},"target":{"type":"string"},"source":{"type":"string"},"options":{"type":"string"},"type":{"type":"string","enum":["cifs","nfs","nfs4","fuse.s3fs","fuse.rclone","fuse.core_fuse","fuse"]},"pool_id":{"type":"integer"},"pool_name":{"type":"string"},"nas_id":{"type":"integer"},"nas_name":{"type":"string"},"nas_share_id":{"type":"integer"},"nas_share_name":{"type":"string"},"cloud_connector_id":{"type":"integer"},"cloud_connector_name":{"type":"string"},"cloud_bucket_id":{"type":"integer"},"cloud_bucket_name":{"type":"string"},"tape_id":{"type":"integer"},"tape_barcode":{"type":"string"},"tape_library_id":{"type":"integer"},"tape_library_name":{"type":"string"},"tape_library_serial":{"type":"string"}}},"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}/mount":{"put":{"summary":"Mount Pool.","operationId":"mount_pool","description":"**API Key Scope**: pools / mount","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/mount_status"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## Unmount Pool.

> \*\*API Key Scope\*\*: pools / unmount

```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":{"mount_status":{"description":"Mount status of storage.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/mount_status"}}}},"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/error"}}}}},"schemas":{"mount_status":{"type":"object","properties":{"mounted":{"type":"boolean","readOnly":true},"message":{"type":"string","readOnly":true},"status":{"$ref":"#/components/schemas/mount_info"}}},"mount_info":{"type":"object","properties":{"id":{"type":"integer"},"major_minor":{"type":"string"},"target":{"type":"string"},"source":{"type":"string"},"options":{"type":"string"},"type":{"type":"string","enum":["cifs","nfs","nfs4","fuse.s3fs","fuse.rclone","fuse.core_fuse","fuse"]},"pool_id":{"type":"integer"},"pool_name":{"type":"string"},"nas_id":{"type":"integer"},"nas_name":{"type":"string"},"nas_share_id":{"type":"integer"},"nas_share_name":{"type":"string"},"cloud_connector_id":{"type":"integer"},"cloud_connector_name":{"type":"string"},"cloud_bucket_id":{"type":"integer"},"cloud_bucket_name":{"type":"string"},"tape_id":{"type":"integer"},"tape_barcode":{"type":"string"},"tape_library_id":{"type":"integer"},"tape_library_name":{"type":"string"},"tape_library_serial":{"type":"string"}}},"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}/mount":{"delete":{"summary":"Unmount Pool.","operationId":"unmount_pool","description":"**API Key Scope**: pools / unmount","tags":["pools"],"responses":{"200":{"$ref":"#/components/responses/mount_status"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```


---

# 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/pools.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.
