API V1

Altium rendering API

Authenticate uploads with X-API-Key. Schematic endpoints accept native binary OLE and ASCII SchDoc format 5.0. Separate PCB endpoints accept the diagnosed native PcbDoc V6 subset. Files are parsed asynchronously; HTTP 202 confirms admission, not rendering fidelity.

Upload

POST /api/v1/schematics/render

Multipart fields: file (required), access (private or unlisted; defaults to private), expires_in (optional: -1 for unlimited, or positive seconds bounded by server policy).

Poll

GET /api/v1/schematics/{id}/status

States: queued, processing, completed, failed. Private reads require X-Viewer-Token from the upload response, or the service API key. Completed responses include compatibility and diagnostics.

Retrieve

GET /api/v1/schematics/{id}/data returns the versioned structured document. GET /api/v1/schematics/{id}/svg returns the generated vector drawing.

View

Open the exact viewer_url from the upload response. The private token is in its fragment. It is stored for this browser tab and sent only as a request header. The viewer has no panels or toolbar.

Compare two schematics

POST /api/v1/comparisons (alias /api/compare) accepts multipart old_file and new_file with the same API key. It returns HTTP 202 and a private comparison URL. Poll GET /api/v1/comparisons/{id} using the returned read token for the completed summary and structural changes. Open comparison upload.

Preview a PCB

POST /api/v1/pcbs/render accepts multipart file (.PcbDoc), access and optional expires_in. It returns HTTP 202 with viewer_url, status_url and a private viewer_token when applicable.

Poll GET /api/v1/pcbs/{id}/status. Read GET /api/v1/pcbs/{id}/data or GET /api/v1/pcbs/{id}/svg. The viewer is /view/pcb/{id}.

Compare two PCBs

POST /api/v1/pcbs/comparisons accepts old_file and new_file (.PcbDoc) with the same upload authentication, access and expiry options. Poll GET /api/v1/pcbs/comparisons/{id}. Read GET /api/v1/pcbs/comparisons/{id}/svg/{side}, where side is old or new. Open the returned /compare/pcb/{id}#token=… URL for the side-by-side viewer.

PCB preview and comparison have layer controls behind a menu button. Compatibility is partial: fonts, some native shapes, plane reconstruction and mask expansions have limitations. Structural comparison is not DRC or proof of electrical equivalence. Private reads require X-Viewer-Token or the service key.

Unlimited links and Share

All upload operations accept expires_in=-1 to retain files and links without automatic expiration. Responses use expires_at: -1. Zero and lower negative values are invalid. The Share button provides an iframe snippet containing the complete viewer URL, including a private read token when applicable. Sharing that code grants read access. Embedding remains restricted to this service and https://git.sadentel.net.

Errors

JSON errors include success: false and error.code / error.message. Common HTTP codes: 401 invalid service key; 404 missing or inaccessible schematic; 409 still processing; 410 expired; 413 too large; 415 wrong extension; 422 invalid schematic; 503 storage unavailable or queue full.

Download OpenAPI schema · API playground and file upload