Part of the request body of POST /orders/{orderId}/addition-offers.

Type: object

Example

Generated Schema example: Generated SendOrderAdditionOfferBody
{
  "lines": [
    {
      "skuId": 1,
      "quantity": 1
    }
  ]
}

Fields

lines array of object required

The cards being offered. A SKU may be named only once, and you must hold a live listing for each: the reference price and the stock both come from it. The printing, condition, finish and language are frozen FROM the SKU, never restated here.

Constraints: minimum items: 1; maximum items: 25

Show child fieldsHide child fields
lines[].skuId integer required

The canonical catalog SKU of the exact printing offered.

Constraints: exclusive minimum: 0

lines[].quantity integer required

The number of units.

Constraints: minimum: 1; maximum: 100

lines[].unitPriceCents integer

A DISCOUNTED price per unit. Omit it to offer at your current listing price, which is where new units start. A price ABOVE that listing price is refused.

Constraints: minimum: 0

shippingOptionId integer

One of YOUR OWN shipping options to upgrade the parcel to. Required exactly when the combined remaining quantities no longer fit the option the buyer already paid for, and REFUSED when they do - an addition that rides the existing parcel is charged nothing for carriage. The option must be a typed one (a legacy free-text option states no card capacity), must carry the whole combined parcel, and may not cost less than the shipping this parcel has already collected. The buyer approves only the difference over the shipping this parcel has already collected, so a second upgrade never re-charges the first.

Constraints: exclusive minimum: 0

note string

Constraints: minimum length: 1; maximum length: 1000

requestRef string

The buyer request (oar_…) this offer answers. Answering it moves it to offered, so it can no longer be withdrawn or declined. Omit it for a DIRECT offer following a support conversation - a structured request is never a precondition.

Constraints: pattern: ^oar_[0-9a-f]{32}$

replacesOfferRef string

The outstanding offer (oao_…) this one REPLACES. Both the intent and the concurrency token: the old offer is ended and the new one reserved in a single transaction, and a ref that is no longer the outstanding one is refused rather than replacing whatever is. If the replacement cannot reserve its stock, nothing changes and the original offer and its reservation stay usable.

Constraints: pattern: ^oao_[0-9a-f]{32}$

Used by