DEVELOPER REFERENCE

CAD in your workflow.

One endpoint for viewing, conversion and command-based edits. Your free account includes 100 accepted processing requests per UTC day; all of its keys share this allowance.

Get a free API key

Convert a drawing to PDF

Send the CAD file as the raw request body. Keep your API key on your own server. This is an explicit file upload, unlike the browser workspace’s local processing.

curl --fail-with-body https://cadeditor.io/api/v1/process/ \
  -H "Authorization: Bearer $CAD_API_KEY" \
  -H "User-Agent: CADClient/1.0" \
  -H "Content-Type: application/octet-stream" \
  -H "X-CAD-Operation: convert" \
  -H "X-CAD-Format: pdf" \
  -H "X-File-Name: drawing.dwg" \
  -H "X-File-Size: $(wc -c < drawing.dwg | tr -d ' ')" \
  -H "Idempotency-Key: $(uuidgen)" \
  --data-binary @drawing.dwg \
  --output drawing.pdf

Request options

Use the endpoint’s trailing slash and a User-Agent that identifies your client, especially with Python urllib. Cloudflare may reject generic browser signatures before a request reaches the API.

HeaderValue
X-CAD-Operationview, convert or edit
X-CAD-Formatsvg, pdf, dxf or dwg
X-CAD-OptionsA URI-encoded JSON object. For edit, include a commands array containing CAD command strings.
X-File-NameThe URI-encoded DWG, DXF or DWT file name.
X-File-SizeExact byte length, up to 100,000,000 bytes.
Idempotency-KeyA unique request identifier. Reuse it only for retransmission of the same request.

Results, retries and deletion

A successful response contains the resulting file, with its MIME type and download name. Errors return a JSON error code and explanation; a failed conversion is never represented as an empty successful file.

PDF or SVG output that depends on unresolved external references or image resources returns 422 with MISSING_EXTERNAL_RESOURCES. Resolve or bind these resources in your source CAD application, then export a self-contained drawing and try again. A font-service interruption returns FONT_UNAVAILABLE; retry later with a new request identifier.

Validation failures before processing do not consume a call. Processing failures or cancellations after acceptance do. Retransmissions with the same identifier do not run or charge again within the deduplication window. Once temporary results have been cleaned up, retry with a new identifier to run a new task.

Temporary inputs and outputs are cleaned after the response completes, with bounded cleanup for interrupted requests. API files are not automatically saved to your cloud or shared.

HTTP responses

200: result file · 400/422: invalid file or operation · 401: invalid key · 403: unauthorized · 409: duplicate or conflicting request · 413: file too large · 429: daily allowance reached · 503: processing service unavailable.