assets:write scope.
Upload an input
1
Start the upload
POST /v1/inputs/upload-url with content_type, file_name and size, plus sha256 if you have it. The same file in the same workspace is stored once: when the response says exists is true, skip the PUT.2
PUT the bytes
PUT the file to upload_url with the returned headers.3
Confirm
POST /v1/inputs/confirm with the input’s url. It runs moderation and reads the file’s facts. A blocked file is deleted and the call returns 422.url as a media input, {"url": "..."}, to Start a tool run. Only image, video and audio files are accepted, with the same size caps as asset uploads.
Upload from a device
When the file is on a person’s device rather than your server,POST /v1/upload-sessions with a projectId creates a 30-minute upload page. Give the returned url to the person, who must be signed in to Flowy as the same account. Poll GET /v1/upload-sessions/{uploadId} for the files they add, and record where you placed them on a canvas with PATCH /v1/upload-sessions/{uploadId}/nodes.