Skip to main content

Create a program

POST 

/parts/:partId/programs

Creates one Program for the URL part using either the supplied cutConfigId or, when the body is omitted/empty/null, the API key creator’s default cut config and its linked tool libraries. Requires the Part’s feature detection to be complete — returns 409 Conflict if GET /parts/{partId} has not yet reported status: "ready". Auto-creates a Project named API: <part-name> (<timestamp>) on first call so the Part becomes visible in the Toolpath web UI; subsequent calls for the same Part reuse the existing Project. Engine strategy runs asynchronously; poll GET /parts/{partId}/programs/{programId} until status transitions from processing to ready or failed.

Rate limited to 30 program creations per minute per team, paced at one every 2 seconds, independent of the POST /parts quota. Exceeding the limit returns 429 with a Retry-After header.

Request

Responses

Program accepted for processing. Poll GET /parts/{partId}/programs/{programId} until status is ready.

Response Headers
    Location

    URL for polling the new program. Sent on the first response only; idempotent replays return the same body without this header, so prefer data.id.