Skip to content

The import’s files

GET
/orgs/{org}/imports/{id}/files
curl --request GET \
--url https://api.sloose.com/orgs/org_9f3c/imports/imp_4d1a/files \
--header 'Authorization: Bearer <token>'

The files this import holds that are an upload in progress or stored (not removed, not being deleted), with the facts recorded of each: state, size, type read from the content, SHA-256 and whether storage verified it. No names: the server stores none. A run’s file index is made from this and the sheet, and an import opened again finds the reservations it left. Paged, never cut: ?limit= (at most 1,000, default 1,000) and ?after= the next of the page before, which is null on the last. A file’s dueAt is when the sweep may take it: for an upload in progress it moves on with every link signed, so one that has passed is an upload nobody is sending.

org
required

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

string
Example
org_9f3c

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

id
required

The import id.

string
Example
imp_4d1a

The import id.

limit
integer
>= 1 <= 1000
after
string
<= 64 characters

The files.

Media typeapplication/json
object
files
required
Array<object>
object
id
required
string
state
required
string
Allowed values: reserved committed attached removed deleting
size
required

The stored size in bytes, read from storage at commit; null until then.

integer | null
declaredSize
required
integer
contentType
required

Read from the file’s first bytes by the server, never from its name or the browser’s claim.

string | null
sha256
required

The content’s SHA-256 (base64), as the browser said it. See sha256Verified.

string | null
sha256Verified
required

True where storage checked it (a single signed PUT); false where it is the browser’s claim (a multipart file, whose parts are each verified by their MD5).

boolean
dueAt
required

When the sweep may take the file. For an upload in progress it moves on with every link signed: one that has passed is an upload nobody is sending.

string | null
createdAt
required

When the file was reserved (ISO 8601, UTC): a reservation never finished is told by how old it is.

string
next
required
string | null
Example
{
"files": [
{
"state": "reserved"
}
]
}

No bearer, or one that no longer resolves: a session that is unknown or expired (code: AUTH_REQUIRED), or an API token that was revoked or expired (TOKEN_REVOKED, TOKEN_EXPIRED), whose organisation is gone (ORG_NOT_FOUND) or whose member or user row is (MEMBERSHIP_GONE).

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 (code: ROLE_REQUIRED), or it was issued for a different organisation; the organisation has been closed (code: ORG_CLOSED, either kind of bearer); the person is banned (code: BANNED, a session); or it is a session that is signed in but in no organisation (code: NO_ORG): one that never joined one, or whose person was taken out of the one it was in, or left it. Signing in again changes nothing for NO_ORG; choosing or making an organisation does.

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.

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 restore switch is on (code: MAINTENANCE): every route but /health and /robots.txt is refused before anything is read, except the operator’s own POST /staff/people/{id}/delete with the ADMIN_TOKEN. Sloose is down for maintenance. Please try again in a few minutes.

Media typeapplication/json
object
error
required
string
code
required
string
Allowed value: MAINTENANCE
Example
{
"code": "MAINTENANCE"
}
Retry-After
integer

Seconds until asking again is worth it (300 while the switch is on).

Report a problem with this page

sloose.com