Skip to main content
POST
Generate a presigned S3 URL for a customer file upload

Authorizations

x-api-key
string
header
default:sfk_your_api_key
required

Storefront API key (sfk_...)

Body

application/json
questionId
string<uuid>
required

ID of the file-upload question the file answers

questionKind
enum<string>
required

Whether the question is a checkout or feedback question

Available options:
checkout,
feedback
filename
string
required

Original filename

Example:

"logo.png"

mime
string
required

MIME type of the file

Example:

"image/png"

size
number
required

Size of the file in bytes

Example:

20480

Response

200 - application/json

Presigned upload URL + file id

fileId
string
required

ID of the created file record (store this as part of the answer)

presignedUrl
string
required

Presigned S3 PUT URL — upload the bytes here with a matching Content-Type

expiresIn
number
required

Seconds until the presigned URL expires

Example:

3600

Last modified on July 26, 2026