Documentation de l'API
URL de base https://api.cutoptim.com · version du contrat v1
Créez une clé sur votre tableau de bord, puis envoyez-la sous la forme Authorization: Bearer <key>.
▶ Essayer l'API en direct — sans inscriptionUtilise une clé de démo publique — limitée, petits travaux uniquement, jamais facturée.
Intégrations
GuidesEN
ConceptsEN
Endpoints
| Méthode | Chemin | Description |
|---|---|---|
| POST | /v1/optimize/2d | optimisation de panneaux 2D |
| POST | /v1/optimize/1d | optimisation 1D / linéaire (barres, profilés, tubes) |
| POST | /v1/optimize/wood | optimisation du bois — 1D avec correspondance de section |
| POST | /v1/optimize/nest | imbrication à forme réelle — polygones irréguliers sur feuilles fixes, avec zones d'exclusion (laser / plasma / jet d'eau) |
| POST | /v1/validate/2d | valider une requête sans la résoudre — gratuit, sans clé, sans quota (2d / 1d / wood / nest) |
| POST | /v1/validate/1d | valider une requête sans la résoudre — gratuit, sans clé, sans quota (2d / 1d / wood / nest) |
| POST | /v1/validate/wood | valider une requête sans la résoudre — gratuit, sans clé, sans quota (2d / 1d / wood / nest) |
| POST | /v1/validate/nest | valider une requête sans la résoudre — gratuit, sans clé, sans quota (2d / 1d / wood / nest) |
| GET | /v1/jobs/{id} | interroger un travail asynchrone du moteur max — renvoie son statut et, une fois terminé, le plan (sans quota ; vos propres travaux uniquement) |
| POST | /v1/import/nest | lit les contours de pièces dans un fichier SVG ou DXF — nécessite une clé, ne consomme aucun quota |
| GET | /v1/usage | consommation et quota du COMPTE sur le mois en cours |
| GET | /v1/health | état de disponibilité — sans clé, sans limite de débit, sans base de données |
POST /v1/validate/{2d,1d,wood,nest} — response
The request is well-formed. No solve ran and no quota was spent.
| Champ | Type | Description |
|---|---|---|
| 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). |
Spécification OpenAPI
Un document OpenAPI 3.1 exploitable par une machine décrit les douze endpoints, chaque corps de requête, chaque structure de réponse et chaque erreur. Pointez votre générateur de client dessus plutôt que de recopier cette page. Le document lui-même est uniquement en anglais : il est constitué de jetons du contrat, et OpenAPI ne dispose d'aucun mécanisme de localisation.
curl -s https://cutoptim.com/engine/openapi.json > cutoptim-engine.jsonOuvrir le document OpenAPI 3.1 →
- 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.