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.
|
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.
|