Skip to main content
POST
Get a presigned upload URL for a feedback attachment (MNE-1659)

Authorizations

Authorization
string
header
required

Supabase JWT token in Authorization: Bearer header

Body

application/json
content_type
enum<string>
required

MIME type of the attachment. Must match migration 397's feedback_attachments_content_type_ck exactly.

Available options:
image/png,
image/jpeg,
image/webp,
video/webm,
video/mp4
size_bytes
integer
required

Declared size in bytes; 25MB cap. Advisory only — R2 does not enforce this against the actual PUT.

Required range: 1 <= x <= 26214400

Response

Presigned upload URL issued.

attachment_id
string<uuid>
required

Pass this in POST /feedback's attachment_ids to bind it.

upload_url
string<uri>
required

Presigned R2 PUT URL. PUT the raw bytes here directly.

method
string
required
Allowed value: "PUT"
headers
object
required

Headers the client must send with the PUT (Content-Type).

expires_in
integer
required

Seconds until the presigned URL expires.