Skip to main content
POST
Tenant credential
Required scopes: media.write.

Authorizations

X-API-Key
string
header
required

Tenant credential. This is sufficient by itself.

Headers

X-PrintTools-Organization-Id
string<uuid>

Tenant credential: optional and, when sent, must equal the shop bound to the key. Partner credential: required; it selects an organisation the user previously authorised.

Idempotency-Key
string

Optional client-generated key for write retries. Reusing it with a different request returns 409; a replay includes Idempotency-Replayed: true.

Required string length: 1 - 200

Body

application/json
kind
string
required
contentType
string
required
contentLength
integer

Size of the file in bytes. Optional for now — omitting it keeps the old behaviour, where nothing bounds how much the presigned PUT may carry. When supplied it is checked against the per-type cap (25 MB image / 100 MB pdf) AND pinned into the signature, so the upload is rejected by S3 unless its Content-Length matches exactly. Send it whenever the size is known.

Response

Successful response.

Every 2xx response uses this envelope.

status
boolean
required

The actual resolver result. It can be false when an operation returns false or null without throwing.

message
string
required
Example:

"OK"

data
object
required