Reserve signed uploads in bulk
Changed onReserves up to 25 signed uploads in one request — the batch counterpart of POST /assets with source="signed-url", counted once against the workspace's rate limit instead of once per file. workspace_id, project_id and folder apply to every upload; an upload's own folder overrides the shared one. Each entry in assets echoes its index and carries either the single reservation's fields (asset_id, upload, upload_url, expires_at, url) or ok false with an error; a failed entry, such as an unsupported content_type, never stops the rest. GLB entries require project_id and exact size_bytes. A workspace this credential cannot write, or a project_id outside the workspace, fails the whole request. Upload each file's bytes using the returned descriptor: existing formats use multipart POST, while GLB uses raw-byte PUT to its resumable session. Then finish them in one call with POST /assets/complete. As on the single reservation, project_id associates each asset with a project; supported static media are surfaced on its canvas, while GLB Model3D assets are not auto-placed. Mutating public API requests support an optional Idempotency-Key header for client retries; duplicate keys within two hours return idempotency_duplicate, and a batch whose every entry was rejected releases its key (see the Idempotency guide).
Request
- Base URLhttps://app.flora.ai/api/v1
- URLhttps://app.flora.ai/api/v1/assets/reserve
- AuthHTTP bearer
Request body
Example request
{
"workspace_id": "ws_abc123",
"project_id": "prj_abc123",
"folder": "campaign-assets",
"uploads": [
{
"file_name": "hero.png",
"content_type": "image/png",
"folder": "campaign-assets"
}
]
}Response
Uploads reserved; each entry reports its own outcome.
Example response
{
"assets": [
{
"asset_id": "asset_abc123",
"workspace_id": "ws_abc123",
"upload_url": "https://storage.googleapis.com/flora-user-assets"
}
]
}Changes
- warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status - warning
added the new
not_configuredenum value to the/response property for the response status
- warning
- breaking
the
///response's property type changed fromobjectto no type for status - breaking
removed the required property
////from the response with the status - breaking
removed the required property
////from the response with the status - breaking
removed the required property
////from the response with the status - breaking
removed the required property
////from the response with the status - breaking
removed the required property
////from the response with the status - info
added the new optional request property
// - info
added
subschema #1subschema #2to the///response propertyanyOflist for the response status
- breaking