A run’s rows with their results
const url = 'https://api.sloose.com/orgs/org_9f3c/imports/imp_4d1a/results.csv';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://api.sloose.com/orgs/org_9f3c/imports/imp_4d1a/results.csv \ --header 'Authorization: Bearer <token>'The file a run read, as a CSV a spreadsheet opens: the file’s own columns, then what the run did with each row — Result (Written, Failed, No answer for a write that was sent and never answered, Skipped, Written before for a retry’s row an earlier run in its chain made, Excluded for a row the cleaning struck out), one <module> record column per module with the record’s id, and Error — which also says when a create was sent before and never answered, since it may have made the record: one made after it may exist twice, so look for a duplicate; and what each search lookup came to where it was not one record — the link left empty, the first or a chosen record linked, or the record skipped for it — in the words the page’s own results file uses. Modules and lookup fields are named as the connection names them. A column of the file already called one of these keeps its name, and the run’s is prefixed Sloose: . A cell a spreadsheet would run as a formula — one beginning =, +, - or @, a plain number aside — is written with an apostrophe in front, so opening the file runs nothing somebody uploaded. Every row the file read, in order, so line N under the header is row N (RowNumber); a row the run has no record of — held back by the row filter, outside the rows the run was given, or not reached before it stopped — has its values and no result. Read from the run’s snapshot (the file, its reader’s options and its cleaning as they were when the run was authorised), never from the import as it is now, so an old run’s file pairs its outcomes with the rows that produced them. A run that read several files needs source. Any member of the org may read it.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Path Parameters
Section titled “Path Parameters”The org id the session was issued for. A token for one org can never read another.
Example
org_9f3cThe org id the session was issued for. A token for one org can never read another.
The import id.
Example
imp_4d1aThe import id.
Query Parameters
Section titled “Query Parameters”The run, from GET /orgs/{org}/imports/{id}/runs. Required.
The run, from GET /orgs/{org}/imports/{id}/runs. Required.
Which of the run’s files, by source id: required when the run read more than one, since two files have different columns and each row is its own file’s.
Which of the run’s files, by source id: required when the run read more than one, since two files have different columns and each row is its own file’s.
Responses
Section titled “Responses”The rows with their results.
No run was named (RUN_REQUIRED), or the run read several files and none was named (SOURCE_REQUIRED, with sources: each one’s id and label).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}No bearer, or one that is expired, revoked or no longer resolves to a member.
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}The bearer’s role is too low, or it was issued for a different org.
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}No such import (IMPORT_NOT_FOUND), run of it (RUN_NOT_FOUND) or file of that run (SOURCE_NOT_FOUND).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}Nothing to pair: a dry run writes nothing (DRY_RUN), and a run that stored no file for it has nothing to read again (NO_FILE). Or the file cannot be read: it is no longer in storage (FILE_GONE), it will not read under its options (UNREADABLE — a row of more than 1,048,576 characters in its cells, or more than 16,384 cells, among them), its options were written by a newer build than this one (FROM_FUTURE), it is a workbook whose XML unpacks to more than the server reads whole (WORKBOOK_TOO_LARGE, with unpacked and limit in bytes), or this deployment has no storage for imports (NOT_CONFIGURED). Or the run’s records are being moved to storage as they are read and have not settled (RECORDS_MOVING — ask again in a minute). Or its results are too large to make on the server: what the file’s rows, the modules its run wrote, their patches and their messages take, with the file’s cleaning and what reading its widest row takes, past the 64 MB the server sets aside for one (RESULTS_TOO_LARGE, with rows, and bytes against the limit).
The error envelope every non-2xx answer uses.
object
Human-readable explanation.
Machine-readable reason. Absent on a few legacy 400s.
Examplegenerated
{ "error": "example", "code": "example"}