Skip to main content

Doc Changelog

Recent changes to the Pico API and documentation, grouped by application release version and listed newest first.


26.22

  • stationIds and stationLineIds are now available on operationOrderSave — Optional lists restricting where an order may be built: specific stations, or any station assigned to a listed station line. See the Work Order Integration guide and ERP Example Calls for usage.
  • New stationLines query — Look up the station and station line IDs accepted by stationIds and stationLineIds, with each station's name nested under the line it is assigned to. Stations belonging to no line are returned in unassignedStations, so every station appears exactly once.

New ERP Mapping UI — public API for mapping ERP operations and consumed serials onto Pico operations and attributes marked as consumed serials:

  • New erpOperationsSave mutation — Batch-ingest ERP operations with sub-operations, quantities, and consumed serials.
  • New erpOperations query — Read back ERP operations with their Pico mapping result (mappings, consumedSerials, consumedSerialMappings).
  • ConsumedSerial gains resultId and attrId — Unique id and process-scoped attribute id on completion/progress events; the old id is deprecated.
  • Guides updated for the ERP Mapping UI — Work Order Integration now leads with the operation-mapping prerequisite (Mapping UI or matching in your own code), and the FAQ and ERP Example Calls follow the same flow.

26.20

  • New operationOrderProgressStream subscription — Per-completion progress feed for operation orders. Emits one event for each process or subassembly completion within an order. See the Subscriptions guide for examples.
  • New operationOrderProgress query — Query the same per-completion progress events historically with where and order filtering.
  • order relationship on OperationOrderComplete — Access the full OperationOrder (with operation) via order. The top-level operation field is deprecated in favor of order.operation.
  • isProcess on Operation — Boolean distinguishing processes (leaf nodes) from assemblies (workflows).
  • cycleTimeDays on State — Per-build cycle time in days, available via endState.cycleTimeDays.

26.18 — June 2026

  • Added Python (requests) examples alongside cURL on the ERP Example Calls guide — readers can switch every example between cURL and Python with a per-page language selector
  • Operation.consumedSerials now returns ConsumedSerialAttribute — Replaces the previous Attribute type. Each entry now includes a quantity (how many times the serial is captured within the operation) and a nested attr with name and externalId. Top-level name and externalId are deprecated in favor of attr.
  • ConsumedSerial on completion events now includes attr — Nested Attribute with name, externalId, and process for debugging. Top-level externalId is deprecated in favor of attr. Map consumed serials back to serialized parts in your ERP when you sync operations so completion events can be processed without additional lookups.
  • Deprecated fields are grouped in the generated API docs.
  • Added new Work Instructions API guide (alpha) for programmatically creating processes, products, and stations with work instructions
  • Added new Media Upload API guide (alpha) for uploading images and videos via HTTP for use in work instructions
  • New GraphQL mutations: processCreate, productCreate, stationCreate

26.15 — April–May 2026

  • operationSummary.cycleTime is now available - Total active build time as Float! in days (previously flagged as unimplemented). Surfaced on OperationOrderComplete events. (26.15.01, April 2026)
  • Added new ERP Integration FAQ guide covering common integrator questions across data model, operation order lifecycle, real-time events, production data, inventory, reliability, and scope/limitations (26.15.01, April 2026)
  • Added Event Identity and Deduplication section to the Subscriptions guide with per-stream unique-identity and cursor/timestamp fields (26.15.01, April 2026)
  • Documented Server-Sent Events (SSE) as a first-class subscription transport alongside WebSocket and webhooks in the Subscriptions guide (26.15.01, April 2026)
  • Added new ERP Example Calls guide with ready-to-use cURL examples for the full work order lifecycle (26.15.01, April 2026)
  • Added responseFragment guidance and complete example for webhookSubscribe (26.15.01, April 2026)
  • Added webhook delivery and retry behavior documentation (26.15.01, April 2026)
  • Fixed endState nesting in subscription examples (was incorrectly shown inside operationSummary) (26.15.01, April 2026)
  • Added authentication prerequisite link to Work Order Integration guide (26.15.01, April 2026)
  • Fixed webhookUnsubscribe response message in examples (26.15.01, April 2026)
  • secondaryExternalOrderId is now available on operationOrderSave — Optional secondary external identifier, stored alongside externalOrderId and echoed back on OperationOrderComplete. (26.15.07, May 2026)
  • reservedSerialNumber is now available on operationOrderSave — Optional serial number reservation, stored on the resulting work order. Echoed back on OperationOrderComplete. Distinct from endState.producedSerial, which is the serial captured during execution. (26.15.07, May 2026)

26.13 — March 2026

  • operationOrderCancel is now available - Cancel unstarted work orders. See the ERP Example Calls guide for usage.
  • Added cancelAll field to OperationOrderCancelInput for canceling all order indexes at once