Skip to main content
POST
/
documents
/
upload-url
Create a presigned upload ticket
curl --request POST \
  --url https://api.sftpsync.io/documents/upload-url \
  --header 'Content-Type: application/json' \
  --header 'x-api-key: <api-key>' \
  --data '
{
  "connectionId": "<string>",
  "filename": "<string>",
  "size": 123,
  "path": "<string>",
  "contentType": "<string>",
  "force": true
}
'
{
  "path": "<string>",
  "url": "<string>",
  "headers": {},
  "uploadId": "<string>",
  "parts": [
    {
      "partNumber": 123,
      "url": "<string>"
    }
  ],
  "partSize": 123
}

Authorizations

x-api-key
string
header
required

Body

application/json
connectionId
string
required
filename
string
required
size
integer
required

File size in bytes (decides single vs multipart).

path
string

Destination folder relative to the connection root (empty = root).

contentType
string
force
boolean

Response

Upload ticket

Presigned upload ticket. mode=single → PUT the whole file to url; mode=multipart → PUT each part to parts[].url then complete with uploadId + ETags.

mode
enum<string>
required
Available options:
single,
multipart
path
string
required
url
string<uri>
headers
object
uploadId
string
parts
object[]
partSize
integer