Managing Files
This guide covers the file lifecycle: how you upload a 3D model, find files you've uploaded before, pull one back down, or delete it. Every request needs your API token from the Quick Start in the Authorization: Bearer ... header.
Supported formats
You can upload .stl, .obj, .3mf, .amf, .step, and .stp files, up to 200 MB each. Filenames cannot contain \ / { } ^ % [ ] " < > ~ # | & $ @ = ; : + ? , ' ( ) !.
Upload a file
POST /v1/file accepts a single multipart/form-data field named file. The response gives you the file_id you'll plug into every quote request.
You get back { file_id, file_name, file_path, file_size, status, timestamp, user_id }. Hold onto file_id โ it's required to create a quote.
List your files
GET /v1/file returns every file you've uploaded, newest first.
Each record has the same fields as the upload response, plus an id for the upload record itself.
Download a file
GET /v1/file/{file_id} streams the original binary back. Write it to disk or pipe it wherever you need it.
Delete a file
DELETE /v1/file/{file_id} removes the file from storage.
Deleting a file cascades โ any quotes generated from it are deleted too. There's no undo.
Advanced: pre-signed upload links
When you can't (or don't want to) ship your API token to the uploader โ for example, a browser drag-and-drop โ generate a one-time upload session instead. GET /v1/file/upload-id returns an upload_id good for one hour. The uploader then POSTs the file to /v1/file/public/{upload_id} with no auth header.
This is the same two-step flow the Cloud Slicer quote widget uses to accept uploads from anonymous visitors on your site.
Once you have a file_id, head to Creating Quotes.