POST
/
v2
/
generate-upload-url
curl --request POST \
  --url https://typebot.io/api/v2/generate-upload-url \
  --header 'Content-Type: application/json' \
  --data '{
  "sessionId": "<string>",
  "fileName": "<string>",
  "fileType": "<string>"
}'
{
  "presignedUrl": "<string>",
  "formData": {},
  "fileUrl": "<string>"
}

The presignedUrl and formData fields can be then used to upload the file to the S3 bucket, directly from the browser if necessary. Here is an example:

// data contains the presignedUrl and formData fields from the response

const formData = new FormData()
Object.entries(data.formData).forEach(([key, value]) => {
  formData.append(key, value)
})
formData.append('file', file)
const upload = await fetch(data.presignedUrl, {
  method: 'POST',
  body: formData,
})

Body

application/json
sessionId
string
required
fileName
string
required
fileType
string

Response

200
application/json
Successful response
presignedUrl
string
required
formData
object
required
fileUrl
string
required