Create a part
POST/parts
Creates a pending part and returns a short-lived presigned URL for uploading its CAD file directly to S3. Supported formats include STEP, IGES, Parasolid, SolidWorks, CATIA, and NX part files; see the fileName field for the full extension list.
Upload flow:
POST /partsto create the part and getupload.url.PUTthe raw part file bytes toupload.url.POST /parts/{id}/completeto start processing.
Then poll GET /parts/{id} until status transitions from processing to ready; the ready response carries currentProgramId (the selected auto-created program). A program is auto-created by default. Its cut config is resolved in order: the cutConfigIds you pass (one program per listed cut config); otherwise the default cut config of the project referenced by projectId, when it has one; otherwise the API key creator’s default cut config. Pass autoCreateProgram: false to skip program creation (the part still becomes ready, with currentProgramId null) and create one program yourself via POST /parts/{partId}/programs.
Rate limited to 30 part creations per minute per team, paced at one every 2 seconds. Exceeding the limit returns 429 with a Retry-After header.
Request
Responses
- 201
- 400
- 401
- 403
- 404
- 409
- 429
- 500
- 503
Part created. PUT the part file to upload.url, then call POST /parts/{id}/complete.
Response Headers
URL for polling the new part. Sent on the first response only; idempotent replays return the same body without this header, so prefer data.id.
Invalid request
Missing or invalid bearer token
API key lacks the required scope for this action
Resource not found
Idempotency-Key collision (same key, different body)
Rate limit exceeded
Response Headers
Seconds to wait before retrying. Guaranteed on application-limited responses (POST /parts and POST /parts/{partId}/programs); may be absent on infrastructure-level 429s from other endpoints.
Unexpected server error
Unexpected server error