Calculations Quote
calculations_quoteDestructive
Convenience: create + enqueue in one round-trip.
Equivalent to POST / + POST /{id}/run. With
costing_environment_ids the part is priced in every requested
environment at once (one calculation per environment, grouped under
batch_id for comparison).
Input Schema
TableJSON Schema
| Name | Required | Description | Default |
|---|---|---|---|
| name | No | Optional human-readable label; defaults to a timestamped name when omitted. | |
| engine | No | Pricing engine selector; retained for back-compat and always normalized to the sole engine. | arcnm |
| region | No | Pricing region override; defaults to the costing environment's region when omitted. | |
| currency | No | ISO 4217 currency code for the quote; defaults to the costing environment's currency when omitted. | |
| language | No | BCP 47 language for the calculation's captured context (e.g. 'de', 'en'). Part of the calculation's cache identity. | de |
| lot_size | No | Number of identical parts produced per batch (1 to 1,000,000,000). | |
| material_ref | No | Free-form material reference (URN, Werkstoffnummer, AISI/SAE code, trade name, or your SKU); resolved to a material grade. Unresolvable values are rejected with 422 material_unresolved plus ranked candidates. Omit to price the material read from the part's drawing (or the environment default). | |
| nest_item_id | No | Price this calculation's material on its part's line of a job nest — the `id` of a line (`items[].id`) of a job nest that has solved it. The material is then the line's share of the sheets the job nest cut it from together with other parts, less its share of what their skeleton and reusable rests earn back; everything else is priced as usual. The line must be of your organization, of this costing environment and of this part revision, and its job nest must have solved it; otherwise the request is rejected with 422 `nest_item_unresolved`, `details.reason` saying why. It cannot be combined with `stock_format_id` or with customer-supplied material. An upload creates a new part revision, so the upload forms reject every line. A line of the sheets an assembly shares among its own components prices that assembly only: naming one is rejected as `not_found`, and a re-run of such a component prices it on its own sheet. Omit it to price the part on its own sheet. On a re-run (`derived_from_calculation_id`), omitting it keeps the line of the calculation re-run; send `null` to price the part on its own sheet. | |
| annual_volume | No | Expected yearly quantity, used for amortizing setup over the run (1 to 1,000,000,000). | |
| dataset_link_id | No | UUID of a specific dataset link to use; omit to use the revision's active primary CAD. | |
| stock_format_id | No | Price this calculation on one stock format — the `id` of a format from `GET /stock-formats`. An id names the format, not only the version it came from: when the format has been changed since, the version current on the day the calculation is created is used. An id your organization cannot price with today (unknown, retired or hidden) is rejected with 422 `stock_format_unresolved`. When the part cannot be cut from that format — too small, not bought in the part's thickness or material, or one the machine cannot load — or is not cut from sheet at all (milled, turned or bought finished), the calculation is priced as if none had been chosen, and `analytics.pipeline_notes` says why (`stock_format_pin_unavailable`). Omit it to price on the format that uses the least material per part. On a re-run (`derived_from_calculation_id`), omitting it keeps the format of the calculation re-run; send `null` to price without one. | |
| stock_format_mm | No | Price this calculation on a sheet of this size — length and width in mm — instead of a stock format from `GET /stock-formats`: the part is laid out on that one sheet, cut to size by your supplier, and the purchased stock says `format_source` `custom`. It cannot be combined with `stock_format_id` or `nest_item_id`. When the part does not fit the sheet, or is not cut from sheet stock at all, the calculation is priced as if none had been stated and `analytics.pipeline_notes` says why. On a re-run (`derived_from_calculation_id`), omitting both it and `stock_format_id` keeps the size or format of the calculation re-run; send `null` to price without one. | |
| part_revision_id | Yes | UUID of the part revision to price. | |
| full_stock_charge | No | How the started sheet or bar of the lot is charged: `auto` applies the environment's `full_stock_threshold` (the lot pays the whole piece once its parts fill that share of it, the unused cells credited as scrap where scrap is credited); `full` charges the whole piece at any lot; `full_no_credit` charges it whole with no scrap credit on the unused cells; `share` charges only the lot's share at any lot. A lot of whole pieces, or a piece holding one part, is charged the same under every word. On a re-run (`derived_from_calculation_id`), omitting it keeps the word of the calculation re-run. | auto |
| material_grade_id | No | UUID of a resolved material grade; takes precedence over material_ref when both are supplied. | |
| provided_stock_kind | No | Shape of the provided stock. 'near_net_profile' (extruded profile) additionally scopes the process plan to the features the profile does not already provide. | none |
| material_is_provided | No | True when the customer supplies the raw material (beigestellt) — the material cost line is set to zero; machining, setup and overheads are billed normally. | |
| costing_environment_id | No | UUID of the costing environment (machine rates, region) to price against. Omit to use your organization's default environment (the auto-provisioned default baseline). | |
| costing_environment_ids | No | Price this part in several environments at once, in comparison order. Each environment becomes one calculation and counts as one against the plan quota. Mutually exclusive with ``costing_environment_id``; duplicates are collapsed preserving first occurrence. The response then carries ``batch_id`` and ``environment_runs``. | |
| derived_from_calculation_id | No | The calculation this one is re-run from — pass it when pricing again after a drawing was attached or from a result's own page, so the new calculation records what it supersedes. Must name a calculation of your organization; the new calculation is its own row and counts as one. |