Guides and workflows
Attach part files
Upload the model and the drawing to a job.
Attach the model and the drawing to the job so we can check the estimate against the real part before we quote or build.
POST
/api/intake/jobs/{id}/filesSend multipart/form-data with one or more fields named files.
curl -X POST https://glyphtech.io/api/intake/jobs/$JOB/files \
-H "Authorization: Bearer $KEY" \
-F files=@bracket.step -F files=@drawing.pdf
Response, 201:
{
"files": [
{ "id": "7d0b2a1e-…", "filename": "bracket.step", "size_bytes": 184320, "content_type": "model/step", "uploaded_at": "2026-10-12T14:05:01.221+00:00" },
{ "id": "9e4a77c0-…", "filename": "drawing.pdf", "size_bytes": 61002, "content_type": "application/pdf", "uploaded_at": "2026-10-12T14:05:01.398+00:00" }
]
}
Limits
| Files per request | 10 |
|---|---|
| Size per file | 25 MB |
| Accepted types | STEP, IGES, STL, 3MF, OBJ, DXF, DWG, PDF, PNG, JPG, ZIP, SolidWorks parts and assemblies, Inventor parts, Fusion F3D, Parasolid, TXT, CSV |
| After payment | Uploads are refused with 409. Contact us to add files to a paid job. |
A file with a problem makes the whole request fail with 400. Nothing from that request is stored.
{
"error": "Some files were rejected.",
"details": [ "firmware.exe: file type .exe is not accepted.", "scan.tif: file type .tif is not accepted." ],
"max_bytes": 26214400
}
Read the files
GET
/api/intake/jobs/{id}/files{ "files": [ { "id": "7d0b2a1e-…", "filename": "bracket.step", "size_bytes": 184320, "content_type": "model/step", "uploaded_at": "2026-10-12T14:05:01.221+00:00" } ] }
The job itself also lists its files under files.
Privacy
Files are stored privately and are visible only to Glyph staff and to your key. They are not served from a public URL.