# Task\_sources

## Lists all task sources.

> \*\*API Key Scope\*\*: task\_sources / 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":{"task_sources_index":{"description":"List of task sources.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task_source_collection"}}}}},"schemas":{"task_source_collection":{"type":"object","properties":{"count":{"type":"integer","readOnly":true},"task_sources":{"type":"array","readOnly":true,"items":{"$ref":"#/components/schemas/task_source"}}}},"task_source":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"format":"int64"},"type":{"type":"string","enum":["primary_nas","secondary_nas","nas","primary_cloud","secondary_cloud","cloud"]},"node_paths":{"type":"array","items":{"type":"string"}},"range":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"pool_id":{"type":"integer"},"parent_storage_id":{"type":"integer","format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_name":{"type":"string"},"pool":{"readOnly":true,"allOf":[{"$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":["cloud","nas"]},"storage_id":{"type":"integer","description":"For pools, used to link to a storage id","format":"int64"}}}},"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"}}}},"paths":{"/tasks/{task_id}/task_sources":{"get":{"summary":"Lists all task sources.","tags":["task_sources"],"operationId":"index_task_sources","description":"**API Key Scope**: task_sources / index","responses":{"200":{"$ref":"#/components/responses/task_sources_index"}},"parameters":[{"$ref":"#/components/parameters/limit"},{"$ref":"#/components/parameters/offset"}]}}}}
```

## Creates a new task source.

> \*\*API Key Scope\*\*: task\_sources / 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":{"task_sources_show":{"description":"A specific task source.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task_source"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"task_source":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"format":"int64"},"type":{"type":"string","enum":["primary_nas","secondary_nas","nas","primary_cloud","secondary_cloud","cloud"]},"node_paths":{"type":"array","items":{"type":"string"}},"range":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"pool_id":{"type":"integer"},"parent_storage_id":{"type":"integer","format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_name":{"type":"string"},"pool":{"readOnly":true,"allOf":[{"$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":["cloud","nas"]},"storage_id":{"type":"integer","description":"For pools, used to link to a storage id","format":"int64"}}},"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":{"task_source_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/task_source"}}},"required":true}}},"paths":{"/tasks/{task_id}/task_sources":{"post":{"summary":"Creates a new task source.","operationId":"create_task_source","description":"**API Key Scope**: task_sources / create","tags":["task_sources"],"responses":{"201":{"$ref":"#/components/responses/task_sources_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/task_source_body"}}}}}
```

## Displays a specific task source.

> \*\*API Key Scope\*\*: task\_sources / 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":{"task_sources_show":{"description":"A specific task source.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task_source"}}}},"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":{"task_source":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"format":"int64"},"type":{"type":"string","enum":["primary_nas","secondary_nas","nas","primary_cloud","secondary_cloud","cloud"]},"node_paths":{"type":"array","items":{"type":"string"}},"range":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"pool_id":{"type":"integer"},"parent_storage_id":{"type":"integer","format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_name":{"type":"string"},"pool":{"readOnly":true,"allOf":[{"$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":["cloud","nas"]},"storage_id":{"type":"integer","description":"For pools, used to link to a storage id","format":"int64"}}},"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":{"/tasks/{task_id}/task_sources/{task_source_id}":{"get":{"summary":"Displays a specific task source.","operationId":"show_task_source","description":"**API Key Scope**: task_sources / show","tags":["task_sources"],"responses":{"200":{"$ref":"#/components/responses/task_sources_show"},"404":{"$ref":"#/components/responses/not_found"}}}}}}
```

## Updates a specific task source.

> \*\*API Key Scope\*\*: task\_sources / 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":{"task_sources_show":{"description":"A specific task source.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/task_source"}}}},"unprocessable_entity":{"description":"The received resource was not correctly formatted.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/model_error"}}}}},"schemas":{"task_source":{"type":"object","properties":{"id":{"type":"string","readOnly":true,"format":"int64"},"type":{"type":"string","enum":["primary_nas","secondary_nas","nas","primary_cloud","secondary_cloud","cloud"]},"node_paths":{"type":"array","items":{"type":"string"}},"range":{"type":"array","items":{"type":"integer"},"minItems":2,"maxItems":2},"pool_id":{"type":"integer"},"parent_storage_id":{"type":"integer","format":"int64"},"storage_id":{"type":"integer","format":"int64"},"storage_name":{"type":"string"},"pool":{"readOnly":true,"allOf":[{"$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":["cloud","nas"]},"storage_id":{"type":"integer","description":"For pools, used to link to a storage id","format":"int64"}}},"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":{"task_source_body":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/task_source"}}},"required":true}}},"paths":{"/tasks/{task_id}/task_sources/{task_source_id}":{"put":{"summary":"Updates a specific task source.","operationId":"update_task_source","description":"**API Key Scope**: task_sources / update","tags":["task_sources"],"responses":{"200":{"$ref":"#/components/responses/task_sources_show"},"422":{"$ref":"#/components/responses/unprocessable_entity"}},"requestBody":{"$ref":"#/components/requestBodies/task_source_body"}}}}}
```

## Destroys a specific task source.

> \*\*API Key Scope\*\*: task\_sources / 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":{"/tasks/{task_id}/task_sources/{task_source_id}":{"delete":{"summary":"Destroys a specific task source.","operationId":"destroy_task_source","description":"**API Key Scope**: task_sources / destroy","tags":["task_sources"],"responses":{"204":{"description":"Task source destroyed."}}}}}}
```
