API-Referenz
Basis-URL https://api.cutoptim.com · Contract-Version v1
Erstellen Sie einen Schlüssel in Ihrem Dashboard und senden Sie ihn dann als Authorization: Bearer <key>.
▶ API live ausprobieren — ohne AnmeldungNutzt einen öffentlichen Demo-Schlüssel — begrenzt, nur kleine Aufträge, wird nie abgerechnet.
Integrationen
AnleitungenEN
KonzepteEN
Endpoints
| Methode | Pfad | Beschreibung |
|---|---|---|
| POST | /v1/optimize/2d | 2D-Plattenoptimierung |
| POST | /v1/optimize/1d | 1D-/Linearoptimierung (Stäbe, Profile, Rohre) |
| POST | /v1/optimize/wood | Holzoptimierung — 1D mit Querschnitts-Zuordnung |
| POST | /v1/optimize/nest | True-Shape-Nesting — unregelmäßige Polygone auf festen Platten, mit Ausschlusszonen (Laser / Plasma / Wasserstrahl) |
| POST | /v1/validate/2d | eine Anfrage prüfen, ohne zu rechnen — kostenlos, kein Schlüssel, kein Kontingent (2d / 1d / wood / nest) |
| POST | /v1/validate/1d | eine Anfrage prüfen, ohne zu rechnen — kostenlos, kein Schlüssel, kein Kontingent (2d / 1d / wood / nest) |
| POST | /v1/validate/wood | eine Anfrage prüfen, ohne zu rechnen — kostenlos, kein Schlüssel, kein Kontingent (2d / 1d / wood / nest) |
| POST | /v1/validate/nest | eine Anfrage prüfen, ohne zu rechnen — kostenlos, kein Schlüssel, kein Kontingent (2d / 1d / wood / nest) |
| GET | /v1/jobs/{id} | einen asynchronen Job der max-Engine abfragen — liefert seinen status und, sobald fertig, den Plan (kein Kontingent; nur Ihre eigenen Jobs) |
| POST | /v1/import/nest | Teileumrisse aus einer SVG- oder DXF-Datei lesen — Schlüssel erforderlich, verbraucht kein Kontingent |
| GET | /v1/usage | Verbrauch und Kontingent des KONTOS im laufenden Monat |
| GET | /v1/health | Liveness — kein Schlüssel, kein Rate-Limit, keine Datenbank |
POST /v1/validate/{2d,1d,wood,nest} — response
The request is well-formed. No solve ran and no quota was spent.
| Feld | Typ | Beschreibung |
|---|---|---|
| valid | boolean | Always true on a 200 — a malformed request is a 400 with the exact bad field path (details.path) instead. The body is the SAME one the matching optimize endpoint takes. |
| mode | "2d" | "1d" | "wood" | "nest" | The endpoint you called. |
| contractVersion | string | Shape version. Currently "1". |
| engineEnabled | boolean | Nest only — whether the nesting engine is built into this deployment. Absent for the rectangular modes. |
| parts | { rows, total } | Part rows sent, and the total quantity after qty expansion. Check it against the part cap before you spend a call. |
| parts.rows | integer | Number of part rows sent. |
| parts.total | integer | Total quantity across all part rows (Σ qty). |
| stock | { rows, total } | The same for stock. |
| stock.rows | integer | Number of stock rows sent. |
| stock.total | integer | Total quantity across all stock rows (Σ qty). |
| warnings | string[] | Approximate, solve-free feasibility notes — e.g. a part that fits no stock (2D and nest: by bounding box; wood: no matching section long enough). Empty ⇒ every part fits some stock. Ignores trim/kerf/material (a shape check, not a solve). |
OpenAPI-Spezifikation
Ein maschinenlesbares OpenAPI 3.1-Dokument beschreibt alle zwölf Endpoints, jeden Request-Body, jede Antwortstruktur und jeden Fehler. Richten Sie Ihren Client-Generator darauf, statt diese Seite abzuschreiben. Das Dokument selbst ist ausschließlich englisch: es besteht aus Contract-Tokens, und OpenAPI besitzt keinen Lokalisierungsmechanismus.
curl -s https://cutoptim.com/engine/openapi.json > cutoptim-engine.json- TypeScript
npm install @cutoptim/engine
GitHub · npm - Python
pip install cutoptim
GitHub · PyPI - PHP
composer require cutoptim/engine
GitHub · Packagist
A two-page summary of the Engine API — the four modes (2D, 1D, wood and true-shape nest), a request and response, determinism and pricing. Print-ready, with a QR back to the docs.