Exports
Vendor file & PDF report.
Produce a downloadable artifact from a project's current committed version: the native vendor file (Rockwell .L5X or Siemens TIA .zip), or a PDF documentation report. Exports run as async jobs.
The async pattern
Start a job, poll it to a terminal state, then download the artifact. PLC export needs export_plc; PDF needs export_pdf. Both POSTs require an Idempotency-Key.
| Step | Call |
|---|---|
| 1. Start | POST /projects/{id}/exports/plc (or /exports/pdf) → { exportId, status } |
| 2. Poll | GET /exports/{exportId} → status; when complete, carries download_url + filename |
| 3. Download | GET /exports/{exportId}/download → the artifact bytes |
python
job = client.export_plc("prj_…") # or client.export_pdf(...)
done = client.wait_for_export(job.export_id)
artifact = client.download_export(done.export_id)
open(done.filename, "wb").write(artifact)csharp
var job = await client.ExportPlcAsync("prj_…"); // or ExportPdfAsync(...)
var done = await client.WaitForExportAsync(job.ExportId);
byte[] artifact = await client.DownloadExportAsync(done.ExportId);
File.WriteAllBytes(done.Filename!, artifact);The PDF is a server-assembled "report" (parsed structure + analysis results) — it does not include in-app chat history. PLC export emits the current committed version as-is; to export edits, save them first with a new version.