# Tasks Controller Resource

The API allows you to list, view, edit and create tasks.

### GET /tasks

Returns list of tasks filtered by specified query parameters.

Request Parameters
name | type | description | constraints | multivalued
--- | --- | --- | --- | ---
backup | query |  |  | no
backup-destination | query |  |  | no
direction | query |  |  | no
filter | query |  |  | no
hypervisor | query |  |  | no
hypervisor-manager | query |  |  | no
mounted-backup-assigned | query |  | required boolean | no
nameLike | query |  |  | no
node | query |  |  | no
orderBy | query |  |  | no
page | query |  |  | no
parent-task | query |  |  | no
project-uuid | query |  |  | no
protected-entity | query |  |  | no
restore-job | query |  |  | no
schedule | query |  |  | no
size | query |  |  | no
state | query |  | "CANCELLED" or "FAILED" or "FINISHED" or "QUEUED" or "RUNNING" | no
states | query |  | "CANCELLED" or "FAILED" or "FINISHED" or "QUEUED" or "RUNNING" | yes
storage-provider | query |  |  | no
type | query |  | "BACKUP_CLEANUP" or "BACKUP_DESTINATION_INIT" or "BACKUP_DESTINATION_SYNC" or "CONNECTIVITY_TEST" or "DELETE" or "EJECT_TAPE" or "EXPORT" or "IMPORT" or "IMPORT_TAPE" or "INVENTORY_SYNC" or "LIVE_MIGRATION" or "MOUNT" or "RESTORE" or "SCOPED_INVENTORY_SYNC" or "SNAPSHOT" or "SNAPSHOT_CLEANUP" or "SNAPSHOT_REVERSION" or "STAGING_CLEANUP" or "STORE" or "TAPE_MANAGER_INVENTORY_SYNC" or "UNMOUNT" or "UPLOAD" | no
workflow-execution | query |  |  | no

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskListRecord (JSON) | list of tasks filtered by specified query parameters

#### Example

##### Request

    GET /tasks
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "progress" : 66.5
    } ]

### DELETE /tasks/all-finished

Remove all finished tasks.

Request Parameters
name | type | description
--- | --- | ---
project-uuid | query | specify project UUID to remove only tasks related to project

#### Example

##### Request

    DELETE /tasks/all-finished
    Content-Type: */*

    ...

##### Response

    HTTP/1.1 204 No Content

### DELETE /tasks/all-finished-and-queued

Remove all finished and queued tasks.

Request Parameters
name | type | description
--- | --- | ---
project-uuid | query | specify project UUID to remove only tasks related to project

#### Example

##### Request

    DELETE /tasks/all-finished-and-queued
    Content-Type: */*

    ...

##### Response

    HTTP/1.1 204 No Content

### DELETE /tasks/all-running

Cancel all running tasks.

Request Parameters
name | type | description
--- | --- | ---
project-uuid | query | specify project UUID to cancel only tasks related to project

#### Example

##### Request

    DELETE /tasks/all-running
    Content-Type: */*

    ...

##### Response

    HTTP/1.1 204 No Content

### POST /tasks/batch-delete

Create delete tasks to remove protected entities. * * @param guids specify list of local unique identifiers for protected entities (use by vProtect)

Request Body
media type | data type
--- | ---
application/json | array of StringDTO (JSON)

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskBatchResponse (JSON) | detailed list of delete tasks

#### Example

##### Request

    POST /tasks/batch-delete
    Content-Type: application/json
    Accept: application/json

    [ { } ]

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    { }

### POST /tasks/cancel-running

Cancel selected running tasks.

Request Body
media type | data type
--- | ---
application/json | array of TaskListRecord (JSON)

#### Example

##### Request

    POST /tasks/cancel-running
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "progress" : 66.5
    } ]

##### Response

    HTTP/1.1 201 Created

### PUT /tasks/cbt-id

Update id of changed block tracking (CBT) for specified task

Request Body
media type | data type | description
--- | --- | ---
application/json | UpdateCbtTaskRequest (JSON) | specify id of changed block tracking (CBT) for specified task

#### Example

##### Request

    PUT /tasks/cbt-id
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### POST /tasks/connectivity-test

Create connectivity test tasks to check connection with target entities.

Request Body
media type | data type | description
--- | --- | ---
application/json | ConnectivityTestTaskRequest (JSON) | specifies sets of hypervisors, hypervisor managers, backup destinations and storage providers for which connectivity test task will be created.

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of connectivity tasks.

#### Example

##### Request

    POST /tasks/connectivity-test
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/delete

Create delete tasks to remove protected entity.

Request Parameters
name | type | description
--- | --- | ---
project-uuid | query |

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify delete request

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of delete tasks

#### Example

##### Request

    POST /tasks/delete
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/delete-finished

Remove selected finished tasks.

Request Body
media type | data type
--- | ---
application/json | array of TaskListRecord (JSON)

#### Example

##### Request

    POST /tasks/delete-finished
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "progress" : 66.5
    } ]

##### Response

    HTTP/1.1 201 Created

### POST /tasks/delete-finished-and-queued

Remove selected finished and queued tasks.

Request Body
media type | data type
--- | ---
application/json | array of TaskListRecord (JSON)

#### Example

##### Request

    POST /tasks/delete-finished-and-queued
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "progress" : 66.5
    } ]

##### Response

    HTTP/1.1 201 Created

### GET /tasks/detailed

Returns detailed list of tasks filtered by specified query parameters.

Request Parameters
name | type | description | constraints | multivalued
--- | --- | --- | --- | ---
backup | query |  |  | no
backup-destination | query |  |  | no
direction | query |  |  | no
filter | query |  |  | no
hypervisor | query |  |  | no
hypervisor-manager | query |  |  | no
mounted-backup-assigned | query |  | required boolean | no
nameLike | query |  |  | no
node | query |  |  | no
orderBy | query |  |  | no
page | query |  |  | no
parent-task | query |  |  | no
project-uuid | query |  |  | no
protected-entity | query |  |  | no
restore-job | query |  |  | no
schedule | query |  |  | no
size | query |  |  | no
state | query |  | "CANCELLED" or "FAILED" or "FINISHED" or "QUEUED" or "RUNNING" | no
states | query |  | "CANCELLED" or "FAILED" or "FINISHED" or "QUEUED" or "RUNNING" | yes
storage-provider | query |  |  | no
type | query |  | "BACKUP_CLEANUP" or "BACKUP_DESTINATION_INIT" or "BACKUP_DESTINATION_SYNC" or "CONNECTIVITY_TEST" or "DELETE" or "EJECT_TAPE" or "EXPORT" or "IMPORT" or "IMPORT_TAPE" or "INVENTORY_SYNC" or "LIVE_MIGRATION" or "MOUNT" or "RESTORE" or "SCOPED_INVENTORY_SYNC" or "SNAPSHOT" or "SNAPSHOT_CLEANUP" or "SNAPSHOT_REVERSION" or "STAGING_CLEANUP" or "STORE" or "TAPE_MANAGER_INVENTORY_SYNC" or "UNMOUNT" or "UPLOAD" | no
workflow-execution | query |  |  | no

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of tasks filtered by specified query parameters

#### Example

##### Request

    GET /tasks/detailed
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/eject-tape

Create eject tape task.

Request Body
media type | data type | description
--- | --- | ---
application/json | EjectTapeTaskRequest (JSON) | specify tapes for which will be eject tape tasks

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of eject tape tasks

#### Example

##### Request

    POST /tasks/eject-tape
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/export

Create list of export tasks.

Request Body
media type | data type | description
--- | --- | ---
application/json | ExportTaskRequest (JSON) | specify details of export tasks

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of export tasks

#### Example

##### Request

    POST /tasks/export
    Content-Type: application/json
    Accept: application/json

    {
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/import-for-cloud

Create import task for cloud.

Request Body
media type | data type | description
--- | --- | ---
application/json | ImportForCloudTaskRequest (JSON) | specify details of import task for cloud

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | details of newly created import task for cloud

#### Example

##### Request

    POST /tasks/import-for-cloud
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/import-for-os-agent

Create import task for agent.

Request Body
media type | data type | description
--- | --- | ---
application/json | ImportForAgentTaskRequest (JSON) | specify details of import task for cloud

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | details of newly created import task for cloud

#### Example

##### Request

    POST /tasks/import-for-os-agent
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/import-tape

Create import tape task.

Request Body
media type | data type | description
--- | --- | ---
application/json | ImportTapeTaskRequest (JSON) | specify tapes for which will be import tape tasks

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of import tape tasks

#### Example

##### Request

    POST /tasks/import-tape
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### PUT /tasks/inc-snap-required

Update incSnapRequired filed for specified task

Request Body
media type | data type | description
--- | --- | ---
application/json | UpdateIncSnapRequired (JSON) | specify incSnapRequired filed for specified task

#### Example

##### Request

    PUT /tasks/inc-snap-required
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### POST /tasks/instance-inventory

Request Body
media type | data type
--- | ---
application/json | InstanceScopedInventoryRequest (JSON)

#### Example

##### Request

    POST /tasks/instance-inventory
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 201 Created

### POST /tasks/instant-restore

Create restore and mount task for handling instant restore.

Request Body
media type | data type | description
--- | --- | ---
application/json | InstantRestoreTaskRequest (JSON) | specify details of restore and mount task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created restore and mount task

#### Example

##### Request

    POST /tasks/instant-restore
    Content-Type: application/json
    Accept: application/json

    {
      "mode" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/inventory

Update inventory.

Request Body
media type | data type | description
--- | --- | ---
application/json | FullInventoryRequest (JSON) | specify what to update in inventory

#### Example

##### Request

    POST /tasks/inventory
    Content-Type: application/json

    {
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

##### Response

    HTTP/1.1 201 Created

### POST /tasks/inventory-sync

Create inventory synchronization task.

Request Body
media type | data type | description
--- | --- | ---
application/json | InventorySyncTaskRequest (JSON) | specify hypervisors and hypervisor managers for which will be created inventory synchronization task

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of inventory synchronization tasks

#### Example

##### Request

    POST /tasks/inventory-sync
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/live-migration

Request Body
media type | data type
--- | ---
application/json | LiveMigrationTaskRequest (JSON)

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) |

#### Example

##### Request

    POST /tasks/live-migration
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### GET /tasks/modification-timestamps

Get last modification timestamp.

Response Body
media type | data type | description
--- | --- | ---
application/json | TimestampDTO (JSON) | last modification timestamp

#### Example

##### Request

    GET /tasks/modification-timestamps
    Content-Type: application/json
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    { }

### POST /tasks/mount

Create mount task.

Request Body
media type | data type | description
--- | --- | ---
application/json | MountTaskRequest (JSON) | specify details of mount task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created mount task

#### Example

##### Request

    POST /tasks/mount
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### GET /tasks/queued

Returns list of tasks to be executed by the node.

Request Parameters
name | type | description
--- | --- | ---
node | query | specify node guid as task executor

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | list of tasks

#### Example

##### Request

    GET /tasks/queued
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/remove-old-backups

Create tasks to remove old backups.

Request Body
media type | data type | description
--- | --- | ---
application/json | BackupCleanupTaskRequest (JSON) | specify details of task to remove old backups

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of newly created task to remove old backups

#### Example

##### Request

    POST /tasks/remove-old-backups
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/remove-old-snapshots

Create tasks to remove old snapshots.

Request Body
media type | data type | description
--- | --- | ---
application/json | SnapshotsCleanupTaskRequest (JSON) | specify details of task to remove old snapshots

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of newly created task to remove old snapshots

#### Example

##### Request

    POST /tasks/remove-old-snapshots
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/restore

Create restore task.

Request Body
media type | data type | description
--- | --- | ---
application/json | RestoreTaskRequest (JSON) | specify details of restore task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created restore task

#### Example

##### Request

    POST /tasks/restore
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/restore-and-import

Create restore and import task.

Request Parameters
name | type | description
--- | --- | ---
project-uuid | query |

Request Body
media type | data type | description
--- | --- | ---
application/json | RestoreAndImportTaskRequest (JSON) | specify details of restore and import task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created restore and import task

#### Example

##### Request

    POST /tasks/restore-and-import
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/restore-and-mount

Create restore and mount task

Request Body
media type | data type | description
--- | --- | ---
application/json | RestoreAndMountTaskRequest (JSON) | specify details of restore and mount task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created restore and mount task

#### Example

##### Request

    POST /tasks/restore-and-mount
    Content-Type: application/json
    Accept: application/json

    {
      "mode" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/revert

Create snapshot reversion task.

Request Body
media type | data type | description
--- | --- | ---
application/json | SnapshotReversionTaskRequest (JSON) | specify details of snapshot reversion task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created snapshot reversion task

#### Example

##### Request

    POST /tasks/revert
    Content-Type: application/json
    Accept: application/json

    {
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "priority" : 50
    }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/snapshot

Create snapshot task.

Request Body
media type | data type | description
--- | --- | ---
application/json | SnapshotTaskRequest (JSON) | specify details of snapshot task

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | details of newly created snapshot task

#### Example

##### Request

    POST /tasks/snapshot
    Content-Type: application/json
    Accept: application/json

    {
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "priority" : 50
    }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### PUT /tasks/state

Update state of tasks.

Request Body
media type | data type | description
--- | --- | ---
application/json | UpdateTasksStateRequest (JSON) | specify state and tasks to update

#### Example

##### Request

    PUT /tasks/state
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### POST /tasks/tape-manager-inventory

Update tape manager inventory.

Request Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerInventoryRequest (JSON) | specify what to update in inventory

#### Example

##### Request

    POST /tasks/tape-manager-inventory
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 201 Created

### POST /tasks/tape-manager-inventory-sync

Create tape manager inventory synchronization task.

Request Body
media type | data type | description
--- | --- | ---
application/json | TapeManagerInventorySyncTaskRequest (JSON) | specify tape managers for which will be created inventory synchronization task

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | detailed list of inventory synchronization tasks

#### Example

##### Request

    POST /tasks/tape-manager-inventory-sync
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/unmount

Create unmount task.

Request Body
media type | data type | description
--- | --- | ---
application/json | UnmountTaskRequest (JSON) | specify details of unmount task

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | details of newly created unmount task

#### Example

##### Request

    POST /tasks/unmount
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/upload

Request Body
media type | data type
--- | ---
application/json | UploadFilesRequest (JSON)

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) |

#### Example

##### Request

    POST /tasks/upload
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### DELETE /tasks/{guid}

Remove task.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

#### Example

##### Request

    DELETE /tasks/{guid}
    Content-Type: */*

    ...

##### Response

    HTTP/1.1 204 No Content

### GET /tasks/{guid}

Get a single task details.

Request Parameters
name | type | description | default | constraints
--- | --- | --- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect) |  |
extended | query | specify whether to show extended details; with default value false | false | boolean

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | a single task details

#### Example

##### Request

    GET /tasks/{guid}
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### POST /tasks/{guid}

Create tasks from recovery plan.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for recovery plan (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskListRecord (JSON) | list of newly created tasks from specified recovery plan

#### Example

##### Request

    POST /tasks/{guid}
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "progress" : 66.5
    } ]

### POST /tasks/import-for-cloud/per-feature

Create import task for cloud.

Request Body
media type | data type | description
--- | --- | ---
application/json | CloudTaskWithOptionsPerFeatureRequest (JSON) | specify details of import task for cloud

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) | details of newly created import task for cloud

#### Example

##### Request

    POST /tasks/import-for-cloud/per-feature
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### POST /tasks/wizard/inventory-sync

Create inventory synchronization task from configuration wizard.

Request Body
media type | data type | description
--- | --- | ---
application/json | InventorySyncTaskRequest (JSON) | specify hypervisors and hypervisor managers for which will be created inventory synchronization task

Response Body
media type | data type | description
--- | --- | ---
application/json | array of TaskDetails (JSON) |

#### Example

##### Request

    POST /tasks/wizard/inventory-sync
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 201 Created
    Content-Type: application/json

    [ {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    } ]

### PUT /tasks/{guid}/backup-type

Update backup type of task.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | BackupType (JSON) | specify backup type of task to update

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskDetails (JSON) | task details

#### Example

##### Request

    PUT /tasks/{guid}/backup-type
    Content-Type: application/json
    Accept: application/json

    "FULL"

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    {
      "guid" : "f8f73bf9-2445-4bce-a7dd-753be3b40a67",
      "type" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "state" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      },
      "windowStart" : 1451649601000,
      "windowEnd" : 1451677502000,
      "creationTime" : 1451649601000,
      "finishTime" : 1451677502000,
      "progress" : 66.5,
      "priority" : 50,
      "backupType" : {
        "name" : "ENUM_NAME",
        "description" : "Enum description"
      }
    }

### PUT /tasks/{guid}/cloud-progress

Update cloud task progress with processed object count and total object count.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | UpdateTaskProgressRequest (JSON) | specify value of task progress to update

#### Example

##### Request

    PUT /tasks/{guid}/cloud-progress
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### PUT /tasks/{guid}/os-progress

Update os task progress with processed object count and total object count.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | UpdateTaskProgressRequest (JSON) | specify value of task progress to update

#### Example

##### Request

    PUT /tasks/{guid}/os-progress
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### PUT /tasks/{guid}/progress

Update task progress.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | DoubleDTO (JSON) | specify value of task progress to update

#### Example

##### Request

    PUT /tasks/{guid}/progress
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### PUT /tasks/{guid}/restore-host-id

Change restoreHostId for specified Task.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify new restore host id to update

#### Example

##### Request

    PUT /tasks/{guid}/restore-host-id
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### PUT /tasks/{guid}/restore-storage-id

Update restore storage id.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | StringDTO (JSON) | specify restore storage id to update

#### Example

##### Request

    PUT /tasks/{guid}/restore-storage-id
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### GET /tasks/{guid}/state

Get the state of task.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskStatus (JSON) |

#### Example

##### Request

    GET /tasks/{guid}/state
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    { }

### PUT /tasks/{guid}/state

Update state of task.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | TaskState (JSON) | specify task state to update

#### Example

##### Request

    PUT /tasks/{guid}/state
    Content-Type: application/json

    "QUEUED"

##### Response

    HTTP/1.1 204 No Content

### POST /tasks/{guid}/task-files

Update task files of a task

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for recovery plan (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | TaskFilesListRequest (JSON) | specify request containing task files to be updated

#### Example

##### Request

    POST /tasks/{guid}/task-files
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 201 Created

### PUT /tasks/{guid}/transfer-info

Update task transfer info

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | TransferInfoRequest (JSON) | specify transfer info package to update task with

Response Body
media type | data type | description
--- | --- | ---
application/json | object (JSON) | task details

#### Example

##### Request

    PUT /tasks/{guid}/transfer-info
    Content-Type: application/json
    Accept: application/json

    { }

##### Response

    HTTP/1.1 204 No Content
    Content-Type: application/json

    ...

### PUT /tasks/{guid}/transfer-rate

Update task progress.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | DataTransferRateRequest (JSON) | specify value of task transfer rate to add

#### Example

##### Request

    PUT /tasks/{guid}/transfer-rate
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### GET /tasks/{guid}/state/v2

Request Parameters
name | type | description
--- | --- | ---
guid | path |

Response Body
media type | data type | description
--- | --- | ---
application/json | TaskStatus (JSON) |

#### Example

##### Request

    GET /tasks/{guid}/state/v2
    Content-Type: */*
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    { }

### PUT /tasks/{guid}/transfer-rate/incremental

Update task progress.

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Request Body
media type | data type | description
--- | --- | ---
application/json | DataTransferRateRequest (JSON) | specify value of task transfer rate to add

#### Example

##### Request

    PUT /tasks/{guid}/transfer-rate/incremental
    Content-Type: application/json

    { }

##### Response

    HTTP/1.1 204 No Content

### GET /tasks/{guid}/transfer-rate/last

Get last transfer rate of the archived task taken by task

Request Parameters
name | type | description
--- | --- | ---
guid | path | specify local unique identifier for task (use by vProtect)

Response Body
media type | data type | description
--- | --- | ---
application/json | DataTransferRateDetails (JSON) |

#### Example

##### Request

    GET /tasks/{guid}/transfer-rate/last
    Content-Type: application/json
    Accept: application/json

    ...

##### Response

    HTTP/1.1 200 OK
    Content-Type: application/json

    { }