API v1 preview

# The Price line object

One priced model, size and quantity, including its repair object.

## Fields

`model_id` string · required

Immutable model ID: MD- followed by eight uppercase Crockford Base32 characters. Use this same ID in the website, URLs and API; pass it unchanged.

Min length: 11 · Max length: 11

`quantity` integer · required

Combined quantity of printed models for this model and print size, from 1 to 500.

Minimum: 1 · Maximum: 500

`unit_price` integer · required

Manufacturing price per model in USD cents, excluding repair, shipping and tax.

Minimum: 0

`subtotal` integer · required

Manufacturing unit_price × quantity, plus repair.fee when the repair fee is charged on this line.

Minimum: 0

`repair` object · required

Model repair decided by the server. It applies when mesh inspection fails, when the account requested repair for this file revision, or when a paid order already covers the revision. A model that passes inspection prints as uploaded.

[Repair object](https://ottomfg.com/docs/repair-object.md)

`longest_dimension_mm` number · required

Longest bounding-box dimension in millimeters, 30–200 inclusive. Fractional values are accepted. Uniformly scale all axes. At model creation this is the default and inspection reference size; each pricing/quote item explicitly selects its own size. Callers convert other units to millimeters.

Minimum: 30 · Maximum: 200

`volume` object · required

Volume at the enclosing model or price item’s longest_dimension_mm. A missing measurement is null; a measured zero is 0.

**volume fields**

`value_mm3` number · required

Cubic millimeters at the selected size, rounded to at most three decimal places. Holes and inconsistent geometry can affect estimate accuracy.

Minimum: 0

`status` string · required

estimated: approximate measurement; confirmed: validated measurement. Currently returns estimated.

Allowed values: estimated, confirmed

`estimated_weight_g` number · required

Estimated model material weight per printed model at this size in grams, rounded to at most three decimal places. Informational; use unit_price for the charge.

Minimum: 0

`mesh_check_passed` boolean | null · required

Inspection verdict. Failed or incomplete mesh integrity requires repair; paid coverage waives the fee, not the work. Not manufacturing approval.

`file_revision` integer · optional

Customer-uploaded file revision, not the internal processing generation.

Minimum: 1

`support_volume` object · optional

Estimated support volume per model at this print size. Informational; use returned unit_price.

**support_volume fields**

`value_mm3` number · required

Cubic millimeters at the selected size, rounded to at most three decimal places. Holes and inconsistent geometry can affect estimate accuracy.

Minimum: 0

`status` string · required

estimated: approximate measurement; confirmed: validated measurement. Currently returns estimated.

Allowed values: estimated, confirmed

`minimum_total_volume` object · optional

Estimated manufacturing volume per model at this print size. Informational; use returned unit_price.

**minimum_total_volume fields**

`value_mm3` number · required

Cubic millimeters at the selected size, rounded to at most three decimal places. Holes and inconsistent geometry can affect estimate accuracy.

Minimum: 0

`status` string · required

estimated: approximate measurement; confirmed: validated measurement. Currently returns estimated.

Allowed values: estimated, confirmed

`support_build_direction` string · optional

Selected estimated build direction.

Allowed values: +x, -x, +y, -y, +z, -z

## Used in

- [The Price calculation object](https://ottomfg.com/docs/price-calculation-object.md)

Example

JSON

```
{
  "model_id": "MD-739YQ549",
  "longest_dimension_mm": 100,
  "quantity": 2,
  "volume": {
    "value_mm3": 10000,
    "status": "estimated"
  },
  "estimated_weight_g": 12,
  "mesh_check_passed": true,
  "unit_price": 2460,
  "subtotal": 4920,
  "repair": {
    "required": false,
    "applied": false,
    "reason": null,
    "status": "not_applied",
    "fee": 0,
    "covered_by_order_id": null
  },
  "file_revision": 1,
  "support_volume": {
    "value_mm3": 0,
    "status": "estimated"
  },
  "minimum_total_volume": {
    "value_mm3": 10000,
    "status": "estimated"
  },
  "support_build_direction": "+y"
}
```

API v1 preview

Source: https://ottomfg.com/docs/price-line-object
