Skip to main content
POST
Create an upload URL

Authorizations

Authorization
string
header
required

An API key from Settings → API keys in Arcade Studio.

Body

application/json
requestId
string
required

Caller-chosen idempotency key; a replay returns the original result

Required string length: 1 - 128
mediaType
enum<string>
required

Content-Type of the file; references.create checks the bytes

Available options:
image/gif,
image/jpeg,
image/png,
image/webp
byteLength
integer
required

Declared file size, at most 10 MiB. The URL does not bind the size; references.create checks the stored bytes.

Required range: -9007199254740991 < x <= 10485760

Response

200 - application/json

OK

uploadId
string
required

From createUpload; valid only for the caller that created it

Pattern: ^([0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12})\.(gif|jpg|png|webp)$
uploadUrl
string<uri>
required

Signed URL to PUT the file bytes to. Host not guaranteed.

method
any
required
requiredHeaders
object
required

Headers the PUT must send exactly; the signature binds them

expiresAt
string<date-time>
required

The URL is rejected after this time