Updates
Latest updates and changes to the SmartCut REST API.
SEP 30 2026
- Mayer saws (sawProfileId mayer-may): guillotineOptions.maxPhase now accepts up to 4. The default stays 3 - send 4 to opt in. Each extra phase is one more piece the operator turns and feeds by hand on the PC7000, in exchange for fewer sheets on some jobs. Values above 4 are lowered to 4.
SEP 24 2026
- Results now list every part, including parts cut on stacked sheets. Previously, parts on a stacked sheet that were not copies of the top sheet's parts were missing from the parts array.
- Parts cut on a stack carry a new stacked property - { sheet, of } - where sheet 1 is the top sheet of the stack. Their stock id is the stack's top sheet, which is the entry listed in the stock array.
- metadata.addedPartTally now counts each part once under its own id, rather than the top sheet's parts multiplied by the stack count.
- Fix: machining corners sent as an object keyed side.a - side.d (the previously documented form) were being ignored. They are now applied. The documented form is now an array of { index, type, size }, the same shape the result returns; the object form is still accepted.
- Machining grooves are now documented.
SEP 22 2026
- New saw option minOffcut sets the minimum size for a leftover to count as a reusable offcut, per job.
SEP 21 2026
- The offcuts array now lists every leftover, each with a new retained flag - leftovers below the minimum offcut size are returned with retained: false rather than omitted.
SEP 15 2026
- Each stock's analysis now reports maxPhase - the number of cutting stages that sheet needs - with the highest across the job in metadata.maxPhase.
SEP 7 2026
- Mayer .may export (/v3/export/mayer) is now documented, and includes the part label fields (parts[].labels).
SEP 3 2026
- The MAX models (rectangle-guillotine-max-1 / -2) are now available on guillotine saws as well as beam saws.
AUG 24 2026
- Beam saws now support guillotineOptions.maxPhase: 1 (two-stage cutting).
AUG 18 2026
- Saws can be identified by vendor, model and softwareVersion.
- /v3/calculate and /v3/validate responses now include a warnings array.
- On beam saws, guillotineOptions.strategy 'time' is treated as 'efficiency' - it is a setting for manual table saws.
AUG 17 2026
- Fix: V2 requests now apply saw.options (stackingMode, stockSelection) and stackHeight as sent - previously they were replaced by defaults.
AUG 14 2026
- Parts returned by /v3/model/analysis now include machining holes (position, diameter, depth, face and type).
AUG 13 2026
- New top level materials array. Each material can carry its own saw (or sawId), thicknesses and grain, and parts and stock reference it by materialId.
- saw can now be an array of saws, each with an id. Results return materials and saws, and each stock carries its materialId and sawId.
AUG 11 2026
- New endpoint POST /v3/model/analysis - upload a 3D model (STEP, STL, OBJ, PLY, glTF/GLB) and get back a parts list. The parts array is submittable to /v3/calculate unchanged.
- Shaped parts come back with an outline and holes, ready for a nesting model; fittings are flagged so you can drop them.
- Collada (.dae) and 3MF are not supported server-side and return 415 with a list of the formats that are.
- Billed on the same compute-time meter as a calculation. See the 3D model analysis guide.
AUG 6 2026
- Irregular nesting: new models irregular-nesting-fast, irregular-nesting-max-1 and irregular-nesting-max-2, and parts accept outline and holes geometry.
AUG 3 2026
- Part grain is no longer an input - it is derived from the stock's grain and the part's final rotation.
- rot on result parts is documented as 0 / 1 rather than a boolean.
JUL 28 2026
- New guillotine options verticalPanelSaw and maxStripWidth.
JUL 24 2026
- New metadata.unplacedParts lists every part that could not be placed (id, name, dimensions, material and count).
JUL 23 2026
- V2 parts accept stockLock.
JUL 20 2026
- Results now include calcTime.
JUN 24 2026
- New endpoint GET /v3/saws lists the supported saws with their export formats and endpoints.
- Biesse XML export (/v3/export/biesse) added to the documentation.
- Biesse and Mayer exports take their formatting defaults (decimal precision, and units and currency for Mayer) from the saw profile.
- The MAX models can now be requested through the API with the model field (beam saws, up to 500 parts).
JUN 16 2026
- New model field on /v3/calculate selects the optimisation model - see the API reference for the available models.
JUN 9 2026
- New endpoint POST /v3/validate - check a job without running a calculation. Returns valid, the stage reached and a list of issues (type, category, field, index, identifier and message).
MAY 28 2026
- Parts accept a new labels object for saw label fields: order, room, pallet, colour, drawing, productNumber, productInfo, barcode1 and barcode2. The request also accepts labels.customer.
- /v3/calculate responses include labelWarnings, flagging label fields that the selected saw's export formats cannot carry.
APR 13 2026
- /v3/labels accepts labelW and labelH for a custom label size, and notes to print part notes.
- /v3/export/pdf accepts showDiagram, showCoordinates, showNotes and partAnnotations (each 'y' or 'n').
MAR 11 2026
- Added code property to parts and stock.
- New groups top level property added.
NOV 28 2025
- Added custom data properties to stock & parts.
- Added stock.stack to checkout API V3
- Updated v3/export/ and documentation
NOV 3 2025
- API V3 launched, V1 marked as deprecated.
JAN 31 2025
- For V1 API users, the stockList and partList properties have been removed from the response. Please use the stock and parts properties instead.
DEC 17 2024
- In the PTX file, when no edge banding is present in a part, a blank field will be used rather than the string 'N' - this was causing issues when importing into Magi-Cut.
NOV 9 2024
- Added 'stackingMode' to saw options, which determines how stock will be stacked.
NOV 4 2024
- Use of the 'bandingType' property within each part has been deprecated. Please use the 'banding' attribute instead, which can now accept a boolean or a string value.
- New 'finish' attribute added to parts. This can be used to specify the finish of a part, for example spray paint. Metadata now includes totalFinishArea and finishAreaByType properties to show the total area of parts with a finish applied split by finish type. Each stock also contains a finishArea property within 'analysis'.
FEB 19 2024
- Experimental feature userGroups has been updated. Now uses id and 'direction' rather than id and coordinates. This is a breaking change and will require updates to your code if you were using this feature.
FEB 5 2024
- Roll length in metadata is now total roll length - the key is now 'totalRollLength'
- Stacked cut length and total cuts is now available in metadata and stock analysis
- Beam saw calculations now need a stack height to be set
DEC 11 2023
- Better handling of exports & label files - the file url is now returned in the response body.
- Files in zip format have new filenames - please use the response url.
- Added rollLength to the metadata object in the response.
OCT 25 2023
- Revamp to guillotine and efficiency algorithms.
- Guillotine now supports a second phase of optimization to allow left over parts to be squeezed into offcut positions.
- More information now contained in 'metadata' in the API response.
- Version 2 of the WooCommerce plugin released - greatly improved setup experience and more pricing models.
JUL 2 2023
- Added new options to the saw object to allow further customisation of the cutting process
JUN 13 2023
- Unusable parts are now returned in the results with an explanation of why they couldn't be used
APR 1 2023
Version 2 released
- New schema - please read the updated documentation
- Added the concept of a saw - no need to add blade width & cut preference to each stock individually
- For object based data (for example trim) if no values are set, the object will be replaced with null
- Smaller data payload for faster results
- 20% quicker response times
- Version 1 will continue to be supported
FEB 1 2023
- Added linear offcuts to api result
JAN 20 2023
- Added labels endpoint - create printable labels to keep track of parts and offcuts
JAN 12 2023
- Added grain direction to stock and offcuts
- Added name & thickness to offcuts
NOV 1 2022
- Metered billing now available - no need to worry about setting limits for your plan.
AUG 3 2022
- Updated algorithm for both efficiency & guillotine calculations.
JUL 13 2022
- Launched checkout widget to easily integrate into your e-commerce store.
JUL 5 2022
- Improved status responses:
- 403 for reaching the monthly call limit
- 429 for exceeding the allowed calls per minute
OCT 4 2022
- Added the 'bandingType' attribute to parts
- In the results, the length of each banding type is returned in the 'metadata' object
JUL 3 2022
- Major infrastructure upgrade for better reliability, more capacity and more processing power.
- The original three-tiered plans are now retired. These are treated as legacy plans which will continue to work. Migration to the new monthly plan is recommended.
- All plans are now based on your requirements and billed monthly. This allows much more fine-grained control over every option.
- New configurable values include the number of calls per minute.
- The 'autoAdd' option for stock can now be used for multiple stock items. Previously this was only allowed with a single stock item.
Related
Section titled “Related”- API reference documents the current surface these updates changed.
- Result webhooks covers the delivery mechanism.