# NewFulfillmentInput

input type

Create-input for a Fulfillment. The org (ACTIVE) + the order (same-group, placed, orderType sale) are gated live; the fulfilling LF is the ORDER’s OWN LF (derived server-side — ship-from-other-store is the named Transfer-composition deferral); each line’s captured method must be lane-compatible and its quantity within the unclaimed remainder; the create transaction stamps the Order’s fulfillmentClaimedQty rollups under the Order’s OCC.

## Fields

| Field | Type | Required | Notes |
| --- | --- | --- | --- |
| `caption` | [String](/types/#scalars) | no | Optional: when omitted the per-type default applies — the method + order coordinate (ship fulfillment of SO-… 2 lines); when supplied it must be non-blank. |
| `orderId` | [ID](/types/#scalars) `ID!` | yes | The Order being fulfilled — same-group; placed + sale (CONFLICT/REF_STATE else). |
| `method` | [FulfillmentMethod](/types/FulfillmentMethod/) `FulfillmentMethod!` | yes | The delivery lane (ship \| pickup_curbside \| pickup_instore). |
| `shipTo` | [FulfillmentShipToInput](/types/FulfillmentShipToInput/) | no | The inline ship-to (method=ship only — may also arrive at ship; strict both ways). |
| `lines` | [FulfillmentLineInput](/types/FulfillmentLineInput/) `[FulfillmentLineInput!]!` | yes | The claimed lines (1..45, distinct orderLineNos). |

## Used by

- [createFulfillment](/reference/fulfillment/createFulfillment/)
