Skip to main content
Glama

CutOptim Engine

Optimize 2D panels

optimize_2d

Metered: one Engine API call. Cut rectangular parts from sheets (panels, plywood, glass, sheet metal) and get the layout, cut plan and yield. 2D panel optimization. Nest rectangular parts into rectangular sheets. Returns the placement of every part, the remaining offcuts, the guillotine cut plan and the yield metrics. Parts named in matchedSets (grain matching) are cut side by side from one piece of board, one kerf apart; each placed member says which set and position it is.

Input Schema

NameRequiredDescriptionDefault
partsYes
stockYes
engineNoWhich optimizer to run. `heuristic` is the guillotine multi-strategy packer: highest yield, every layout edge-to-edge saw-cuttable, always a full `cutPlan`. `balanced` is a MaxRects free-nesting packer: much faster on large jobs for a small yield cost, but its layouts are often not guillotine (`guillotineValid: false`, `cutPlan: null`), and it does not model `tolerance`, `minimizeCost`, `grainGroup`, `maxCutStages` or `minimizeRotations` — set one of those and a string in `warnings` tells you it was ignored. `max` is the ASYNCHRONOUS tree-search tier (2D only): it reaches the proven optimum on far more jobs at the cost of seconds-to-a-minute per solve, so instead of a plan it returns **202** with a `jobId` — poll `GET /v1/jobs/{id}` for the result. Still deterministic and guillotine-valid. Where the tier is not enabled on a deployment, `engine: "max"` fails closed with **503**. **What `max` models.** It packs ONE stock format at full sheet size with unlimited supply and a fixed 3-stage guillotine pattern. Anything that would make the returned plan physically WRONG is therefore REFUSED with **400** at submission — before a call is reserved and before you wait for the solve: a second `stock` row, `options.trim`, `options.respectStock`, any `material`, any `grainGroup`, a non-empty `matchedSets` (an empty one is fine). Options that only make the plan less tuned are accepted and listed in `warnings`: `tolerance`, `minimizeCost`, `maxCutStages` (fixed at 3), `minimizeRotations`, `firstCut`, `effort`. A `max` result reports no `offcuts`. Send those jobs to `heuristic`. The default never changes silently.heuristic
includeNoThree kinds of token. NARROWING (`cutPlan`, `offcuts`): omit the field entirely to get both; a present array keeps only the narrowing tokens it lists (an empty array drops both). ADDITIVE EXPORT (`svg`, `csv`, `dxf`): each adds an inline export STRING to the response (`svg` a standalone 2D layout — 2D only, a warning is returned for 1D/wood; `dxf` an R12/AC1009 drawing; `csv` a cut list, RFC 4180 quoted (a part name with a comma or a quote stays one field) and formula-injection-guarded (a name beginning with `=`, `+`, `-`, `@`, TAB or CR is prefixed with an apostrophe so a spreadsheet reads it as text, not a formula — CWE-1236). 2D DATA (`labels`, `planHash`, `pdf`, `labelsPdf`): `labels` adds per-piece label data (`labels[]`, see `Label2D`), `planHash` a 64-hex fingerprint of the plan (the same plan always gives the same hash), `pdf` the cutting-plan PDF and `labelsPdf` the label PDF, both base64-encoded and drawn by the same code as the CutOptim app. These four are 2D only: a 1D or wood request returns a `warnings` entry instead. `pdf` renders at most 500 parts (total quantity); a larger 2D request with `pdf` is a 413 `too_large` with `details.path: "include"`. Export and data tokens do not affect narrowing, so `["svg"]` adds svg and — listing no narrowing token — drops cutPlan/offcuts; use `["cutPlan","offcuts","svg"]` to keep everything.
optionsNo
matchedSetsNoMatched sets (grain matching): groups of parts cut side by side from one piece of board. Send a NON-EMPTY ARRAY of sets (at most 50); members are named by `parts[].id`. Only a non-empty array switches the feature on: absent, `null`, `[]` — and any value that is not an array — is a request without sets, answered exactly as before (no error). With sets the response adds `sheets[].parts[].matchedSet` on every member and a `matchedSets` rollup; `csv` gains `Set` and `Position` columns at the end, `svg` the `matched-sets` frame group, `dxf` the position code on LABELS; `pdf` and `labelsPdf` draw the members as ordinary parts for now (a `warnings` line says so; the set marks are in `sheets[].parts[].matchedSet`, `csv` and `svg`). Engine `max` refuses a non-empty array (400 `details.unsupported`); an empty one is fine. 2D only: the 1D, wood and nest endpoints ignore this field and `parts[].id`.

Output Schema

NameRequiredDescriptionDefault

No arguments

Schema Changelog

Changes observed during successful MCP inspections.

  1. Changed3 schema fields changed
    • addedInput schema / properties / parts / items / properties / qr
      Added value: +{
      +  "description": "QR payload template for every copy of this row: returned resolved in `labels[].qr` and printed as a QR code (error correction level M) on each of the row's labels in `labelsPdf`. Exactly two tokens are filled in: `{piece}` (the copy, 1-based — the `k` of the `k/n` printed on the label) and `{of}` (the row's `qty`); any other `{…}` stays as sent. At most 300 UTF-8 bytes once filled in, printable characters only (no control characters); not together with `qrs`. A wrong value is a 400 `invalid_request` naming the field, before any quota is used. Metadata only: it never changes the plan or `planHash`. On a small label format a long payload can print below 0.4 mm per module, and `warnings` then says so. 2D only.",
      +  "maxLength": 300,
      +  "minLength": 1,
      +  "type": "string"
      +}
    • addedInput schema / properties / parts / items / properties / qrs
      Added value: +{
      +  "description": "One QR payload per copy of this row, used verbatim: copy `k` (the `k/n` printed on its label) gets entry `k`, in `labels[].qr` and on `labelsPdf`. Exactly `qty` entries (`qty` defaults to 1), each 1 to 300 UTF-8 bytes of printable characters; not together with `qr`. A wrong value is a 400 `invalid_request` naming the field, before any quota is used. 2D only.",
      +  "items": {
      +    "maxLength": 300,
      +    "minLength": 1,
      +    "type": "string"
      +  },
      +  "maxItems": 2000,
      +  "minItems": 1,
      +  "type": "array"
      +}
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "contractVersion": {
      -        "type": "string"
      -      },
      -      "csv": {
      -        "type": "string"
      -      },
      -      "cutPlan": {
      -        "items": {
      -          "properties": {
      -            "angle": {
      -              "type": "number"
      -            },
      -            "axis": {
      -              "enum": [
      -                "h",
      -                "v"
      -              ],
      -              "type": "string"
      -            },
      -            "bevel": {
      -              "type": "number"
      -            },
      -            "length": {
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pos": {
      -              "type": "number"
      -            },
      -            "sheet": {
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "stage": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "step": {
      -              "minimum": 1,
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "sheet",
      -            "step",
      -            "axis",
      -            "pos",
      -            "length",
      -            "stage"
      -          ],
      -          "type": "object"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "deterministic": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "dxf": {
      -        "type": "string"
      -      },
      -      "edgeBanding": {
      -        "properties": {
      -          "byPart": {
      -            "items": {
      -              "properties": {
      -                "byType": {
      -                  "items": {
      -                    "properties": {
      -                      "meters": {
      -                        "type": "number"
      -                      },
      -                      "reference": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "reference",
      -                      "meters"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "meters": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "name",
      -                "meters",
      -                "byType"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "byType": {
      -            "items": {
      -              "properties": {
      -                "meters": {
      -                  "type": "number"
      -                },
      -                "reference": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "reference",
      -                "meters"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "totalMeters": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "totalMeters",
      -          "byType",
      -          "byPart"
      -        ],
      -        "type": "object"
      -      },
      -      "engine": {
      -        "enum": [
      -          "heuristic",
      -          "balanced",
      -          "max"
      -        ],
      -        "type": "string"
      -      },
      -      "engineVersion": {
      -        "type": "string"
      -      },
      -      "guillotineValid": {
      -        "type": "boolean"
      -      },
      -      "labels": {
      -        "items": {
      -          "properties": {
      -            "edges": {
      -              "properties": {
      -                "bottom": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "left": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "right": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "top": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "grain": {
      -              "enum": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "string"
      -            },
      -            "h": {
      -              "type": "number"
      -            },
      -            "material": {
      -              "type": "string"
      -            },
      -            "meta": {
      -              "type": "object"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "of": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "partNo": {
      -              "type": "integer"
      -            },
      -            "piece": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "rotated": {
      -              "type": "boolean"
      -            },
      -            "sheet": {
      -              "type": "integer"
      -            },
      -            "sheetMeta": {
      -              "type": "object"
      -            },
      -            "sheetNo": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "stockRow": {
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "w": {
      -              "type": "number"
      -            },
      -            "x": {
      -              "type": "number"
      -            },
      -            "y": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "sheet",
      -            "name",
      -            "partNo",
      -            "w",
      -            "h",
      -            "rotated",
      -            "x",
      -            "y"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "labelsPdf": {
      -        "format": "byte",
      -        "type": "string"
      -      },
      -      "matchedSets": {
      -        "items": {
      -          "properties": {
      -            "asBlock": {
      -              "type": "integer"
      -            },
      -            "block": {
      -              "properties": {
      -                "h": {
      -                  "type": "number"
      -                },
      -                "w": {
      -                  "type": "number"
      -                }
      -              },
      -              "required": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "object"
      -            },
      -            "id": {
      -              "type": "string"
      -            },
      -            "letter": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "requested": {
      -              "type": "integer"
      -            },
      -            "split": {
      -              "type": "integer"
      -            },
      -            "unplaced": {
      -              "type": "integer"
      -            },
      -            "warnings": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "letter",
      -            "requested",
      -            "asBlock",
      -            "split",
      -            "unplaced",
      -            "block",
      -            "warnings"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "materials": {
      -        "items": {
      -          "properties": {
      -            "material": {
      -              "type": "string"
      -            },
      -            "placed": {
      -              "type": "integer"
      -            },
      -            "sheetCount": {
      -              "type": "integer"
      -            },
      -            "total": {
      -              "type": "integer"
      -            },
      -            "totalPrice": {
      -              "type": "number"
      -            },
      -            "yieldPct": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "material",
      -            "sheetCount",
      -            "yieldPct",
      -            "placed",
      -            "total",
      -            "totalPrice"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "metrics": {
      -        "properties": {
      -          "cutLength": {
      -            "type": "number"
      -          },
      -          "cutLines": {
      -            "type": "integer"
      -          },
      -          "placed": {
      -            "type": "integer"
      -          },
      -          "sawPasses": {
      -            "type": "integer"
      -          },
      -          "sheetCount": {
      -            "type": "integer"
      -          },
      -          "total": {
      -            "type": "integer"
      -          },
      -          "totalPrice": {
      -            "type": "number"
      -          },
      -          "yieldPct": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "sheetCount",
      -          "yieldPct",
      -          "placed",
      -          "total",
      -          "cutLines",
      -          "sawPasses",
      -          "cutLength",
      -          "totalPrice"
      -        ],
      -        "type": "object"
      -      },
      -      "pdf": {
      -        "format": "byte",
      -        "type": "string"
      -      },
      -      "planHash": {
      -        "type": "string"
      -      },
      -      "sheets": {
      -        "items": {
      -          "properties": {
      -            "grain": {
      -              "enum": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "string"
      -            },
      -            "h": {
      -              "type": "number"
      -            },
      -            "material": {
      -              "type": "string"
      -            },
      -            "meta": {
      -              "type": "object"
      -            },
      -            "offcuts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  },
      -                  "x": {
      -                    "type": "number"
      -                  },
      -                  "y": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "x",
      -                  "y",
      -                  "w",
      -                  "h"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "parts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "matchedSet": {
      -                    "properties": {
      -                      "hint": {
      -                        "enum": [
      -                          "left",
      -                          "middle",
      -                          "right",
      -                          "top",
      -                          "bottom"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "id": {
      -                        "type": "string"
      -                      },
      -                      "instance": {
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "position": {
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "instance",
      -                      "position"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "meta": {
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "rotated": {
      -                    "type": "boolean"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  },
      -                  "x": {
      -                    "type": "number"
      -                  },
      -                  "y": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "x",
      -                  "y",
      -                  "w",
      -                  "h",
      -                  "rotated"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "price": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "w": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "w",
      -            "h",
      -            "price",
      -            "parts"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "svg": {
      -        "type": "string"
      -      },
      -      "timing": {
      -        "properties": {
      -          "solveMs": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "solveMs"
      -        ],
      -        "type": "object"
      -      },
      -      "unmatchedMaterials": {
      -        "items": {
      -          "properties": {
      -            "material": {
      -              "type": "string"
      -            },
      -            "parts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "qty": {
      -                    "minimum": 1,
      -                    "type": "integer"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "w",
      -                  "h",
      -                  "qty"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "material",
      -            "parts"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "unplaced": {
      -        "items": {
      -          "properties": {
      -            "h": {
      -              "type": "number"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "qty": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "w": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "w",
      -            "h",
      -            "qty"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "warnings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "engine",
      -      "engineVersion",
      -      "contractVersion",
      -      "deterministic",
      -      "sheets",
      -      "metrics",
      -      "unplaced",
      -      "warnings",
      -      "guillotineValid",
      -      "timing"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "engine": {
      -        "enum": [
      -          "max"
      -        ],
      -        "type": "string"
      -      },
      -      "jobId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "mode": {
      -        "enum": [
      -          "2d"
      -        ],
      -        "type": "string"
      -      },
      -      "pollAfterMs": {
      -        "type": "integer"
      -      },
      -      "quota": {
      -        "properties": {
      -          "limit": {
      -            "type": "integer"
      -          },
      -          "reserved": {
      -            "type": "integer"
      -          },
      -          "used": {
      -            "type": "integer"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "enum": [
      -          "queued"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "jobId",
      -      "status",
      -      "mode",
      -      "engine",
      -      "pollAfterMs"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "contractVersion": {
      +        "type": "string"
      +      },
      +      "csv": {
      +        "type": "string"
      +      },
      +      "cutPlan": {
      +        "items": {
      +          "properties": {
      +            "angle": {
      +              "type": "number"
      +            },
      +            "axis": {
      +              "enum": [
      +                "h",
      +                "v"
      +              ],
      +              "type": "string"
      +            },
      +            "bevel": {
      +              "type": "number"
      +            },
      +            "length": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pos": {
      +              "type": "number"
      +            },
      +            "sheet": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "stage": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "step": {
      +              "minimum": 1,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "sheet",
      +            "step",
      +            "axis",
      +            "pos",
      +            "length",
      +            "stage"
      +          ],
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "deterministic": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "dxf": {
      +        "type": "string"
      +      },
      +      "edgeBanding": {
      +        "properties": {
      +          "byPart": {
      +            "items": {
      +              "properties": {
      +                "byType": {
      +                  "items": {
      +                    "properties": {
      +                      "meters": {
      +                        "type": "number"
      +                      },
      +                      "reference": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "reference",
      +                      "meters"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "meters": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "meters",
      +                "byType"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "byType": {
      +            "items": {
      +              "properties": {
      +                "meters": {
      +                  "type": "number"
      +                },
      +                "reference": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "reference",
      +                "meters"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "totalMeters": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "totalMeters",
      +          "byType",
      +          "byPart"
      +        ],
      +        "type": "object"
      +      },
      +      "engine": {
      +        "enum": [
      +          "heuristic",
      +          "balanced",
      +          "max"
      +        ],
      +        "type": "string"
      +      },
      +      "engineVersion": {
      +        "type": "string"
      +      },
      +      "guillotineValid": {
      +        "type": "boolean"
      +      },
      +      "labels": {
      +        "items": {
      +          "properties": {
      +            "edges": {
      +              "properties": {
      +                "bottom": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "left": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "right": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "top": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "grain": {
      +              "enum": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "string"
      +            },
      +            "h": {
      +              "type": "number"
      +            },
      +            "material": {
      +              "type": "string"
      +            },
      +            "meta": {
      +              "type": "object"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "of": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "partNo": {
      +              "type": "integer"
      +            },
      +            "piece": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "qr": {
      +              "type": "string"
      +            },
      +            "rotated": {
      +              "type": "boolean"
      +            },
      +            "sheet": {
      +              "type": "integer"
      +            },
      +            "sheetMeta": {
      +              "type": "object"
      +            },
      +            "sheetNo": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "stockRow": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "w": {
      +              "type": "number"
      +            },
      +            "x": {
      +              "type": "number"
      +            },
      +            "y": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "sheet",
      +            "name",
      +            "partNo",
      +            "w",
      +            "h",
      +            "rotated",
      +            "x",
      +            "y"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "labelsPdf": {
      +        "format": "byte",
      +        "type": "string"
      +      },
      +      "matchedSets": {
      +        "items": {
      +          "properties": {
      +            "asBlock": {
      +              "type": "integer"
      +            },
      +            "block": {
      +              "properties": {
      +                "h": {
      +                  "type": "number"
      +                },
      +                "w": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "object"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "letter": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "requested": {
      +              "type": "integer"
      +            },
      +            "split": {
      +              "type": "integer"
      +            },
      +            "unplaced": {
      +              "type": "integer"
      +            },
      +            "warnings": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "letter",
      +            "requested",
      +            "asBlock",
      +            "split",
      +            "unplaced",
      +            "block",
      +            "warnings"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "materials": {
      +        "items": {
      +          "properties": {
      +            "material": {
      +              "type": "string"
      +            },
      +            "placed": {
      +              "type": "integer"
      +            },
      +            "sheetCount": {
      +              "type": "integer"
      +            },
      +            "total": {
      +              "type": "integer"
      +            },
      +            "totalPrice": {
      +              "type": "number"
      +            },
      +            "yieldPct": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "material",
      +            "sheetCount",
      +            "yieldPct",
      +            "placed",
      +            "total",
      +            "totalPrice"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "metrics": {
      +        "properties": {
      +          "cutLength": {
      +            "type": "number"
      +          },
      +          "cutLines": {
      +            "type": "integer"
      +          },
      +          "placed": {
      +            "type": "integer"
      +          },
      +          "sawPasses": {
      +            "type": "integer"
      +          },
      +          "sheetCount": {
      +            "type": "integer"
      +          },
      +          "total": {
      +            "type": "integer"
      +          },
      +          "totalPrice": {
      +            "type": "number"
      +          },
      +          "yieldPct": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "sheetCount",
      +          "yieldPct",
      +          "placed",
      +          "total",
      +          "cutLines",
      +          "sawPasses",
      +          "cutLength",
      +          "totalPrice"
      +        ],
      +        "type": "object"
      +      },
      +      "pdf": {
      +        "format": "byte",
      +        "type": "string"
      +      },
      +      "planHash": {
      +        "type": "string"
      +      },
      +      "sheets": {
      +        "items": {
      +          "properties": {
      +            "grain": {
      +              "enum": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "string"
      +            },
      +            "h": {
      +              "type": "number"
      +            },
      +            "material": {
      +              "type": "string"
      +            },
      +            "meta": {
      +              "type": "object"
      +            },
      +            "offcuts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  },
      +                  "x": {
      +                    "type": "number"
      +                  },
      +                  "y": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "x",
      +                  "y",
      +                  "w",
      +                  "h"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "parts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "matchedSet": {
      +                    "properties": {
      +                      "hint": {
      +                        "enum": [
      +                          "left",
      +                          "middle",
      +                          "right",
      +                          "top",
      +                          "bottom"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "id": {
      +                        "type": "string"
      +                      },
      +                      "instance": {
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "position": {
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "instance",
      +                      "position"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "meta": {
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "rotated": {
      +                    "type": "boolean"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  },
      +                  "x": {
      +                    "type": "number"
      +                  },
      +                  "y": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "x",
      +                  "y",
      +                  "w",
      +                  "h",
      +                  "rotated"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "price": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "w": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "w",
      +            "h",
      +            "price",
      +            "parts"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "svg": {
      +        "type": "string"
      +      },
      +      "timing": {
      +        "properties": {
      +          "solveMs": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "solveMs"
      +        ],
      +        "type": "object"
      +      },
      +      "unmatchedMaterials": {
      +        "items": {
      +          "properties": {
      +            "material": {
      +              "type": "string"
      +            },
      +            "parts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "qty": {
      +                    "minimum": 1,
      +                    "type": "integer"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "w",
      +                  "h",
      +                  "qty"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "material",
      +            "parts"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "unplaced": {
      +        "items": {
      +          "properties": {
      +            "h": {
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "qty": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "w": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "w",
      +            "h",
      +            "qty"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "engine",
      +      "engineVersion",
      +      "contractVersion",
      +      "deterministic",
      +      "sheets",
      +      "metrics",
      +      "unplaced",
      +      "warnings",
      +      "guillotineValid",
      +      "timing"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "engine": {
      +        "enum": [
      +          "max"
      +        ],
      +        "type": "string"
      +      },
      +      "jobId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "mode": {
      +        "enum": [
      +          "2d"
      +        ],
      +        "type": "string"
      +      },
      +      "pollAfterMs": {
      +        "type": "integer"
      +      },
      +      "quota": {
      +        "properties": {
      +          "limit": {
      +            "type": "integer"
      +          },
      +          "reserved": {
      +            "type": "integer"
      +          },
      +          "used": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "enum": [
      +          "queued"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "jobId",
      +      "status",
      +      "mode",
      +      "engine",
      +      "pollAfterMs"
      +    ],
      +    "type": "object"
      +  }
      +]
  2. Changed2 schema fields changed
    • addedInput schema / properties / options / properties / labels
      Added value: +{
      +  "additionalProperties": false,
      +  "description": "Label settings — the same settings as the Label format panel of the CutOptim app, under these names. They shape `labelsPdf` and add `piece`, `of`, `sheetNo`, `stockRow` and `sheetMeta` to every `labels[]` entry. Every field is optional; `{}` is valid and only adds those fields. Absent: the label PDF is the A4 sheet and `labels[]` is exactly as without this object. Validated STRICTLY, unlike the rest of `options`: an unknown key, a wrong type or a value out of range is a 400 `invalid_request` with `details.path`, before any call is counted (also on `/v1/validate/2d`). `null` for a field means the field is absent. Sent without `include` `labels` or `labelsPdf`, it changes nothing and the answer says so in `warnings`. 2D only.",
      +  "properties": {
      +    "dimSize": {
      +      "default": "normal",
      +      "description": "Size of the dimension text on the label.",
      +      "enum": [
      +        "normal",
      +        "large",
      +        "xl"
      +      ],
      +      "type": "string"
      +    },
      +    "factoryEdges": {
      +      "default": false,
      +      "description": "Mark FE on the edges of a piece that lie on a sheet edge with no `trim` on that side (the board's factory edge).",
      +      "type": "boolean"
      +    },
      +    "format": {
      +      "default": "sheet",
      +      "description": "`sheet` = the A4 sheet of labels (3 columns); `roll` = one label per page, `width` × `height` mm, for a label printer; `apli-03056` = APLI 03056 sheets (24 labels of 64.6 × 33.9 mm on A4, 3 × 8); `brother-dk-11201` = Brother DK-11201 roll labels (29 × 90 mm, one per page).",
      +      "enum": [
      +        "sheet",
      +        "roll",
      +        "apli-03056",
      +        "brother-dk-11201"
      +      ],
      +      "type": "string"
      +    },
      +    "height": {
      +      "default": 40,
      +      "description": "Label height in mm, `roll` only.",
      +      "maximum": 300,
      +      "minimum": 15,
      +      "type": "number"
      +    },
      +    "hiddenFaceHint": {
      +      "default": false,
      +      "description": "Print the \"hidden side\" mark.",
      +      "type": "boolean"
      +    },
      +    "offset": {
      +      "additionalProperties": false,
      +      "description": "Printer offset in mm: moves everything printed on the label right (`x`) and down (`y`); negative values move it back. Applied rounded to 0.1 mm.",
      +      "properties": {
      +        "x": {
      +          "default": 0,
      +          "maximum": 20,
      +          "minimum": -20,
      +          "type": "number"
      +        },
      +        "y": {
      +          "default": 0,
      +          "maximum": 20,
      +          "minimum": -20,
      +          "type": "number"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "order": {
      +      "default": "input",
      +      "description": "`input` = labels in `parts` order; `cut` = sheet by sheet, in the order the saw plan frees the pieces.",
      +      "enum": [
      +        "input",
      +        "cut"
      +      ],
      +      "type": "string"
      +    },
      +    "partNo": {
      +      "default": false,
      +      "description": "Print the part number, top left and largest: the 1-based row of the FIRST `parts` row with that name (rows sharing a name share a number; with unique names it equals `labels[].partNo`).",
      +      "type": "boolean"
      +    },
      +    "parts": {
      +      "description": "Print only the labels of these part numbers (the numbers `partNo` prints), e.g. to re-print after sanding. Empty or absent = all.",
      +      "items": {
      +        "maximum": 999999,
      +        "minimum": 1,
      +        "type": "integer"
      +      },
      +      "maxItems": 500,
      +      "type": "array"
      +    },
      +    "stageWords": {
      +      "additionalProperties": false,
      +      "description": "Your own word for a built-in stage key, at most 6 characters; empty or absent = the English abbreviation (RC, C2S, EB, S, D).",
      +      "properties": {
      +        "c2s": {
      +          "maxLength": 6,
      +          "type": "string"
      +        },
      +        "d": {
      +          "maxLength": 6,
      +          "type": "string"
      +        },
      +        "eb": {
      +          "maxLength": 6,
      +          "type": "string"
      +        },
      +        "rc": {
      +          "maxLength": 6,
      +          "type": "string"
      +        },
      +        "s": {
      +          "maxLength": 6,
      +          "type": "string"
      +        }
      +      },
      +      "type": "object"
      +    },
      +    "stages": {
      +      "description": "Work stages printed as a row of circles to tick off by pen; empty or absent = no row. Each entry is a built-in key — `rc` (rough cut), `c2s` (cut to size), `eb` (edge banded, printed only on a banded part), `s` (sanded), `d` (drilled, not printed yet) — or free text of at most 6 characters, printed as sent (keys are lower case: `RC` is free text). Spaces are trimmed; printable characters only.",
      +      "items": {
      +        "maxLength": 6,
      +        "minLength": 1,
      +        "type": "string"
      +      },
      +      "maxItems": 6,
      +      "type": "array"
      +    },
      +    "width": {
      +      "default": 100,
      +      "description": "Label width in mm, `roll` only.",
      +      "maximum": 300,
      +      "minimum": 20,
      +      "type": "number"
      +    }
      +  },
      +  "type": "object"
      +}
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "contractVersion": {
      -        "type": "string"
      -      },
      -      "csv": {
      -        "type": "string"
      -      },
      -      "cutPlan": {
      -        "items": {
      -          "properties": {
      -            "angle": {
      -              "type": "number"
      -            },
      -            "axis": {
      -              "enum": [
      -                "h",
      -                "v"
      -              ],
      -              "type": "string"
      -            },
      -            "bevel": {
      -              "type": "number"
      -            },
      -            "length": {
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pos": {
      -              "type": "number"
      -            },
      -            "sheet": {
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "stage": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "step": {
      -              "minimum": 1,
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "sheet",
      -            "step",
      -            "axis",
      -            "pos",
      -            "length",
      -            "stage"
      -          ],
      -          "type": "object"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "deterministic": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "dxf": {
      -        "type": "string"
      -      },
      -      "edgeBanding": {
      -        "properties": {
      -          "byPart": {
      -            "items": {
      -              "properties": {
      -                "byType": {
      -                  "items": {
      -                    "properties": {
      -                      "meters": {
      -                        "type": "number"
      -                      },
      -                      "reference": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "reference",
      -                      "meters"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "meters": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "name",
      -                "meters",
      -                "byType"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "byType": {
      -            "items": {
      -              "properties": {
      -                "meters": {
      -                  "type": "number"
      -                },
      -                "reference": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "reference",
      -                "meters"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "totalMeters": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "totalMeters",
      -          "byType",
      -          "byPart"
      -        ],
      -        "type": "object"
      -      },
      -      "engine": {
      -        "enum": [
      -          "heuristic",
      -          "balanced",
      -          "max"
      -        ],
      -        "type": "string"
      -      },
      -      "engineVersion": {
      -        "type": "string"
      -      },
      -      "guillotineValid": {
      -        "type": "boolean"
      -      },
      -      "labels": {
      -        "items": {
      -          "properties": {
      -            "edges": {
      -              "properties": {
      -                "bottom": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "left": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "right": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "top": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "grain": {
      -              "enum": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "string"
      -            },
      -            "h": {
      -              "type": "number"
      -            },
      -            "material": {
      -              "type": "string"
      -            },
      -            "meta": {
      -              "type": "object"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "partNo": {
      -              "type": "integer"
      -            },
      -            "rotated": {
      -              "type": "boolean"
      -            },
      -            "sheet": {
      -              "type": "integer"
      -            },
      -            "w": {
      -              "type": "number"
      -            },
      -            "x": {
      -              "type": "number"
      -            },
      -            "y": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "sheet",
      -            "name",
      -            "partNo",
      -            "w",
      -            "h",
      -            "rotated",
      -            "x",
      -            "y"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "labelsPdf": {
      -        "format": "byte",
      -        "type": "string"
      -      },
      -      "matchedSets": {
      -        "items": {
      -          "properties": {
      -            "asBlock": {
      -              "type": "integer"
      -            },
      -            "block": {
      -              "properties": {
      -                "h": {
      -                  "type": "number"
      -                },
      -                "w": {
      -                  "type": "number"
      -                }
      -              },
      -              "required": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "object"
      -            },
      -            "id": {
      -              "type": "string"
      -            },
      -            "letter": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "requested": {
      -              "type": "integer"
      -            },
      -            "split": {
      -              "type": "integer"
      -            },
      -            "unplaced": {
      -              "type": "integer"
      -            },
      -            "warnings": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "letter",
      -            "requested",
      -            "asBlock",
      -            "split",
      -            "unplaced",
      -            "block",
      -            "warnings"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "materials": {
      -        "items": {
      -          "properties": {
      -            "material": {
      -              "type": "string"
      -            },
      -            "placed": {
      -              "type": "integer"
      -            },
      -            "sheetCount": {
      -              "type": "integer"
      -            },
      -            "total": {
      -              "type": "integer"
      -            },
      -            "totalPrice": {
      -              "type": "number"
      -            },
      -            "yieldPct": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "material",
      -            "sheetCount",
      -            "yieldPct",
      -            "placed",
      -            "total",
      -            "totalPrice"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "metrics": {
      -        "properties": {
      -          "cutLength": {
      -            "type": "number"
      -          },
      -          "cutLines": {
      -            "type": "integer"
      -          },
      -          "placed": {
      -            "type": "integer"
      -          },
      -          "sawPasses": {
      -            "type": "integer"
      -          },
      -          "sheetCount": {
      -            "type": "integer"
      -          },
      -          "total": {
      -            "type": "integer"
      -          },
      -          "totalPrice": {
      -            "type": "number"
      -          },
      -          "yieldPct": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "sheetCount",
      -          "yieldPct",
      -          "placed",
      -          "total",
      -          "cutLines",
      -          "sawPasses",
      -          "cutLength",
      -          "totalPrice"
      -        ],
      -        "type": "object"
      -      },
      -      "pdf": {
      -        "format": "byte",
      -        "type": "string"
      -      },
      -      "planHash": {
      -        "type": "string"
      -      },
      -      "sheets": {
      -        "items": {
      -          "properties": {
      -            "grain": {
      -              "enum": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "string"
      -            },
      -            "h": {
      -              "type": "number"
      -            },
      -            "material": {
      -              "type": "string"
      -            },
      -            "meta": {
      -              "type": "object"
      -            },
      -            "offcuts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  },
      -                  "x": {
      -                    "type": "number"
      -                  },
      -                  "y": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "x",
      -                  "y",
      -                  "w",
      -                  "h"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "parts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "matchedSet": {
      -                    "properties": {
      -                      "hint": {
      -                        "enum": [
      -                          "left",
      -                          "middle",
      -                          "right",
      -                          "top",
      -                          "bottom"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "id": {
      -                        "type": "string"
      -                      },
      -                      "instance": {
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "position": {
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "instance",
      -                      "position"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "meta": {
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "rotated": {
      -                    "type": "boolean"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  },
      -                  "x": {
      -                    "type": "number"
      -                  },
      -                  "y": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "x",
      -                  "y",
      -                  "w",
      -                  "h",
      -                  "rotated"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "price": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "w": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "w",
      -            "h",
      -            "price",
      -            "parts"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "svg": {
      -        "type": "string"
      -      },
      -      "timing": {
      -        "properties": {
      -          "solveMs": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "solveMs"
      -        ],
      -        "type": "object"
      -      },
      -      "unmatchedMaterials": {
      -        "items": {
      -          "properties": {
      -            "material": {
      -              "type": "string"
      -            },
      -            "parts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "qty": {
      -                    "minimum": 1,
      -                    "type": "integer"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "w",
      -                  "h",
      -                  "qty"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "material",
      -            "parts"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "unplaced": {
      -        "items": {
      -          "properties": {
      -            "h": {
      -              "type": "number"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "qty": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "w": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "w",
      -            "h",
      -            "qty"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "warnings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "engine",
      -      "engineVersion",
      -      "contractVersion",
      -      "deterministic",
      -      "sheets",
      -      "metrics",
      -      "unplaced",
      -      "warnings",
      -      "guillotineValid",
      -      "timing"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "engine": {
      -        "enum": [
      -          "max"
      -        ],
      -        "type": "string"
      -      },
      -      "jobId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "mode": {
      -        "enum": [
      -          "2d"
      -        ],
      -        "type": "string"
      -      },
      -      "pollAfterMs": {
      -        "type": "integer"
      -      },
      -      "quota": {
      -        "properties": {
      -          "limit": {
      -            "type": "integer"
      -          },
      -          "reserved": {
      -            "type": "integer"
      -          },
      -          "used": {
      -            "type": "integer"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "enum": [
      -          "queued"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "jobId",
      -      "status",
      -      "mode",
      -      "engine",
      -      "pollAfterMs"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "contractVersion": {
      +        "type": "string"
      +      },
      +      "csv": {
      +        "type": "string"
      +      },
      +      "cutPlan": {
      +        "items": {
      +          "properties": {
      +            "angle": {
      +              "type": "number"
      +            },
      +            "axis": {
      +              "enum": [
      +                "h",
      +                "v"
      +              ],
      +              "type": "string"
      +            },
      +            "bevel": {
      +              "type": "number"
      +            },
      +            "length": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pos": {
      +              "type": "number"
      +            },
      +            "sheet": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "stage": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "step": {
      +              "minimum": 1,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "sheet",
      +            "step",
      +            "axis",
      +            "pos",
      +            "length",
      +            "stage"
      +          ],
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "deterministic": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "dxf": {
      +        "type": "string"
      +      },
      +      "edgeBanding": {
      +        "properties": {
      +          "byPart": {
      +            "items": {
      +              "properties": {
      +                "byType": {
      +                  "items": {
      +                    "properties": {
      +                      "meters": {
      +                        "type": "number"
      +                      },
      +                      "reference": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "reference",
      +                      "meters"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "meters": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "meters",
      +                "byType"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "byType": {
      +            "items": {
      +              "properties": {
      +                "meters": {
      +                  "type": "number"
      +                },
      +                "reference": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "reference",
      +                "meters"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "totalMeters": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "totalMeters",
      +          "byType",
      +          "byPart"
      +        ],
      +        "type": "object"
      +      },
      +      "engine": {
      +        "enum": [
      +          "heuristic",
      +          "balanced",
      +          "max"
      +        ],
      +        "type": "string"
      +      },
      +      "engineVersion": {
      +        "type": "string"
      +      },
      +      "guillotineValid": {
      +        "type": "boolean"
      +      },
      +      "labels": {
      +        "items": {
      +          "properties": {
      +            "edges": {
      +              "properties": {
      +                "bottom": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "left": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "right": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "top": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "grain": {
      +              "enum": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "string"
      +            },
      +            "h": {
      +              "type": "number"
      +            },
      +            "material": {
      +              "type": "string"
      +            },
      +            "meta": {
      +              "type": "object"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "of": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "partNo": {
      +              "type": "integer"
      +            },
      +            "piece": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "rotated": {
      +              "type": "boolean"
      +            },
      +            "sheet": {
      +              "type": "integer"
      +            },
      +            "sheetMeta": {
      +              "type": "object"
      +            },
      +            "sheetNo": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "stockRow": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "w": {
      +              "type": "number"
      +            },
      +            "x": {
      +              "type": "number"
      +            },
      +            "y": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "sheet",
      +            "name",
      +            "partNo",
      +            "w",
      +            "h",
      +            "rotated",
      +            "x",
      +            "y"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "labelsPdf": {
      +        "format": "byte",
      +        "type": "string"
      +      },
      +      "matchedSets": {
      +        "items": {
      +          "properties": {
      +            "asBlock": {
      +              "type": "integer"
      +            },
      +            "block": {
      +              "properties": {
      +                "h": {
      +                  "type": "number"
      +                },
      +                "w": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "object"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "letter": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "requested": {
      +              "type": "integer"
      +            },
      +            "split": {
      +              "type": "integer"
      +            },
      +            "unplaced": {
      +              "type": "integer"
      +            },
      +            "warnings": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "letter",
      +            "requested",
      +            "asBlock",
      +            "split",
      +            "unplaced",
      +            "block",
      +            "warnings"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "materials": {
      +        "items": {
      +          "properties": {
      +            "material": {
      +              "type": "string"
      +            },
      +            "placed": {
      +              "type": "integer"
      +            },
      +            "sheetCount": {
      +              "type": "integer"
      +            },
      +            "total": {
      +              "type": "integer"
      +            },
      +            "totalPrice": {
      +              "type": "number"
      +            },
      +            "yieldPct": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "material",
      +            "sheetCount",
      +            "yieldPct",
      +            "placed",
      +            "total",
      +            "totalPrice"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "metrics": {
      +        "properties": {
      +          "cutLength": {
      +            "type": "number"
      +          },
      +          "cutLines": {
      +            "type": "integer"
      +          },
      +          "placed": {
      +            "type": "integer"
      +          },
      +          "sawPasses": {
      +            "type": "integer"
      +          },
      +          "sheetCount": {
      +            "type": "integer"
      +          },
      +          "total": {
      +            "type": "integer"
      +          },
      +          "totalPrice": {
      +            "type": "number"
      +          },
      +          "yieldPct": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "sheetCount",
      +          "yieldPct",
      +          "placed",
      +          "total",
      +          "cutLines",
      +          "sawPasses",
      +          "cutLength",
      +          "totalPrice"
      +        ],
      +        "type": "object"
      +      },
      +      "pdf": {
      +        "format": "byte",
      +        "type": "string"
      +      },
      +      "planHash": {
      +        "type": "string"
      +      },
      +      "sheets": {
      +        "items": {
      +          "properties": {
      +            "grain": {
      +              "enum": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "string"
      +            },
      +            "h": {
      +              "type": "number"
      +            },
      +            "material": {
      +              "type": "string"
      +            },
      +            "meta": {
      +              "type": "object"
      +            },
      +            "offcuts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  },
      +                  "x": {
      +                    "type": "number"
      +                  },
      +                  "y": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "x",
      +                  "y",
      +                  "w",
      +                  "h"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "parts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "matchedSet": {
      +                    "properties": {
      +                      "hint": {
      +                        "enum": [
      +                          "left",
      +                          "middle",
      +                          "right",
      +                          "top",
      +                          "bottom"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "id": {
      +                        "type": "string"
      +                      },
      +                      "instance": {
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "position": {
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "instance",
      +                      "position"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "meta": {
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "rotated": {
      +                    "type": "boolean"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  },
      +                  "x": {
      +                    "type": "number"
      +                  },
      +                  "y": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "x",
      +                  "y",
      +                  "w",
      +                  "h",
      +                  "rotated"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "price": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "w": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "w",
      +            "h",
      +            "price",
      +            "parts"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "svg": {
      +        "type": "string"
      +      },
      +      "timing": {
      +        "properties": {
      +          "solveMs": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "solveMs"
      +        ],
      +        "type": "object"
      +      },
      +      "unmatchedMaterials": {
      +        "items": {
      +          "properties": {
      +            "material": {
      +              "type": "string"
      +            },
      +            "parts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "qty": {
      +                    "minimum": 1,
      +                    "type": "integer"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "w",
      +                  "h",
      +                  "qty"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "material",
      +            "parts"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "unplaced": {
      +        "items": {
      +          "properties": {
      +            "h": {
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "qty": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "w": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "w",
      +            "h",
      +            "qty"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "engine",
      +      "engineVersion",
      +      "contractVersion",
      +      "deterministic",
      +      "sheets",
      +      "metrics",
      +      "unplaced",
      +      "warnings",
      +      "guillotineValid",
      +      "timing"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "engine": {
      +        "enum": [
      +          "max"
      +        ],
      +        "type": "string"
      +      },
      +      "jobId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "mode": {
      +        "enum": [
      +          "2d"
      +        ],
      +        "type": "string"
      +      },
      +      "pollAfterMs": {
      +        "type": "integer"
      +      },
      +      "quota": {
      +        "properties": {
      +          "limit": {
      +            "type": "integer"
      +          },
      +          "reserved": {
      +            "type": "integer"
      +          },
      +          "used": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "enum": [
      +          "queued"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "jobId",
      +      "status",
      +      "mode",
      +      "engine",
      +      "pollAfterMs"
      +    ],
      +    "type": "object"
      +  }
      +]
  3. Changed1 schema field changed
    • changedOutput schema / anyOf
      Previous value: -[
      -  {
      -    "properties": {
      -      "contractVersion": {
      -        "type": "string"
      -      },
      -      "csv": {
      -        "type": "string"
      -      },
      -      "cutPlan": {
      -        "items": {
      -          "properties": {
      -            "axis": {
      -              "enum": [
      -                "h",
      -                "v"
      -              ],
      -              "type": "string"
      -            },
      -            "length": {
      -              "minimum": 0,
      -              "type": "number"
      -            },
      -            "pos": {
      -              "type": "number"
      -            },
      -            "sheet": {
      -              "minimum": 0,
      -              "type": "integer"
      -            },
      -            "stage": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "step": {
      -              "minimum": 1,
      -              "type": "integer"
      -            }
      -          },
      -          "required": [
      -            "sheet",
      -            "step",
      -            "axis",
      -            "pos",
      -            "length",
      -            "stage"
      -          ],
      -          "type": "object"
      -        },
      -        "type": [
      -          "array",
      -          "null"
      -        ]
      -      },
      -      "deterministic": {
      -        "const": true,
      -        "type": "boolean"
      -      },
      -      "dxf": {
      -        "type": "string"
      -      },
      -      "edgeBanding": {
      -        "properties": {
      -          "byPart": {
      -            "items": {
      -              "properties": {
      -                "byType": {
      -                  "items": {
      -                    "properties": {
      -                      "meters": {
      -                        "type": "number"
      -                      },
      -                      "reference": {
      -                        "type": "string"
      -                      }
      -                    },
      -                    "required": [
      -                      "reference",
      -                      "meters"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "type": "array"
      -                },
      -                "meters": {
      -                  "type": "number"
      -                },
      -                "name": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "name",
      -                "meters",
      -                "byType"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "byType": {
      -            "items": {
      -              "properties": {
      -                "meters": {
      -                  "type": "number"
      -                },
      -                "reference": {
      -                  "type": "string"
      -                }
      -              },
      -              "required": [
      -                "reference",
      -                "meters"
      -              ],
      -              "type": "object"
      -            },
      -            "type": "array"
      -          },
      -          "totalMeters": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "totalMeters",
      -          "byType",
      -          "byPart"
      -        ],
      -        "type": "object"
      -      },
      -      "engine": {
      -        "enum": [
      -          "heuristic",
      -          "balanced",
      -          "max"
      -        ],
      -        "type": "string"
      -      },
      -      "engineVersion": {
      -        "type": "string"
      -      },
      -      "guillotineValid": {
      -        "type": "boolean"
      -      },
      -      "labels": {
      -        "items": {
      -          "properties": {
      -            "edges": {
      -              "properties": {
      -                "bottom": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "left": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "right": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                },
      -                "top": {
      -                  "properties": {
      -                    "length": {
      -                      "type": "number"
      -                    },
      -                    "reference": {
      -                      "type": "string"
      -                    }
      -                  },
      -                  "required": [
      -                    "reference",
      -                    "length"
      -                  ],
      -                  "type": "object"
      -                }
      -              },
      -              "type": "object"
      -            },
      -            "grain": {
      -              "enum": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "string"
      -            },
      -            "h": {
      -              "type": "number"
      -            },
      -            "material": {
      -              "type": "string"
      -            },
      -            "meta": {
      -              "type": "object"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "partNo": {
      -              "type": "integer"
      -            },
      -            "rotated": {
      -              "type": "boolean"
      -            },
      -            "sheet": {
      -              "type": "integer"
      -            },
      -            "w": {
      -              "type": "number"
      -            },
      -            "x": {
      -              "type": "number"
      -            },
      -            "y": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "sheet",
      -            "name",
      -            "partNo",
      -            "w",
      -            "h",
      -            "rotated",
      -            "x",
      -            "y"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "labelsPdf": {
      -        "format": "byte",
      -        "type": "string"
      -      },
      -      "matchedSets": {
      -        "items": {
      -          "properties": {
      -            "asBlock": {
      -              "type": "integer"
      -            },
      -            "block": {
      -              "properties": {
      -                "h": {
      -                  "type": "number"
      -                },
      -                "w": {
      -                  "type": "number"
      -                }
      -              },
      -              "required": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "object"
      -            },
      -            "id": {
      -              "type": "string"
      -            },
      -            "letter": {
      -              "type": "string"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "requested": {
      -              "type": "integer"
      -            },
      -            "split": {
      -              "type": "integer"
      -            },
      -            "unplaced": {
      -              "type": "integer"
      -            },
      -            "warnings": {
      -              "items": {
      -                "type": "string"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "id",
      -            "letter",
      -            "requested",
      -            "asBlock",
      -            "split",
      -            "unplaced",
      -            "block",
      -            "warnings"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "materials": {
      -        "items": {
      -          "properties": {
      -            "material": {
      -              "type": "string"
      -            },
      -            "placed": {
      -              "type": "integer"
      -            },
      -            "sheetCount": {
      -              "type": "integer"
      -            },
      -            "total": {
      -              "type": "integer"
      -            },
      -            "totalPrice": {
      -              "type": "number"
      -            },
      -            "yieldPct": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "material",
      -            "sheetCount",
      -            "yieldPct",
      -            "placed",
      -            "total",
      -            "totalPrice"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "metrics": {
      -        "properties": {
      -          "cutLength": {
      -            "type": "number"
      -          },
      -          "cutLines": {
      -            "type": "integer"
      -          },
      -          "placed": {
      -            "type": "integer"
      -          },
      -          "sawPasses": {
      -            "type": "integer"
      -          },
      -          "sheetCount": {
      -            "type": "integer"
      -          },
      -          "total": {
      -            "type": "integer"
      -          },
      -          "totalPrice": {
      -            "type": "number"
      -          },
      -          "yieldPct": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "sheetCount",
      -          "yieldPct",
      -          "placed",
      -          "total",
      -          "cutLines",
      -          "sawPasses",
      -          "cutLength",
      -          "totalPrice"
      -        ],
      -        "type": "object"
      -      },
      -      "pdf": {
      -        "format": "byte",
      -        "type": "string"
      -      },
      -      "planHash": {
      -        "type": "string"
      -      },
      -      "sheets": {
      -        "items": {
      -          "properties": {
      -            "grain": {
      -              "enum": [
      -                "w",
      -                "h"
      -              ],
      -              "type": "string"
      -            },
      -            "h": {
      -              "type": "number"
      -            },
      -            "material": {
      -              "type": "string"
      -            },
      -            "meta": {
      -              "type": "object"
      -            },
      -            "offcuts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  },
      -                  "x": {
      -                    "type": "number"
      -                  },
      -                  "y": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "x",
      -                  "y",
      -                  "w",
      -                  "h"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "parts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "matchedSet": {
      -                    "properties": {
      -                      "hint": {
      -                        "enum": [
      -                          "left",
      -                          "middle",
      -                          "right",
      -                          "top",
      -                          "bottom"
      -                        ],
      -                        "type": "string"
      -                      },
      -                      "id": {
      -                        "type": "string"
      -                      },
      -                      "instance": {
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      },
      -                      "position": {
      -                        "minimum": 1,
      -                        "type": "integer"
      -                      }
      -                    },
      -                    "required": [
      -                      "id",
      -                      "instance",
      -                      "position"
      -                    ],
      -                    "type": "object"
      -                  },
      -                  "meta": {
      -                    "type": "object"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "rotated": {
      -                    "type": "boolean"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  },
      -                  "x": {
      -                    "type": "number"
      -                  },
      -                  "y": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "x",
      -                  "y",
      -                  "w",
      -                  "h",
      -                  "rotated"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            },
      -            "price": {
      -              "type": [
      -                "number",
      -                "null"
      -              ]
      -            },
      -            "w": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "w",
      -            "h",
      -            "price",
      -            "parts"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "svg": {
      -        "type": "string"
      -      },
      -      "timing": {
      -        "properties": {
      -          "solveMs": {
      -            "type": "number"
      -          }
      -        },
      -        "required": [
      -          "solveMs"
      -        ],
      -        "type": "object"
      -      },
      -      "unmatchedMaterials": {
      -        "items": {
      -          "properties": {
      -            "material": {
      -              "type": "string"
      -            },
      -            "parts": {
      -              "items": {
      -                "properties": {
      -                  "h": {
      -                    "type": "number"
      -                  },
      -                  "name": {
      -                    "type": "string"
      -                  },
      -                  "qty": {
      -                    "minimum": 1,
      -                    "type": "integer"
      -                  },
      -                  "w": {
      -                    "type": "number"
      -                  }
      -                },
      -                "required": [
      -                  "name",
      -                  "w",
      -                  "h",
      -                  "qty"
      -                ],
      -                "type": "object"
      -              },
      -              "type": "array"
      -            }
      -          },
      -          "required": [
      -            "material",
      -            "parts"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "unplaced": {
      -        "items": {
      -          "properties": {
      -            "h": {
      -              "type": "number"
      -            },
      -            "name": {
      -              "type": "string"
      -            },
      -            "qty": {
      -              "minimum": 1,
      -              "type": "integer"
      -            },
      -            "w": {
      -              "type": "number"
      -            }
      -          },
      -          "required": [
      -            "name",
      -            "w",
      -            "h",
      -            "qty"
      -          ],
      -          "type": "object"
      -        },
      -        "type": "array"
      -      },
      -      "warnings": {
      -        "items": {
      -          "type": "string"
      -        },
      -        "type": "array"
      -      }
      -    },
      -    "required": [
      -      "engine",
      -      "engineVersion",
      -      "contractVersion",
      -      "deterministic",
      -      "sheets",
      -      "metrics",
      -      "unplaced",
      -      "warnings",
      -      "guillotineValid",
      -      "timing"
      -    ],
      -    "type": "object"
      -  },
      -  {
      -    "properties": {
      -      "engine": {
      -        "enum": [
      -          "max"
      -        ],
      -        "type": "string"
      -      },
      -      "jobId": {
      -        "format": "uuid",
      -        "type": "string"
      -      },
      -      "mode": {
      -        "enum": [
      -          "2d"
      -        ],
      -        "type": "string"
      -      },
      -      "pollAfterMs": {
      -        "type": "integer"
      -      },
      -      "quota": {
      -        "properties": {
      -          "limit": {
      -            "type": "integer"
      -          },
      -          "reserved": {
      -            "type": "integer"
      -          },
      -          "used": {
      -            "type": "integer"
      -          }
      -        },
      -        "type": "object"
      -      },
      -      "status": {
      -        "enum": [
      -          "queued"
      -        ],
      -        "type": "string"
      -      }
      -    },
      -    "required": [
      -      "jobId",
      -      "status",
      -      "mode",
      -      "engine",
      -      "pollAfterMs"
      -    ],
      -    "type": "object"
      -  }
      -]New value: +[
      +  {
      +    "properties": {
      +      "contractVersion": {
      +        "type": "string"
      +      },
      +      "csv": {
      +        "type": "string"
      +      },
      +      "cutPlan": {
      +        "items": {
      +          "properties": {
      +            "angle": {
      +              "type": "number"
      +            },
      +            "axis": {
      +              "enum": [
      +                "h",
      +                "v"
      +              ],
      +              "type": "string"
      +            },
      +            "bevel": {
      +              "type": "number"
      +            },
      +            "length": {
      +              "minimum": 0,
      +              "type": "number"
      +            },
      +            "pos": {
      +              "type": "number"
      +            },
      +            "sheet": {
      +              "minimum": 0,
      +              "type": "integer"
      +            },
      +            "stage": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "step": {
      +              "minimum": 1,
      +              "type": "integer"
      +            }
      +          },
      +          "required": [
      +            "sheet",
      +            "step",
      +            "axis",
      +            "pos",
      +            "length",
      +            "stage"
      +          ],
      +          "type": "object"
      +        },
      +        "type": [
      +          "array",
      +          "null"
      +        ]
      +      },
      +      "deterministic": {
      +        "const": true,
      +        "type": "boolean"
      +      },
      +      "dxf": {
      +        "type": "string"
      +      },
      +      "edgeBanding": {
      +        "properties": {
      +          "byPart": {
      +            "items": {
      +              "properties": {
      +                "byType": {
      +                  "items": {
      +                    "properties": {
      +                      "meters": {
      +                        "type": "number"
      +                      },
      +                      "reference": {
      +                        "type": "string"
      +                      }
      +                    },
      +                    "required": [
      +                      "reference",
      +                      "meters"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "type": "array"
      +                },
      +                "meters": {
      +                  "type": "number"
      +                },
      +                "name": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "name",
      +                "meters",
      +                "byType"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "byType": {
      +            "items": {
      +              "properties": {
      +                "meters": {
      +                  "type": "number"
      +                },
      +                "reference": {
      +                  "type": "string"
      +                }
      +              },
      +              "required": [
      +                "reference",
      +                "meters"
      +              ],
      +              "type": "object"
      +            },
      +            "type": "array"
      +          },
      +          "totalMeters": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "totalMeters",
      +          "byType",
      +          "byPart"
      +        ],
      +        "type": "object"
      +      },
      +      "engine": {
      +        "enum": [
      +          "heuristic",
      +          "balanced",
      +          "max"
      +        ],
      +        "type": "string"
      +      },
      +      "engineVersion": {
      +        "type": "string"
      +      },
      +      "guillotineValid": {
      +        "type": "boolean"
      +      },
      +      "labels": {
      +        "items": {
      +          "properties": {
      +            "edges": {
      +              "properties": {
      +                "bottom": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "left": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "right": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                },
      +                "top": {
      +                  "properties": {
      +                    "length": {
      +                      "type": "number"
      +                    },
      +                    "reference": {
      +                      "type": "string"
      +                    }
      +                  },
      +                  "required": [
      +                    "reference",
      +                    "length"
      +                  ],
      +                  "type": "object"
      +                }
      +              },
      +              "type": "object"
      +            },
      +            "grain": {
      +              "enum": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "string"
      +            },
      +            "h": {
      +              "type": "number"
      +            },
      +            "material": {
      +              "type": "string"
      +            },
      +            "meta": {
      +              "type": "object"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "partNo": {
      +              "type": "integer"
      +            },
      +            "rotated": {
      +              "type": "boolean"
      +            },
      +            "sheet": {
      +              "type": "integer"
      +            },
      +            "w": {
      +              "type": "number"
      +            },
      +            "x": {
      +              "type": "number"
      +            },
      +            "y": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "sheet",
      +            "name",
      +            "partNo",
      +            "w",
      +            "h",
      +            "rotated",
      +            "x",
      +            "y"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "labelsPdf": {
      +        "format": "byte",
      +        "type": "string"
      +      },
      +      "matchedSets": {
      +        "items": {
      +          "properties": {
      +            "asBlock": {
      +              "type": "integer"
      +            },
      +            "block": {
      +              "properties": {
      +                "h": {
      +                  "type": "number"
      +                },
      +                "w": {
      +                  "type": "number"
      +                }
      +              },
      +              "required": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "object"
      +            },
      +            "id": {
      +              "type": "string"
      +            },
      +            "letter": {
      +              "type": "string"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "requested": {
      +              "type": "integer"
      +            },
      +            "split": {
      +              "type": "integer"
      +            },
      +            "unplaced": {
      +              "type": "integer"
      +            },
      +            "warnings": {
      +              "items": {
      +                "type": "string"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "id",
      +            "letter",
      +            "requested",
      +            "asBlock",
      +            "split",
      +            "unplaced",
      +            "block",
      +            "warnings"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "materials": {
      +        "items": {
      +          "properties": {
      +            "material": {
      +              "type": "string"
      +            },
      +            "placed": {
      +              "type": "integer"
      +            },
      +            "sheetCount": {
      +              "type": "integer"
      +            },
      +            "total": {
      +              "type": "integer"
      +            },
      +            "totalPrice": {
      +              "type": "number"
      +            },
      +            "yieldPct": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "material",
      +            "sheetCount",
      +            "yieldPct",
      +            "placed",
      +            "total",
      +            "totalPrice"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "metrics": {
      +        "properties": {
      +          "cutLength": {
      +            "type": "number"
      +          },
      +          "cutLines": {
      +            "type": "integer"
      +          },
      +          "placed": {
      +            "type": "integer"
      +          },
      +          "sawPasses": {
      +            "type": "integer"
      +          },
      +          "sheetCount": {
      +            "type": "integer"
      +          },
      +          "total": {
      +            "type": "integer"
      +          },
      +          "totalPrice": {
      +            "type": "number"
      +          },
      +          "yieldPct": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "sheetCount",
      +          "yieldPct",
      +          "placed",
      +          "total",
      +          "cutLines",
      +          "sawPasses",
      +          "cutLength",
      +          "totalPrice"
      +        ],
      +        "type": "object"
      +      },
      +      "pdf": {
      +        "format": "byte",
      +        "type": "string"
      +      },
      +      "planHash": {
      +        "type": "string"
      +      },
      +      "sheets": {
      +        "items": {
      +          "properties": {
      +            "grain": {
      +              "enum": [
      +                "w",
      +                "h"
      +              ],
      +              "type": "string"
      +            },
      +            "h": {
      +              "type": "number"
      +            },
      +            "material": {
      +              "type": "string"
      +            },
      +            "meta": {
      +              "type": "object"
      +            },
      +            "offcuts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  },
      +                  "x": {
      +                    "type": "number"
      +                  },
      +                  "y": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "x",
      +                  "y",
      +                  "w",
      +                  "h"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "parts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "matchedSet": {
      +                    "properties": {
      +                      "hint": {
      +                        "enum": [
      +                          "left",
      +                          "middle",
      +                          "right",
      +                          "top",
      +                          "bottom"
      +                        ],
      +                        "type": "string"
      +                      },
      +                      "id": {
      +                        "type": "string"
      +                      },
      +                      "instance": {
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      },
      +                      "position": {
      +                        "minimum": 1,
      +                        "type": "integer"
      +                      }
      +                    },
      +                    "required": [
      +                      "id",
      +                      "instance",
      +                      "position"
      +                    ],
      +                    "type": "object"
      +                  },
      +                  "meta": {
      +                    "type": "object"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "rotated": {
      +                    "type": "boolean"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  },
      +                  "x": {
      +                    "type": "number"
      +                  },
      +                  "y": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "x",
      +                  "y",
      +                  "w",
      +                  "h",
      +                  "rotated"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            },
      +            "price": {
      +              "type": [
      +                "number",
      +                "null"
      +              ]
      +            },
      +            "w": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "w",
      +            "h",
      +            "price",
      +            "parts"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "svg": {
      +        "type": "string"
      +      },
      +      "timing": {
      +        "properties": {
      +          "solveMs": {
      +            "type": "number"
      +          }
      +        },
      +        "required": [
      +          "solveMs"
      +        ],
      +        "type": "object"
      +      },
      +      "unmatchedMaterials": {
      +        "items": {
      +          "properties": {
      +            "material": {
      +              "type": "string"
      +            },
      +            "parts": {
      +              "items": {
      +                "properties": {
      +                  "h": {
      +                    "type": "number"
      +                  },
      +                  "name": {
      +                    "type": "string"
      +                  },
      +                  "qty": {
      +                    "minimum": 1,
      +                    "type": "integer"
      +                  },
      +                  "w": {
      +                    "type": "number"
      +                  }
      +                },
      +                "required": [
      +                  "name",
      +                  "w",
      +                  "h",
      +                  "qty"
      +                ],
      +                "type": "object"
      +              },
      +              "type": "array"
      +            }
      +          },
      +          "required": [
      +            "material",
      +            "parts"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "unplaced": {
      +        "items": {
      +          "properties": {
      +            "h": {
      +              "type": "number"
      +            },
      +            "name": {
      +              "type": "string"
      +            },
      +            "qty": {
      +              "minimum": 1,
      +              "type": "integer"
      +            },
      +            "w": {
      +              "type": "number"
      +            }
      +          },
      +          "required": [
      +            "name",
      +            "w",
      +            "h",
      +            "qty"
      +          ],
      +          "type": "object"
      +        },
      +        "type": "array"
      +      },
      +      "warnings": {
      +        "items": {
      +          "type": "string"
      +        },
      +        "type": "array"
      +      }
      +    },
      +    "required": [
      +      "engine",
      +      "engineVersion",
      +      "contractVersion",
      +      "deterministic",
      +      "sheets",
      +      "metrics",
      +      "unplaced",
      +      "warnings",
      +      "guillotineValid",
      +      "timing"
      +    ],
      +    "type": "object"
      +  },
      +  {
      +    "properties": {
      +      "engine": {
      +        "enum": [
      +          "max"
      +        ],
      +        "type": "string"
      +      },
      +      "jobId": {
      +        "format": "uuid",
      +        "type": "string"
      +      },
      +      "mode": {
      +        "enum": [
      +          "2d"
      +        ],
      +        "type": "string"
      +      },
      +      "pollAfterMs": {
      +        "type": "integer"
      +      },
      +      "quota": {
      +        "properties": {
      +          "limit": {
      +            "type": "integer"
      +          },
      +          "reserved": {
      +            "type": "integer"
      +          },
      +          "used": {
      +            "type": "integer"
      +          }
      +        },
      +        "type": "object"
      +      },
      +      "status": {
      +        "enum": [
      +          "queued"
      +        ],
      +        "type": "string"
      +      }
      +    },
      +    "required": [
      +      "jobId",
      +      "status",
      +      "mode",
      +      "engine",
      +      "pollAfterMs"
      +    ],
      +    "type": "object"
      +  }
      +]
  4. First observed

TDQS

A3.5/5.0
Behavior3/5

Does the description disclose side effects, auth requirements, rate limits, or destructive behavior?

Annotations already cover the safety profile (readOnlyHint false, destructiveHint false, idempotentHint false), so the description's main added value is the metering/quota signal. It also describes what a successful response contains and how matchedSets members are placed. It omits significant behavior the schemas carry, notably that engine 'max' returns a 202 jobId instead of a plan — a materially different call outcome.

Agents need to know what a tool does to the world before calling it. Descriptions should go beyond structured annotations to explain consequences.

Conciseness4/5

Is the description appropriately sized, front-loaded, and free of redundancy?

Front-loads the cost signal and the core action, then the return contents, then the one non-obvious feature (matchedSets). Six sentences with little repetition, though the '2D panel optimization' restatement is redundant with the opening sentence.

Shorter descriptions cost fewer tokens and are easier for agents to parse. Every sentence should earn its place.

Completeness4/5

Given the tool's complexity, does the description cover enough for an agent to succeed on first attempt?

For a tool with an output schema and a heavily annotated input schema, the description covers action, cost, outputs and the grain-matching feature adequately. The main gap is that the async 'max' engine path and the validation sibling are not surfaced at the description level, so an agent reading only this text could be surprised by a 202.

Complex tools with many parameters or behaviors need more documentation. Simple tools need less. This dimension scales expectations accordingly.

Parameters3/5

Does the description clarify parameter syntax, constraints, interactions, or defaults beyond what the schema provides?

Schema description coverage is 50%, but the schema's own per-field descriptions are extremely rich, so most parameter meaning is already structured data. The description adds only set-level semantics for matchedSets (one kerf apart, position reported per member) and does not compensate for the undocumented half of the parameters.

Input schemas describe structure but not intent. Descriptions should explain non-obvious parameter relationships and valid value ranges.

Purpose4/5

Does the description clearly state what the tool does and how it differs from similar tools?

States a specific verb and resource ('Cut rectangular parts from sheets ... get the layout, cut plan and yield') and pins the problem shape ('Nest rectangular parts into rectangular sheets'), which implicitly separates it from optimize_1d and optimize_nest. It never names a sibling explicitly, so an agent must infer the boundary from 'rectangular' and '2D'.

Agents choose between tools based on descriptions. A clear purpose with a specific verb and resource helps agents select the right tool.

Usage Guidelines3/5

Does the description explain when to use this tool, when not to, or what alternatives exist?

'Metered: one Engine API call' warns about cost, and the rectangular-parts framing implies the correct domain. But there is no explicit statement of when to prefer this over optimize_nest/optimize_wood or when to run validate_2d first, leaving routing to the agent's inference.

Agents often have multiple tools that could apply. Explicit usage guidance like "use X instead of Y when Z" prevents misuse.

Try in Browser

Glama MCP Gateway

Add one secure layer between your agents and this server.