Skip to main content
POST
Sign a direct upload

Authorizations

Authorization
string
header
required

A member credential in the Authorization: Bearer header: a member session JWT, a portal JWT whose login is linked to a membership in that company, or an opaque member token. The credential alone identifies the member and company.

Body

application/json

The file about to be uploaded.

content_type
string
required

MIME type of the file, containing at least one non-whitespace character and no NUL.

Required string length: 1 - 255
Pattern: ^[^\u0000]*[^\u0000\u0009-\u000D\u0020\u0085\u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000][^\u0000]*$
filename
string
required

Original file name, containing at least one non-whitespace character and no NUL; it is sanitized and prefixed to keep paths unique.

Required string length: 1 - 255
Pattern: ^[^\u0000]*[^\u0000\u0009-\u000D\u0020\u0085\u00A0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000][^\u0000]*$
byte_size
integer

Size in bytes. When given, the stored file must match it exactly.

Required range: x >= 1

Response

The signed upload.

One signed upload.

status
integer
required

HTTP response status.

data
object
required

A signed direct upload. POST the file as multipart form data to url, sending every entry of fields unchanged plus the file as file, before expires_at. Then create the medium with upload_id.

meta
object
required

Envelope metadata present on every response.