1. Enable Storage In floo.app.toml
2. Ship The First Deploy
3. Verify The Env Vars
When Floo-managed storage is provisioned for an app, the backend injects:STORAGE_BUCKET— the name of the provisioned storage bucketSTORAGE_URL— the signed URL API endpoint your app POSTs to for time-limited upload/download URLs
4. Use Signed URLs In App Code
Your app never talks to the storage provider directly. Instead, POST toSTORAGE_URL to get a time-limited signed URL, then upload or download using that URL.
The signed URL endpoint requires your Floo API key — call it from your backend, not from browser code.
Request shape:
"method": "PUT" for uploads and "method": "GET" for downloads. content_type is required for PUT requests. The response includes a url field your app uses for the actual transfer.
5. Debugging Checklist
If uploads or downloads fail:- missing env vars
- wrong bucket name assumptions in code
- signed URL request failures or expiration errors in runtime logs
Managed Services Setup
See the exact
floo.app.toml shape for storage and other managed services.Environment Variables
See how env inspection works after the bucket is provisioned.