# 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."}}}}}}
```


---

# 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-mover/api-developers/api-reference-nodeum-data-mover/task_sources.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.
