---
title: "Fetch an order"
method: GET
path: "/v1/orders/{order_id}"
tags: ["Orders"]
---

# Fetch an order

`GET /v1/orders/{order_id}`

Fetch an order

**Required scope: `business/orders:read`**

## Path parameters

- `order_id` string, required — The unique identifier of the order.

## Response `200`

Successful Response

- Order
  - `id` string, required — The unique identifier of the order.
  - `display_name` string, required — A human-friendly label for the order.
  - `order_number` string, nullable, required — A human-friendly identifier for the order.
  - `name` string, nullable, required — A human-friendly identifier (customer name, table number, order number, etc) representing the order.
  - `currency` string, required — The currency code in ISO 4217 format.
  - `note` string, nullable, required — An optional note attached to the order.
  - `location_id` string, nullable, required — The location at which the sale took place.
  - `staff_id` string, nullable — The unique identifier of the staff member who created the order. Matches the `id` returned by the Staff API. `null` when no staff member is associated with the order.
  - `created_at` string, date-time, required — The order creation date and time in ISO 8601 format.
  - `updated_at` string, date-time, nullable, required — The date and time the order was last modified in ISO 8601 format.
  - `closed_at` string, date-time, nullable, required — The date and time the order was closed in ISO 8601 format.
  - `status` 'cancelled' | 'completed' | 'open', required — An order transitions through various states throughout its lifecycle. An order is always created in a `open` state. From there, it will move to a terminal state which will be one of either `completed` or `cancelled`. The following transitions are possible: - open -> completed - open -> cancelled
  - `amounts` OrderAmounts, required
    - `gross_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `tip_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `net_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `tax_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
  - `line_items` OrderLineItem[] — A list of line items making up the order.
    - `id` string, required — The unique identifier of the item in the order.
    - `variant_id` string, nullable, required — An optional reference to the variant of a product. If unrelated to a product, such as when charging a custom amount on a payment terminal, this will be empty.
    - `name` string, required — A human-readable name for the line item, such as the name of a specific variation of a product.
    - `quantity` string, required — The number of units ordered. If `quantity` is a whole number and `quantity_unit` is not specified, then `quantity` denotes an item count (eg: 4 x apples). If `quantity` isa whole number or a decimal number, and `quantity_unit` is specified, then `quantity` denotes a measurement (eg: 1.45 kg).
    - `quantity_unit` string, nullable, required — The unit that the `quantity` is measured in.
    - `item_type` 'custom_amount' | 'gift_voucher' | 'product', required — `OrderLineItemItemType` represents the type of line item within an order. A known item added via the POS, such as a cup of coffee, will have a type of `product`. If an amount is an arbitrary amount, it will have type `custom_amount`. The purchase of a gift voucher, redeemable at a later time, will have a type of `gift_voucher`.
    - `note` string, nullable, required — An optional note attached to the item.
    - `unit_price` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `total_price` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `net_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `applied_taxes` OrderTaxItem[], required — The taxes applicable to the item.
      - `name` string, required — A human-readable name for the tax.
      - `type` 'additive' | 'inclusive', required — `TaxType` can be either `additive` or `inclusive` and affects how tax is calculated. For `additive` tax, the tax is calculated on top of the price. For example, an item which costs R100.00 with a 15% additive tax has a total cost to the buyer of R115.00 (R100.00 * 1.15). The tax amount is therefore R115.00 - R100.00 = R15.00. For `inclusive` tax, the tax is included in the price. For example, an item which costs R115.00 with a 15% inclusive tax has a total cost to the buyer of R115.00. The tax amount is R15.00 (R115.00 * 15/115) whilst the taxable amount is R100 (R115.00 - R15.00).
      - `percentage` string, required — The tax rate to apply to the taxable amount. For example, `15.00` corresponds to a tax rate of `15%`.
      - `tax_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `scope` 'line_item' | 'order', required — `TaxScope` can be either `order` or `line_item` and indicates whether the given tax is applicable to the entire order, or just a particular line item in the order.
    - `applied_discounts` DiscountItem[], required — The discounts applicable to the item.
      - `name` string, required — A human-readable name for the discount.
      - `type` 'fixed_amount' | 'fixed_percentage', required — `DiscountType` can be either `fixed_percentage` or `fixed_amount` and affects how the discount is calculated. For `fixed_percentage`, we apply a percentage on the amount to calculate the discount. For `fixed_amount`, the discount is always a positive absolute amount.
      - `percentage` string, nullable, required — If applicable, the percentage discount to apply. For example, `10.00` corresponds to a discount of `10%`.
      - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `scope` 'line_item' | 'order', required — `DiscountScope` can be either `order` or `line_item` and indicates whether the given discount is applied to the entire order, or just a particular line item in the order.
    - `modifiers` OrderLineItemModifier[] — The modifiers selected on the item at the time of sale.
      - `id` string, required — The unique identifier of the line item modifier.
      - `modifier_id` string, required — The unique identifier of the source modifier. May reference a modifier that has since been deleted.
      - `group_name` string, required — The display name of the modifier group at sale time.
      - `group_ordinal` integer, required — The display ordering of the modifier group at sale time.
      - `name` string, required — The display name of the modifier at sale time.
      - `variant_id` string, nullable, required — The unique identifier of the linked variant, when the source modifier was of type `product`. May reference a variant that has since been deleted.
      - `price` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `ordinal` integer, required — The display ordering of the modifier within its group at sale time.
  - `total_taxes` OrderTaxItem[] — A list of taxes across all line items aggregated by tax type.
    - `name` string, required — A human-readable name for the tax.
    - `type` 'additive' | 'inclusive', required — `TaxType` can be either `additive` or `inclusive` and affects how tax is calculated. For `additive` tax, the tax is calculated on top of the price. For example, an item which costs R100.00 with a 15% additive tax has a total cost to the buyer of R115.00 (R100.00 * 1.15). The tax amount is therefore R115.00 - R100.00 = R15.00. For `inclusive` tax, the tax is included in the price. For example, an item which costs R115.00 with a 15% inclusive tax has a total cost to the buyer of R115.00. The tax amount is R15.00 (R115.00 * 15/115) whilst the taxable amount is R100 (R115.00 - R15.00).
    - `percentage` string, required — The tax rate to apply to the taxable amount. For example, `15.00` corresponds to a tax rate of `15%`.
    - `tax_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `scope` 'line_item' | 'order', required — `TaxScope` can be either `order` or `line_item` and indicates whether the given tax is applicable to the entire order, or just a particular line item in the order.
  - `applied_discounts` DiscountItem[] — The discounts applicable to the order.
    - `name` string, required — A human-readable name for the discount.
    - `type` 'fixed_amount' | 'fixed_percentage', required — `DiscountType` can be either `fixed_percentage` or `fixed_amount` and affects how the discount is calculated. For `fixed_percentage`, we apply a percentage on the amount to calculate the discount. For `fixed_amount`, the discount is always a positive absolute amount.
    - `percentage` string, nullable, required — If applicable, the percentage discount to apply. For example, `10.00` corresponds to a discount of `10%`.
    - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `scope` 'line_item' | 'order', required — `DiscountScope` can be either `order` or `line_item` and indicates whether the given discount is applied to the entire order, or just a particular line item in the order.
  - `payments` Payment[] — The payments that have been receipted against the order.
    - `id` string, required — The unique identifier of the payment.
    - `client_transaction_id` string, nullable, required — The identifier provided when creating the transaction via the SDK.
    - `display_name` string, required — A human-friendly label for the payment.
    - `receipt_number` string, required — The receipt number of the payment.
    - `order_id` string, nullable, required — A reference to the original order.
    - `staff_id` string, nullable — The unique identifier of the staff member who took the payment. Matches the `id` returned by the Staff API. `null` when no staff member is associated with the payment.
    - `created_at` string, date-time, required — The payment creation date and time in ISO 8601 format.
    - `updated_at` string, date-time, nullable, required — The date and time the payment was last modified in ISO 8601 format.
    - `currency` string, required — The currency code in ISO 4217 format.
    - `note` string, nullable, required — An optional note attached to the payment.
    - `amount_excl_tip` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `tip_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `total_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `refunded_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `status` 'approved' | 'cancelled' | 'failed' | 'pending', required
    - `payment_method` 'card' | 'cash' | 'instant_eft' | 'gift_voucher' | 'other', required
    - `payment_source` 'card_machine' | 'checkout' | 'invoice' | 'other' | 'payment_link' | 'shopify' | 'wix' | 'woocommerce', required
    - `refunds` Refund[], required — The refunds that have been issued against the payment.
      - `id` string, required — The unique identifier of the refund.
      - `client_transaction_id` string, nullable, required — The identifier provided when creating the transaction via the SDK.
      - `display_name` string, required — A human-friendly label for the refund.
      - `receipt_number` string, required — The receipt number of the refund.
      - `payment_id` string, required — A reference to the original payment.
      - `order_id` string, nullable, required — A reference to the refund order.
      - `staff_id` string, nullable — The unique identifier of the staff member who processed the refund. Matches the `id` returned by the Staff API. `null` when no staff member is associated with the refund.
      - `original_order_id` string, nullable, required — A reference to the original order.
      - `order_number` string, nullable, required — A human-friendly identifier for the refund order.
      - `original_order_number` string, nullable, required — A human-friendly identifier for the original order.
      - `created_at` string, date-time, required — The refund creation date and time in ISO 8601 format.
      - `updated_at` string, date-time, nullable, required — The date and time the refund was last modified in ISO 8601 format.
      - `currency` string, required — The currency code in ISO 4217 format.
      - `note` string, nullable, required — An optional note attached to the refund.
      - `total_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `status` 'approved' | 'failed' | 'pending' | 'rejected', required
      - `processing_fees` Fee[], required — The transaction fees that have been charged against the refund.
        - `type` 'initial', required
        - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
          - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
          - `currency` string, required — The currency code in ISO 4217 format.
      - `processed_at` string, date-time, nullable, required — The date and time the refund was processed in ISO 8601 format.
      - `payment_method` 'card' | 'cash' | 'instant_eft' | 'gift_voucher' | 'other', required
      - `refunded_processing_fees` Fee[], required — The transaction fees that have been refunded.
        - `type` 'initial', required
        - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
          - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
          - `currency` string, required — The currency code in ISO 4217 format.
      - `refund_type` 'auth_reversal' | 'credit_return' | 'other', required
    - `processing_fees` Fee[], required — The transaction fees that have been charged against the payment.
      - `type` 'initial', required
      - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
    - `checkout_id` string, nullable, required — The checkout ID for online payments. Only present for payments from online checkouts.
    - `external_id` string, nullable — The customer-defined identifier provided when creating the checkout. Only present for payments from online checkouts when an external ID has been specified.
    - `card_machine_id` string, nullable — The unique identifier of the card machine that processed the payment. Only present for payments taken on a card machine.
  - `refunds` Refund[] — The refunds that have been issued against the order.
    - `id` string, required — The unique identifier of the refund.
    - `client_transaction_id` string, nullable, required — The identifier provided when creating the transaction via the SDK.
    - `display_name` string, required — A human-friendly label for the refund.
    - `receipt_number` string, required — The receipt number of the refund.
    - `payment_id` string, required — A reference to the original payment.
    - `order_id` string, nullable, required — A reference to the refund order.
    - `staff_id` string, nullable — The unique identifier of the staff member who processed the refund. Matches the `id` returned by the Staff API. `null` when no staff member is associated with the refund.
    - `original_order_id` string, nullable, required — A reference to the original order.
    - `order_number` string, nullable, required — A human-friendly identifier for the refund order.
    - `original_order_number` string, nullable, required — A human-friendly identifier for the original order.
    - `created_at` string, date-time, required — The refund creation date and time in ISO 8601 format.
    - `updated_at` string, date-time, nullable, required — The date and time the refund was last modified in ISO 8601 format.
    - `currency` string, required — The currency code in ISO 4217 format.
    - `note` string, nullable, required — An optional note attached to the refund.
    - `total_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
      - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
      - `currency` string, required — The currency code in ISO 4217 format.
    - `status` 'approved' | 'failed' | 'pending' | 'rejected', required
    - `processing_fees` Fee[], required — The transaction fees that have been charged against the refund.
      - `type` 'initial', required
      - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
    - `processed_at` string, date-time, nullable, required — The date and time the refund was processed in ISO 8601 format.
    - `payment_method` 'card' | 'cash' | 'instant_eft' | 'gift_voucher' | 'other', required
    - `refunded_processing_fees` Fee[], required — The transaction fees that have been refunded.
      - `type` 'initial', required
      - `amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
    - `refund_type` 'auth_reversal' | 'credit_return' | 'other', required
  - `returns` Return[] — A list of returns associated with this order.
    - `returned_line_items` OrderLineItem[], required — A list of line items from the original order that have been returned.
      - `id` string, required — The unique identifier of the item in the order.
      - `variant_id` string, nullable, required — An optional reference to the variant of a product. If unrelated to a product, such as when charging a custom amount on a payment terminal, this will be empty.
      - `name` string, required — A human-readable name for the line item, such as the name of a specific variation of a product.
      - `quantity` string, required — The number of units ordered. If `quantity` is a whole number and `quantity_unit` is not specified, then `quantity` denotes an item count (eg: 4 x apples). If `quantity` isa whole number or a decimal number, and `quantity_unit` is specified, then `quantity` denotes a measurement (eg: 1.45 kg).
      - `quantity_unit` string, nullable, required — The unit that the `quantity` is measured in.
      - `item_type` 'custom_amount' | 'gift_voucher' | 'product', required — `OrderLineItemItemType` represents the type of line item within an order. A known item added via the POS, such as a cup of coffee, will have a type of `product`. If an amount is an arbitrary amount, it will have type `custom_amount`. The purchase of a gift voucher, redeemable at a later time, will have a type of `gift_voucher`.
      - `note` string, nullable, required — An optional note attached to the item.
      - `unit_price` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `total_price` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `net_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `applied_taxes` OrderTaxItem[], required — The taxes applicable to the item.
        - `name` string, required — A human-readable name for the tax.
        - `type` 'additive' | 'inclusive', required — `TaxType` can be either `additive` or `inclusive` and affects how tax is calculated. For `additive` tax, the tax is calculated on top of the price. For example, an item which costs R100.00 with a 15% additive tax has a total cost to the buyer of R115.00 (R100.00 * 1.15). The tax amount is therefore R115.00 - R100.00 = R15.00. For `inclusive` tax, the tax is included in the price. For example, an item which costs R115.00 with a 15% inclusive tax has a total cost to the buyer of R115.00. The tax amount is R15.00 (R115.00 * 15/115) whilst the taxable amount is R100 (R115.00 - R15.00).
        - `percentage` string, required — The tax rate to apply to the taxable amount. For example, `15.00` corresponds to a tax rate of `15%`.
        - `tax_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
          - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
          - `currency` string, required — The currency code in ISO 4217 format.
        - `scope` 'line_item' | 'order', required — `TaxScope` can be either `order` or `line_item` and indicates whether the given tax is applicable to the entire order, or just a particular line item in the order.
      - `applied_discounts` DiscountItem[], required — The discounts applicable to the item.
        - `name` string, required — A human-readable name for the discount.
        - `type` 'fixed_amount' | 'fixed_percentage', required — `DiscountType` can be either `fixed_percentage` or `fixed_amount` and affects how the discount is calculated. For `fixed_percentage`, we apply a percentage on the amount to calculate the discount. For `fixed_amount`, the discount is always a positive absolute amount.
        - `percentage` string, nullable, required — If applicable, the percentage discount to apply. For example, `10.00` corresponds to a discount of `10%`.
        - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
          - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
          - `currency` string, required — The currency code in ISO 4217 format.
        - `scope` 'line_item' | 'order', required — `DiscountScope` can be either `order` or `line_item` and indicates whether the given discount is applied to the entire order, or just a particular line item in the order.
      - `modifiers` OrderLineItemModifier[] — The modifiers selected on the item at the time of sale.
        - `id` string, required — The unique identifier of the line item modifier.
        - `modifier_id` string, required — The unique identifier of the source modifier. May reference a modifier that has since been deleted.
        - `group_name` string, required — The display name of the modifier group at sale time.
        - `group_ordinal` integer, required — The display ordering of the modifier group at sale time.
        - `name` string, required — The display name of the modifier at sale time.
        - `variant_id` string, nullable, required — The unique identifier of the linked variant, when the source modifier was of type `product`. May reference a variant that has since been deleted.
        - `price` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
          - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
          - `currency` string, required — The currency code in ISO 4217 format.
        - `ordinal` integer, required — The display ordering of the modifier within its group at sale time.
    - `returned_total_taxes` OrderTaxItem[], required — A list of returned taxes across all line items aggregated by tax type.
      - `name` string, required — A human-readable name for the tax.
      - `type` 'additive' | 'inclusive', required — `TaxType` can be either `additive` or `inclusive` and affects how tax is calculated. For `additive` tax, the tax is calculated on top of the price. For example, an item which costs R100.00 with a 15% additive tax has a total cost to the buyer of R115.00 (R100.00 * 1.15). The tax amount is therefore R115.00 - R100.00 = R15.00. For `inclusive` tax, the tax is included in the price. For example, an item which costs R115.00 with a 15% inclusive tax has a total cost to the buyer of R115.00. The tax amount is R15.00 (R115.00 * 15/115) whilst the taxable amount is R100 (R115.00 - R15.00).
      - `percentage` string, required — The tax rate to apply to the taxable amount. For example, `15.00` corresponds to a tax rate of `15%`.
      - `tax_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `scope` 'line_item' | 'order', required — `TaxScope` can be either `order` or `line_item` and indicates whether the given tax is applicable to the entire order, or just a particular line item in the order.
    - `returned_applied_discounts` DiscountItem[], required — The discounts applicable to the return.
      - `name` string, required — A human-readable name for the discount.
      - `type` 'fixed_amount' | 'fixed_percentage', required — `DiscountType` can be either `fixed_percentage` or `fixed_amount` and affects how the discount is calculated. For `fixed_percentage`, we apply a percentage on the amount to calculate the discount. For `fixed_amount`, the discount is always a positive absolute amount.
      - `percentage` string, nullable, required — If applicable, the percentage discount to apply. For example, `10.00` corresponds to a discount of `10%`.
      - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `scope` 'line_item' | 'order', required — `DiscountScope` can be either `order` or `line_item` and indicates whether the given discount is applied to the entire order, or just a particular line item in the order.
    - `source_order_id` string, nullable, required — The unique identifier of the original order that this return was created from.
    - `amounts` OrderAmounts, required
      - `gross_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `discount_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `tip_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `net_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.
      - `tax_amount` Money, required — `Money` represents a monetary value denoted by both an amount and a currency. The `amount` is always going to be the smallest denomination of the given currency. As an example, when dealing with South African Rands (ZAR), the amount is in cents. eg: R150.45 is therefore represented by `Money(amount=15045, currency="ZAR")`.
        - `amount` integer, required — The amount of money in the smallest denomination of the currency. For example, when the `currency` is `ZAR`, the `amount` is in cents.
        - `currency` string, required — The currency code in ISO 4217 format.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not Found
- `429` — Too Many Requests

---

[API](https://skmtc.net/yoco/apis/yoco-api.md) · [All operations](https://skmtc.net/yoco/apis/yoco-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/yoco/yoco-api/revisions/1ee03e82bc45/schema)
