Skip to content

Ask for the URL of one part

POST
/orgs/{org}/imports/{id}/files/{fid}/parts
curl --request POST \
--url https://api.sloose.com/orgs/org_9f3c/imports/imp_4d1a/files/fil_7c2e/parts \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "part": 1, "md5": "example" }'

For a multipart upload: the signed URL one part is PUT to, once the browser has the part’s Content-MD5, which is signed in so storage verifies the part’s bytes and refuses a part that does not match. Parts are numbered from 1 to parts. The URL lives minutes and is for this part of this upload only.

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.

fid
required

The file id.

string
Example
fil_7c2e

The file id.

Media typeapplication/json
object
part
required
integer
>= 1
md5
required

The part’s MD5, base64.

string
Examplegenerated
{
"part": 1,
"md5": "example"
}

Where to PUT the part.

Media typeapplication/json
object
url
required
string
headers
required

Headers to send on the PUT exactly as given: they are part of the signature, and storage refuses a request without them.

object
key
additional properties
string
expiresInSeconds
required
integer
Examplegenerated
{
"url": "example",
"headers": {
"additionalProperty": "example"
},
"expiresInSeconds": 1
}

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 role or session. Like every route behind a session: a session signed in but in no organisation is refused code: NO_ORG, a banned person code: BANNED, and a closed organisation code: ORG_CLOSED.

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 or file.

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 file is not an upload in progress (FILE_NOT_RESERVED), or has no multipart upload (NOT_MULTIPART).

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"
}

A part number outside the file’s parts (PART_OUT_OF_RANGE).

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