EaserixDocs
DevelopersAPI referenceTasksImports

Cancel an import

Administrators only. An import that has not started is closed at once and its file deleted. One that is running is asked to stop (`cancelRequested`) and does so within a few rows, leaving what it has already written: a later import of the same file finishes the rest without duplicating anything. One that has finished is a 409 `already_finished`. The action is recorded on the security log.

View as Markdown
POST
/v1/imports/{id}/cancel
AuthorizationBearer <token>

In: header

Path Parameters

id*string
Formatuuid

Response Body

application/json

application/json

application/json

application/json

application/json

curl -X POST "https://example.com/v1/imports/497f6eca-6276-4993-bfeb-53cbbbba6f08/cancel"
{  "import": {    "id": "497f6eca-6276-4993-bfeb-53cbbbba6f08",    "teamId": "a4ede8ba-7c0a-4485-8763-cbd9b282fbec",    "source": "csv",    "namespace": "string",    "status": "uploaded",    "fileName": "string",    "fileSize": 0,    "totalRows": 0,    "createdCount": 0,    "skippedCount": 0,    "failedCount": 0,    "cancelRequested": true,    "createdBy": "25a02396-1048-48f9-bf93-102d2fb7895e",    "createdAt": "2019-08-24T14:15:22Z",    "startedAt": "2019-08-24T14:15:22Z",    "finishedAt": "2019-08-24T14:15:22Z",    "retryAfter": "2019-08-24T14:15:22Z",    "undoneAt": "2019-08-24T14:15:22Z",    "undoableUntil": "2019-08-24T14:15:22Z",    "commentCount": 0,    "mapping": {      "v": 1,      "columns": {        "property1": "string",        "property2": "string"      },      "idColumn": "string",      "idAlias": "string",      "people": {        "property1": "string",        "property2": "string"      },      "strict": true,      "sprintDates": {        "property1": {          "start": "2019-08-24",          "end": "2019-08-24"        },        "property2": {          "start": "2019-08-24",          "end": "2019-08-24"        }      },      "linkColumns": [        "string"      ],      "markup": "none",      "commentFormat": "plain",      "completedFallback": "string",      "dateFormat": "iso",      "timezone": "Asia/Kolkata",      "labelSeparator": "str",      "status": {        "property1": {          "stateId": "871bb69c-5872-42b2-88b0-72e9da663aaa",          "create": true,          "type": "backlog"        },        "property2": {          "stateId": "871bb69c-5872-42b2-88b0-72e9da663aaa",          "create": true,          "type": "backlog"        }      },      "priority": {        "property1": 0,        "property2": 0      }    }  }}

Start an import

Step 3 of 3. Administrators only. Queues the import, which a background worker then carries out one row after another (poll `getImport`). The body names the preview that was approved by its `fingerprint`. The plan is built again at this moment, and if anything it depends on has changed (a status deleted, a person added, another import finished) the answer is 409 `plan_changed` with the new plan, and nothing runs. The new plan is kept as the latest preview, so after reading it the caller commits with its fingerprint, without previewing again. Refusals: 409 `preview_first` (not previewed, or already started), `stale_preview` (a newer preview exists), `import_in_progress` (one import runs per team at a time), 422 `nothing_to_import`. The person who commits is the creator of any issue whose row names no creator. The action is recorded on the security log.

Undo an import

Administrators only. Takes away what the import made, and nothing that people have done since. An issue is erased for good (not sent to Recently Deleted) only if nobody has touched it: it was not edited after the import finished, has no comment from anyone but the import, no live attachment and no link added since. Such an issue stays, with the comments the import gave it, and is counted in `keptIssues`. Comments the import added to issues of an earlier import are removed unless someone edited them. The ledger rows of erased issues go with them, so the same file can be imported again, with a corrected mapping, as if the first run had not happened. Statuses, labels and projects the import created are kept. Allowed for 7 days after the import finishes (`undoableUntil`). A 409 says why not: `not_undoable` (not finished), `undo_expired`, or `already_undone` (also what the loser of two simultaneous undos gets). Recorded on the security log.