# Retrieve a single line of a purchase order

Endpoint: GET /v1/{countryCode}/purchase-orders/{purchaseOrderNumber}/lines/{lineNumber}
Version: 0.0.1
Security: jwt-authorizer

## Path parameters:

  - `countryCode` (string, required)
    Enum: "au", "nz"

  - `purchaseOrderNumber` (string, required)

  - `lineNumber` (integer, required)

## Response 200 fields (application/json):

  - `lineId` (integer, required)
    Surrogate identifier for the line.
    Example: 1

  - `purchaseOrderNumber` (string, required)
    The purchase order this line belongs to.
    Example: "120525080"

  - `lineNumber` (integer, required)
    The line number within the purchase order.
    Example: 1

  - `deleted` (boolean)
    Whether the line has been deleted.

  - `etaDate` (string)
    Estimated time of arrival for the line.
    Example: "2017-03-17"

  - `arrivalIntoPortDate` (string)
    Date the goods arrive into port (for imported goods).
    Example: "2017-03-17"

  - `branchCode` (string)
    Branch associated with the line.
    Example: "3143"

  - `comments` (string)
    Free-text comments on the line.
    Example: "THESE ARE LINE COMMENTS"

  - `buyinNumber` (string)
    Reference to the buy head/buy line.
    Example: "A reference to the buyhead/buyline"

  - `purchaseOrderType` (string)
    The type of purchase order this line relates to.
    Enum: "CUSTOMER_BUYIN", "STOCK", "DIRECT"

  - `overstockStatus` (string)
    Single-character overstock status indicator.
    Example: "N"

  - `purchaseOrderReceiptStatus` (string)
    The receipting status of the line.
    Enum: "NOT_RECEIPTED", "PARTIALLY_RECEIPTED", "FULLY_RECEIPTED"

  - `product` (object)
    The product ordered on the line.

  - `product.number` (integer)
    Unique product number for the line.
    Example: 1400200

  - `product.description` (string)
    Description of the product.
    Example: "DWV PVC PIPE 100MM X 6MTR SN6  SWJ"

  - `product.partNumber` (string)
    Supplier or catalogue part number.
    Example: "DWV100SN6SC"

  - `customerOrder` (object)
    Reference to the customer order the line originates from, where applicable.

  - `customerOrder.number` (integer)
    Associated customer order number.

  - `customerOrder.lineNumber` (integer)
    Associated customer order line number.

  - `quantities` (object)
    Ordered and received quantities for the line.

  - `quantities.ordered` (number)
    Quantity ordered.
    Example: 1

  - `quantities.received` (number)
    Quantity received against the line.

  - `kit` (object)
    Kit information for the line.

  - `kit.isKitHeader` (boolean)
    Whether this line is the header of a kit.

  - `kit.headerLineNumber` (integer)
    Line number of the kit header, where this line is a kit component.

  - `pricing` (object)
    Pricing detail for a purchase order line.

  - `pricing.sysLec` (number)
    System landed-and-effective cost.
    Example: 3.65

  - `pricing.rebateCode` (string)
    Code identifying the applicable rebate.
    Example: "J66"

  - `pricing.unitCost` (number)
    Unit cost of the product.
    Example: 3.08

  - `pricing.rebatedCost` (number)
    Unit cost after rebate is applied.
    Example: 3.34

  - `pricing.invoiceCost` (number)
    Cost as invoiced by the supplier.
    Example: 3.93

  - `pricing.priceBasis` (integer)
    Identifier of the pricing basis applied.
    Example: 1

  - `pricing.exchangeRate` (number)
    Exchange rate applied for imported goods.

  - `pricing.overseasCost` (number)
    Overseas cost component for imported goods.

  - `pricing.overriddenCost` (number)
    Manually overridden cost, where applicable.

  - `pricing.overrideCostFlag` (string)
    Flag indicating whether the cost has been overridden.
    Example: "N"

  - `pricing.chargeType` (string)
    Type of charge applied to the line.
    Example: "STANDARD"

  - `pricing.preferredSupplier` (string)
    Identifier of the preferred supplier for the product.
    Example: "24408"

## Response 400 fields (application/json):

  - `errorCode` (string, required)
    Stable, machine-readable application error identifier.
    Example: "RESOURCE_NOT_FOUND"

  - `message` (string, required)
    Human-readable description of the error.
    Example: "The requested resource was not found."

  - `status` (integer)
    HTTP status code.
    Example: 404

  - `timestamp` (string)
    Time the error occurred, in ISO 8601 format.
    Example: "2026-06-03T10:15:30Z"

  - `details` (array, required)
    Structured additional information, such as per-field validation errors.

  - `details.field` (string)
    The request field the issue relates to.
    Example: "stateCode"

  - `details.issue` (string)
    Description of the problem with the field.
    Example: "Must be a two-digit state code."

## Response 401 fields (application/json):

  - `errorCode` (string, required)
    Stable, machine-readable application error identifier.
    Example: "RESOURCE_NOT_FOUND"

  - `message` (string, required)
    Human-readable description of the error.
    Example: "The requested resource was not found."

  - `status` (integer)
    HTTP status code.
    Example: 404

  - `timestamp` (string)
    Time the error occurred, in ISO 8601 format.
    Example: "2026-06-03T10:15:30Z"

  - `details` (array)
    Structured additional information, such as per-field validation errors.


