Skip to content
NestSolver Docs
Browse the docs

Reference

Models

Every request and answer shape, field by field, as the OpenAPI document defines them.

LinearZone

Fields it doesn't name are ignored.

Field Type Meaning
start required string Where the zone starts along the stock.
end required string Where it ends.
keep required boolean Whether the span is kept as a drop.

LinearStock

Fields it doesn't name are ignored.

Field Type Meaning
length required string The stock length.
qty required string How many; blank for as many as needed.
minimum_drop required string The shortest drop worth keeping.
price string One length's price in dollars.
material_key string A material name; parts with one use only its stock. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
zones required array of LinearZone Blocked zones: defects, bad sections, or edge trims. At most 100 a stock.

LinearPart

Fields it doesn't name are ignored.

Field Type Meaning
length required string The part's length.
quantity required string How many: at most 20,000.
label required string A name for the part.
priority boolean A rush part, placed first. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
material_key string Typed exactly as on the web form; blank for none. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
finish_left boolean Finish the left end. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
finish_right boolean Finish the right end. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
finish_label string Typed exactly as on the web form; blank for none. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
miter_left string The left end's angle in degrees, 1 to 179; 90 is square. Counts only with miter_enabled.
miter_right string The right end's angle in degrees, 1 to 179; 90 is square. Counts only with miter_enabled.

LinearRequest

A linear cut list, field for field as the web optimizer saves it. Fields it doesn't name are ignored.

Field Type Meaning
v integer The form's version: 1.
unit required string The unit lengths are typed in. One of mm , cm , m , in
kerf required string The saw's kerf.
stock_mode string Lengths of stock, or a roll cut to length. "roll" needs the Bench plan; asked for on another plan, the request is refused with a 403. Anything but "roll" reads as "stock". One of stock , roll
miter_enabled boolean Whether parts' miter angles count. On every plan.
material_width string The stock's width, for miters.
target required string What the plan aims for. "cost" needs the Bench plan; asked for on another plan, the request is refused with a 403. One of bars , waste , drop , cost
strict required boolean Fail when a part is left out.
stocks required array of LinearStock The stock lengths to cut from. At most 100 rows.
parts required array of LinearPart The parts to cut. At most 1000 rows, and 20,000 pieces in all.

SheetDefect

A defect region: its bottom-left corner and size. Fields it doesn't name are ignored.

Field Type Meaning
x string Typed exactly as on the web form; blank for none.
y string Typed exactly as on the web form; blank for none.
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.

SheetStock

Fields it doesn't name are ignored.

Field Type Meaning
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.
qty string How many; blank for as many as needed.
price string One sheet's price in dollars; blank for none.
material_key string Typed exactly as on the web form; blank for none. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
trim_left string Typed exactly as on the web form; blank for none.
trim_right string Typed exactly as on the web form; blank for none.
trim_bottom string Typed exactly as on the web form; blank for none.
trim_top string Typed exactly as on the web form; blank for none.
defects array of SheetDefect Defect regions on the sheet. At most 50 a sheet.
grain string Which way the sheet's grain runs: along its width, along its height, or none. A part whose grain matters lines up with it; on a sheet with no grain any part may turn. One of width , height , none

SheetPart

Fields it doesn't name are ignored.

Field Type Meaning
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.
quantity string Typed exactly as on the web form; blank for none.
label string Typed exactly as on the web form; blank for none.
grain boolean The part's grain matters and runs along its width, so it lines up with each sheet's grain. Kept from turning on a sheet grained along its width.
priority boolean A rush part. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
material_key string Typed exactly as on the web form; blank for none. Needs the Bench plan; asked for on another plan, the request is refused with a 403.
grain_along string Which way the part's grain runs: along its width or its height. Either one means its grain matters, as grain does; blank leaves it to grain. One of , width , height
band string The name of one of band_types to band the part's edges with; blank for none. Needed when band_long or band_short is above 0.
band_long integer How many of the part's long edges are banded. The long edges run along its longer typed side (its width when square). One of 0 , 1 , 2
band_short integer How many of the part's short edges are banded. One of 0 , 1 , 2

SheetRequest

A sheet cut list, field for field as the web's sheet form saves it. Fields it doesn't name are ignored.

Field Type Meaning
v integer The form's version: 1.
unit required string The unit lengths are typed in. One of mm , cm , m , in
kerf string The saw's kerf; blank for none.
mode string A panel saw's edge-to-edge cuts, or a CNC router's free placement. Anything but "free" reads as "guillotine". One of guillotine , free
stages string A panel saw's cut stages; anything else reads as 3. One of 2 , 3
minimum_leftover string The smallest leftover worth keeping.
target string What the plan aims for. "cost" needs the Bench plan; asked for on another plan, the request is refused with a 403. One of sheets , waste , leftover , cost
strict boolean Fail when a part is left out.
sheets required array of SheetStock The sheets to cut from. At most 100 rows.
parts required array of SheetPart The parts to cut. At most 1000 rows, and 20,000 pieces in all.
band_types array of SheetBandType The edge bands parts may take. At most 20.
part_sizes string Whether part sizes are finished sizes, edge band included, so the band's thickness comes off each banded edge to give the size cut; or the sizes cut from the sheet, with the band added on after. One of finished , cut
band_waste string The percent of edge band to order on top of what the edges measure; blank for none.

NestSheet

Fields it doesn't name are ignored.

Field Type Meaning
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.
quantity string Typed exactly as on the web form; blank for none.
price string Typed exactly as on the web form; blank for none.
material string Typed exactly as on the web form; blank for none.
defects string Defects as "x y width height" groups split by semicolons. Needs the Shop plan; asked for on another plan, the job is refused with a 403.

NestLibraryRow

Fields it doesn't name are ignored.

Field Type Meaning
quantity string How many to nest; 0 or blank leaves the part out.
rotation string How the part may turn. Anything else reads as "quarter". One of fixed , quarter , eighth , any
mirror boolean The part may be flipped over.
rush boolean A rush part, placed first.

NestTypedRow

Fields it doesn't name are ignored.

Field Type Meaning
kind string A rectangle by width and height, or a circle by diameter. Anything but "circle" reads as "rectangle". One of rectangle , circle
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.
diameter string Typed exactly as on the web form; blank for none.
quantity string Typed exactly as on the web form; blank for none.
label string Typed exactly as on the web form; blank for none.
rotation string How the part may turn. Anything else reads as "quarter". One of fixed , quarter , eighth , any
mirror boolean The part may be flipped over.
rush boolean A rush part, placed first.

NestRequest

A true-shape nest, field for field as the web's nest form sends it. Any nest needs the Bench plan; on another plan the job is refused with a 403. Fields it doesn't name are ignored.

Field Type Meaning
unit required string The unit lengths are typed in. One of mm , cm , m , in
part_spacing string The gap kept between parts, in unit; blank is 0. It holds inside holes too: smaller parts nest in bigger parts' holes and keep this gap from the hole's edge.
edge_spacing string The strip kept clear along all four edges of every sheet, in unit, for clamps or a rough edge; blank is 0.
target string What the nest aims for: the fewest sheets, the least waste, or the lowest cost. Anything else reads as "fewest". One of fewest , waste , cost
strict boolean Fail when a part is left out.
deep boolean Once the month's full-speed pool is spent, search in the deep lane rather than the slower one: the plan's whole search time, starting once the workspace has nothing else waiting or running. Within the pool it changes nothing. Needs the Works plan; asked for on another plan, the job is refused with a 403.
sheets array of NestSheet Sheet rows. A row with no width and no height is blank and is dropped. At most 200 rows.
library object of NestLibraryRow Saved parts by id: the workspace's part library, which GET /v1/parts lists with each part's id. A part whose quantity is blank or 0 is left out. At most 200 parts.
typed array of NestTypedRow Rectangles and circles typed by size. A row with no size (no width and no height, or no diameter for a circle) is blank and is dropped. At most 200 rows.
remnants array of string Ids of the workspace's nest remnants, sheets saved from an earlier nest, to nest on after the typed sheets. An id sent twice is used once. Needs the Shop plan; asked for on another plan, the job is refused with a 403. At most 200 ids.

LoadAxles

Fields it doesn't name are ignored.

Field Type Meaning
on boolean Check this semi-trailer's axle loads.
tractor_weight string Typed exactly as on the web form; blank for none.
empty_trailer_weight string Typed exactly as on the web form; blank for none.
front_axle_to_middle_axle string Typed exactly as on the web form; blank for none.
front_axle_to_tractor_centre string Typed exactly as on the web form; blank for none.
front_axle_to_harness string Typed exactly as on the web form; blank for none.
harness_to_rear_axle string Typed exactly as on the web form; blank for none.
trailer_centre_to_rear_axle string Typed exactly as on the web form; blank for none.
trailer_front_to_harness string Typed exactly as on the web form; blank for none.
middle_axle_limit string Typed exactly as on the web form; blank for none.
rear_axle_limit string Typed exactly as on the web form; blank for none.

LoadSpace

Fields it doesn't name are ignored.

Field Type Meaning
kind string What the space is. Anything else reads as "pallet". One of carton , pallet , vehicle
label string Typed exactly as on the web form; blank for none.
length string Typed exactly as on the web form; blank for none.
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.
own_weight string Typed exactly as on the web form; blank for none.
weight_limit string Typed exactly as on the web form; blank for none.
quantity string Blank for as many as needed.
price string Typed exactly as on the web form; blank for none.
loading string Where its doors are. Anything but "side" reads as "back". One of back , side
density string The floor load limit: kg a square metre, or lb a square foot for inches.
wall string A carton's board thickness.
deck string A pallet's deck height.
carries boolean Others may stack on it once filled.
most_in_stack string Typed exactly as on the web form; blank for none.
most_above string Typed exactly as on the web form; blank for none.
axles LoadAxles Fields it doesn't name are ignored.

LoadCargo

Fields it doesn't name are ignored.

Field Type Meaning
label string Typed exactly as on the web form; blank for none.
length string Typed exactly as on the web form; blank for none.
width string Typed exactly as on the web form; blank for none.
height string Typed exactly as on the web form; blank for none.
weight string Kilograms, or pounds for inches.
quantity string Typed exactly as on the web form; blank for none.
turning string Whether it must stay upright or may turn any way. Anything but "any" reads as "upright". One of upright , any
carries boolean Others may stack on it.
most_in_stack string Typed exactly as on the web form; blank for none.
most_above string Typed exactly as on the web form; blank for none.
nesting string How far each item sinks into the one below.
stop string The delivery it comes off at, 1 first.
keep_apart string A name it shares stacks only with.

LoadRequest

A load, field for field as the web's load form sends it. Every plan takes a load; on Free, a sixth load in a month is refused with a 403. Fields it doesn't name are ignored.

Field Type Meaning
unit required string The unit lengths are typed in. One of mm , cm , m , in
stages string One stage of spaces, or cartons into pallets into vehicles. "three" needs the Works plan; asked for on another plan, the job is refused with a 403. Anything but "three" reads as "one". One of one , three
mode string A one-stage load's placing: stacked in layers, or free. Anything but "free" reads as "stacked". One of stacked , free
target string What the plan aims for: the fewest spaces, or the lowest cost. "cost" needs the Works plan; asked for on another plan, the job is refused with a 403. Anything but "cost" reads as "fewest". One of fewest , cost
strict boolean Fail when an item is left out.
deep boolean Once the month's full-speed pool is spent, search in the deep lane rather than the slower one: the plan's whole search time, starting once the workspace has nothing else waiting or running. Within the pool it changes nothing. Needs the Works plan; asked for on another plan, the job is refused with a 403.
spaces array of LoadSpace A one-stage load's spaces. At most 30 rows.
cartons array of LoadSpace Three stages: the cartons items go into. At most 30 rows.
pallets array of LoadSpace Three stages: the pallets cartons go onto. At most 30 rows.
vehicles array of LoadSpace Three stages: the vehicles pallets go into. At most 30 rows.
cargo array of LoadCargo The items to load. At most 200 rows.

IdArgument

Field Type Meaning
id required string The job's or plan's id.

NoArguments

UnitArgument

Field Type Meaning
unit string The unit sizes are written in. Without it, the unit the key's owner picked on the web. One of mm , cm , m , in

Problem

Field Type Meaning
field required string , or null Where in the request, like "parts[2].length".
message required string The web's words for it.
upgrade required string , or null The lowest plan that takes the job, past a cap.

Errors

Field Type Meaning
errors required array of Problem Each problem, naming its field when there is one.

Validation

Field Type Meaning
valid required boolean Whether the cut list has no problems.
errors required array of Problem Each problem, naming its field.

Started

Field Type Meaning
id required string The job's id.
kind required string A nest or a load. One of nest , load
status required string Waiting for a worker. One of queued
links required object Where to watch the job.
links.status required string

JobStatus

Field Type Meaning
id required string The job's id.
kind required string A nest or a load. One of nest , load
status required string Waiting, searching, finished with a plan, or failed. One of queued , running , done , failed
lane required string Where the search runs: within the month's pool, past it, or the Works plan's deep lane. One of full_speed , slower , deep
search_seconds required integer Seconds searched, written when the job finishes or fails; 0 while it is queued or running.
plan_id required string , or null The finished plan's id, once the job is done.
failure required string , or null Why the job failed, in plain words, once it has.
links required object This status, and the finished plan once there is one.
links.status required string
links.plan required string , or null

Usage

Field Type Meaning
plan required string The workspace's plan. One of free , bench , shop , works
pool_seconds required integer This month's full-speed search time.
used_seconds required integer Full-speed search time used this month.
left_seconds required integer Full-speed search time left this month.
next_lane required string The lane the next nest or load searches in. One of full_speed , slower , deep
loads_limit required integer , or null On a plan with a monthly load cap (Free), the loads the workspace may start this month; null on other plans.
loads_used required integer , or null On a plan with a monthly load cap, the loads started this month, failed ones aside; null on other plans.
loads_left required integer , or null On a plan with a monthly load cap, the loads left this month; null on other plans.

SavedPart

Field Type Meaning
id required string The part's id: its key in a nest's `library`.
label required string The part's name.
width required number The width of the box around the part, in the listing's unit.
height required number The height of the box around the part, in the listing's unit.
holes required integer How many holes are cut through it.
rotation required string How it turns unless a nest says otherwise; send it as the library row's `rotation` to keep it. One of fixed , quarter , eighth , any
mirror required boolean Whether it may be flipped over unless a nest says otherwise; send it as the library row's `mirror` to keep it.

Parts

Field Type Meaning
unit required string The unit sizes are written in. One of mm , cm , m , in
parts required array of SavedPart The workspace's saved parts, newest first.

SavedSpace

A saved space as a row of a load's `spaces`, `cartons`, `pallets` or `vehicles`, typed in the listing's unit, with blank fields left out. Send it in a load with the same `unit`.

Field Type Meaning
id required string The saved space's id. A load ignores it, so the row can be sent as it is.
kind required string What the space is. One of carton , pallet , vehicle
label string Its name.
length string Inside length, in the listing's unit.
width string Inside width, in the listing's unit.
height string Inside height, in the listing's unit.
own_weight string Its own weight, in `weight_unit`.
weight_limit string The most weight it takes, in `weight_unit`.
quantity string How many there are; left out for as many as needed.
price string What one costs.
loading string Where its doors are; left out for the back. One of back , side
density string The floor load limit: kg a square metre, or lb a square foot for inches.
wall string A carton's board thickness.
deck string A pallet's deck height.
carries boolean Others may stack on it once filled; left out when not.
most_in_stack string The most in one stack.
most_above string The most weight above it, in `weight_unit`.
axles LoadAxles Fields it doesn't name are ignored.

Spaces

Field Type Meaning
unit required string The unit lengths are typed in. One of mm , cm , m , in
weight_unit required string The unit weights are typed in: kilograms, or pounds for inches. One of kg , lb
spaces required array of SavedSpace The workspace's saved spaces.

CostSummary

The plan's cost in cents, once the stock is priced.

Field Type Meaning
total_cents required integer
waste_cents required integer The wasted stock's share.
drop_value_cents required integer What the reusable drops are worth.

LinearCut

Field Type Meaning
at required number Where the cut starts along the bar.
length required number In the request's unit.
label required string
rush required boolean

LinearBlocked

Field Type Meaning
start required number In the request's unit.
end required number In the request's unit.
keep required boolean Kept as a drop.

LinearLeftover

Field Type Meaning
start required number In the request's unit.
end required number In the request's unit.
kind required string One of drop , scrap

LinearBar

Field Type Meaning
stock_row required integer The stock row it was cut from, from zero.
length required number In the request's unit.
material required string
cuts required array of LinearCut
blocked required array of LinearBlocked
leftovers required array of LinearLeftover
drop required number In the request's unit.
scrap required number In the request's unit.

LinearUnplaced

Field Type Meaning
length required number In the request's unit.
label required string
quantity required integer

LinearReport

The plan: its figures, each bar's cuts and leftovers, what didn't fit, its cost, and why. Lengths are in the request's unit.

Field Type Meaning
unit required string
metrics required object
metrics.bars required integer
metrics.stock_length required number In the request's unit.
metrics.parts_length required number In the request's unit.
metrics.drop required number In the request's unit.
metrics.blocked required number In the request's unit.
metrics.scrap required number In the request's unit.
metrics.utilization_percent required number
bars required array of LinearBar
unplaced required array of LinearUnplaced Parts that didn't fit.
cost required CostSummary , or null The plan's cost in cents, once the stock is priced.
unpriced_stock_rows required array of integer Stock rows used without a price.
explanation required string Why the plan came out as it did.

SheetPlaced

Field Type Meaning
part_row required integer The part row, from zero.
label required string
x required number In the request's unit.
y required number In the request's unit.
width required number In the request's unit.
height required number In the request's unit.
rotated required boolean
finished_width required number The part's width with its edge band, in the request's unit. width and height are the size cut, as it sits on the sheet.
finished_height required number The part's height with its edge band, in the request's unit.
grain required string Which way the part's grain runs, as typed. One of width , height , none
band required stringnull The band type on its edges, or null.
band_long required integer How many long edges are banded.
band_short required integer How many short edges are banded.

SheetCut

Field Type Meaning
stage required integer
axis required string One of vertical , horizontal
at required number In the request's unit.
from required number In the request's unit.
to required number In the request's unit.

SheetLeftover

Field Type Meaning
x required number In the request's unit.
y required number In the request's unit.
width required number In the request's unit.
height required number In the request's unit.
kind required string One of reusable , scrap

SheetLayout

Field Type Meaning
sheet_row required integer The sheet row, from zero.
width required number In the request's unit.
height required number In the request's unit.
material required string
parts required array of SheetPlaced
cuts required array of SheetCut A panel saw's cuts by stage.
leftovers required array of SheetLeftover
grain required string Which way the sheet's grain runs. One of width , height , none

SheetUnplaced

Field Type Meaning
part_row required integer
label required string
count required integer

SheetReport

The plan: its figures, each sheet's parts, saw cuts, and leftovers, what didn't fit, its cost, the edge band per band type, and why.

Field Type Meaning
unit required string
metrics required object
metrics.sheets required integer
metrics.parts_placed required integer
metrics.parts_requested required integer
metrics.sheet_area required number In square units.
metrics.part_area required number
metrics.reusable_area required number
metrics.reusable_leftovers required integer
metrics.waste_area required number
metrics.utilization_percent required number
metrics.waste_percent required number
sheets required array of SheetLayout
unplaced required array of SheetUnplaced
cost required CostSummary , or null The plan's cost in cents, once the stock is priced.
unpriced_sheet_rows required array of integer
banding required array of SheetBandTotal The edge band the placed parts take, one entry per band type used.
explanation required string

NestPlaced

Field Type Meaning
part_row required integer The part's row, from 0, among the parts the job kept: first the saved parts asked for (a quantity other than blank or 0), in the order of the workspace's part library rather than the order the request lists them, then the typed rows that are not blank, in request order. Blank rows are dropped before counting, so this can be lower than the row's place in the request body; match a saved part by `label` or by the library's order.
label required string
x required number In the request's unit.
y required number In the request's unit.
angle_degrees required number Turned counter-clockwise.
mirrored required boolean
outline required array of array of number The placed outline's corners.
holes required array of array of array of number

NestLayout

Field Type Meaning
sheet_row required integer The sheet's row, from 0, among the sheets the job kept: first the `sheets` rows that are not blank, in request order, then the `remnants`, in request order with repeats dropped. Blank sheet rows are dropped before counting, so this can be lower than the row's place in the request body.
width required number In the request's unit.
height required number In the request's unit.
material required string
parts required array of NestPlaced

NestUnplaced

Field Type Meaning
part_row required integer The part's row, from 0, among the parts the job kept: first the saved parts asked for (a quantity other than blank or 0), in the order of the workspace's part library rather than the order the request lists them, then the typed rows that are not blank, in request order. Blank rows are dropped before counting, so this can be lower than the row's place in the request body; match a saved part by `label` or by the library's order.
label required string
count required integer

NestReport

A nest: its figures, each sheet's parts with their placed outlines, what didn't fit, its cost, and why.

Field Type Meaning
unit required string
metrics required object
metrics.sheets required integer
metrics.parts_placed required integer
metrics.parts_requested required integer
metrics.sheet_area required number
metrics.part_area required number
metrics.unused_area required number
metrics.utilization_percent required number
sheets required array of NestLayout
unplaced required array of NestUnplaced
cost_cents required integer , or null
explanation required string

LoadItem

Field Type Meaning
step required integer Its loading step (see loading_steps): items loaded together share one.
item_row required integer The item's cargo row, from 0, among the rows the job kept: blank rows (no length, width or height sent) are dropped first, so this can be lower than the row's place in the request body. In a later linked stage the items are the stage before's cartons or pallets, numbered in that stage's order.
label required string
x required number In the request's unit.
y required number In the request's unit.
z required number In the request's unit.
length required number In the request's unit.
width required number In the request's unit.
height required number In the request's unit.
weight required number In kilograms, or pounds for inches.
stop required integer

LoadLayout

Field Type Meaning
space_row required integer The space's row in its stage's rows (spaces, cartons, pallets or vehicles), from 0, among the rows the job kept: blank rows (no length, width or height sent) are dropped first, so this can be lower than the row's place in the request body.
kind required string One of carton , pallet , vehicle
label required string
length required number In the request's unit.
width required number In the request's unit.
height required number In the request's unit.
weight required number In kilograms, or pounds for inches.
weight_limit required number , or null In kilograms, or pounds for inches.
centre_of_gravity required object , or null Where the loaded cargo balances: x, y and z from the space's front-left floor corner, and its offset from the middle of the floor.
centre_of_gravity.x required number In the request's unit.
centre_of_gravity.y required number In the request's unit.
centre_of_gravity.z required number In the request's unit.
centre_of_gravity.offset_along required number From the middle of the floor along the length, in the request's unit: positive toward the back (where back doors are), negative toward the front.
centre_of_gravity.offset_across required number From the middle of the floor across the width, in the request's unit: positive toward the right, negative toward the left.
axle_loads required object , or null
axle_loads.middle required number In kilograms, or pounds for inches.
axle_loads.rear required number In kilograms, or pounds for inches.
items required array of LoadItem In loading order.
loading_steps required array of LoadStep The order to load the space: the last stop's items first, then from the far end toward the doors, bottom to top, never an item before what it rests on. Each step is items of one cargo row loaded together, like one stack or one wall.

LoadUnplaced

Field Type Meaning
item_row required integer The item's cargo row, from 0, among the rows the job kept: blank rows (no length, width or height sent) are dropped first, so this can be lower than the row's place in the request body. In a later linked stage the items are the stage before's cartons or pallets, numbered in that stage's order.
label required string
count required integer
reason required string One of too_big , too_heavy , spaces_used_up , no_spot
why required string Why, in plain words.
fix required string The nearest fix, with the numbers that show it, like "2600 mm long; the longest space is 2400 mm. Add a longer space."
over required object , or null Set for too_big and too_heavy when one side or the weight is to blame.
over.by required string Upright items compare their longer floor side (length), shorter floor side (width) and height; items that may turn any way compare their longest, middle and shortest sides. One of length , width , height , longest_side , middle_side , shortest_side , weight
over.needed required number In the request's unit, or kilograms (pounds for inches) for weight.
over.most required number The roomiest space's side, or the strongest space's payload, in the same unit.

LoadStage

Field Type Meaning
stage required string One of load , cartons , pallets , vehicles
metrics required object
metrics.spaces required integer
metrics.items_placed required integer
metrics.items_requested required integer
metrics.weight required number In kilograms, or pounds for inches.
metrics.volume_percent required number
spaces required array of LoadLayout
unplaced required array of LoadUnplaced
cost_cents required integer , or null
explanation required string

LoadReport

A load: each stage's figures, spaces with items in loading order, and what didn't fit.

Field Type Meaning
unit required string
weight_unit required string One of kg , lb
stages required array of LoadStage

Plan

Field Type Meaning
id required string The plan's id.
kind required string A nest's plan or a load's. One of nest , load
created_at required string (date-time) When the plan was saved.
report required NestReport or LoadReport The nest's report for a nest, the load's for a load.
exports required object of string Each export the plan offers, by format, with its URL.

LoadStep

Field Type Meaning
step required integer From 1, as the items' own step says.
stop required integer The delivery stop its items come off at.
item_row required integer The items' cargo row, as on the items.
label required string
count required integer
items required array of integer The step's items by their place in the space's items, from 0, bottom first.

SheetBandType

An edge band parts may take. Fields it doesn't name are ignored.

Field Type Meaning
name string What parts call the band by, like "PVC 2 mm". Unique in the list.
thickness string The band's thickness, in the request's unit.

SheetBandTotal

Field Type Meaning
band required string
thickness required number In the request's unit.
edges required integer How many edges of the placed parts it covers.
length required number Along the finished edges, in the request's unit.
length_with_waste required number length with band_waste on top: the length to order.