Skip to main content
POST
/
api
/
v1
/
public
/
assets
/
upload-request
Request a presigned asset upload
curl --request POST \
  --url http://localhost:3001/api/v1/public/assets/upload-request \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "filename": "<string>",
  "contentType": "<string>",
  "size": 123,
  "assetType": "content-image"
}
'
{
  "assetId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "uploadUrl": "<string>",
  "headers": {},
  "expiresAt": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://segmentflow.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-api-key
string
header
required

Body

application/json
filename
string
required
Required string length: 1 - 255
contentType
string
required
Required string length: 1 - 127
size
integer
required
Required range: x <= 9007199254740991
assetType
enum<string>
default:content-image
Available options:
content-image,
content-document,
lead-magnet

Response

Default Response

assetId
string<uuid>
required
Pattern: ^([0-9a-fA-F]{8}-[0-9a-fA-F]{4}-[1-8][0-9a-fA-F]{3}-[89abAB][0-9a-fA-F]{3}-[0-9a-fA-F]{12}|00000000-0000-0000-0000-000000000000|ffffffff-ffff-ffff-ffff-ffffffffffff)$
uploadUrl
string<uri>
required
headers
object
required
expiresAt
string<date-time>
required
Pattern: ^(?:(?:\d\d[2468][048]|\d\d[13579][26]|\d\d0[48]|[02468][048]00|[13579][26]00)-02-29|\d{4}-(?:(?:0[13578]|1[02])-(?:0[1-9]|[12]\d|3[01])|(?:0[469]|11)-(?:0[1-9]|[12]\d|30)|(?:02)-(?:0[1-9]|1\d|2[0-8])))T(?:(?:[01]\d|2[0-3]):[0-5]\d(?::[0-5]\d(?:\.\d+)?)?(?:Z))$