Skip to content

A run’s rows with their results

GET
/orgs/{org}/imports/{id}/results.csv
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.

org
required

The org id the session was issued for. A token for one org can never read another.

string
Example
org_9f3c

The org id the session was issued for. A token for one org can never read another.

id
required

The import id.

string
Example
imp_4d1a

The import id.

run

The run, from GET /orgs/{org}/imports/{id}/runs. Required.

string

The run, from GET /orgs/{org}/imports/{id}/runs. Required.

source

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.

string

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.

The rows with their results.

Media typetext/csv
string

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).

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

No bearer, or one that is expired, revoked or no longer resolves to a member.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

The bearer’s role is too low, or it was issued for a different org.

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
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).

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
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).

Media typeapplication/json

The error envelope every non-2xx answer uses.

object
error
required

Human-readable explanation.

string
code

Machine-readable reason. Absent on a few legacy 400s.

string
key
additional properties
Examplegenerated
{
"error": "example",
"code": "example"
}

Report a problem with this page