Skip to main content

CAD - execute compound (parallel) operations

POST 

/api/v1/cad/compound

Runs several independent CAD operations in parallel as one compound task. Each sub-operation is executed on its own and produces its own downloadable result, so use this when the operations do not depend on each other - for a sequence where each step consumes the previous one's output, use the chained pipeline endpoint instead. Returns 202 with a compound task id; poll it and download the per-sub-task manifest when it completes.

Request

Responses

Compound task accepted

Reference

POST /api/v1/cad/compound

Runs several independent CAD operations in parallel as one compound task. Each sub-operation is executed on its own and produces its own downloadable result, so use this when the operations do not depend on each other - for a sequence where each step consumes the previous one's output, use the chained pipeline endpoint instead. Returns 202 with a compound task id; poll it and download the per-sub-task manifest when it completes.

Request body

Content type: application/json (required)

FieldTypeRequiredDescription
parallelbooleanyesMust be true - signals that items should be processed concurrently
itemsarray of objectyesList of independent CAD operations to execute in parallel. Each item becomes a sub-task.
items[].operationstringyesFully-qualified CAD operation identifier. Supports OCCT, Manifold, JSCAD, and vector/math operations.
items[].paramsobjectnoOperation-specific parameters for this sub-task
items[].inputFilesarray of objectnoReferences to previously uploaded files to be used as inputs for this operation
items[].inputFiles[].fileIdstringyesID of a previously uploaded file (from POST /files/upload)
items[].inputFiles[].rolestringyesRole identifier for the file (e.g. 'step-model', 'coordinates-csv')
items[].outputFormatsarray of stringnoPer-item output format overrides. If omitted, the task produces raw result data.

Responses

StatusDescription
202Compound task accepted
400Validation error
500Server error

Example request

curl -X POST "https://api.bitbybit.dev/api/v1/cad/compound" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{ ... }'

Authentication: send your key in the x-api-key header. The full machine-readable specification is at openapi.json.