Skip to main content
POST
Create a presigned upload URL

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

X-Session-ID
string

Optional client session identifier.

Body

application/json
filename
string
required

Filename to upload. Sanitized server-side; the response echoes the stored name.

Required string length: 1 - 512
size
integer<int64>
required

Exact file size in bytes. The presigned URL binds this length, so the PUT body must match it.

Required range: x >= 0
content_type
string

Optional MIME type recorded on the object.

Maximum string length: 255

Response

Presigned upload URL.

expires_in_seconds
integer<int64>
required

Seconds until the presigned URL expires.

max_object_bytes
integer<int64>
required

Per-file upload size limit in bytes.

name
string
required

Sanitized filename the upload will be stored and listed under.

url
string
required

Presigned S3 PUT URL. Upload the raw file bytes to this URL with an HTTP PUT (no Authorization header); the body must be exactly the declared size.

$schema
string<uri>
read-only

A URL to the JSON Schema for this object.

Example:

"https://alpha.api.trycaesar.com/FilePresignResponse.json"