--- title: Order API description: >- The API for interacting with the order confirmation, available on the **Thank You** page. api_version: 2026-04 api_name: checkout-ui-extensions source_url: html: >- https://shopify.dev/docs/api/checkout-ui-extensions/latest/target-apis/checkout-apis/order-api md: >- https://shopify.dev/docs/api/checkout-ui-extensions/latest/target-apis/checkout-apis/order-api.md --- # Order API The API for interacting with the order confirmation, available on the **Thank You** page. ## OrderConfirmationApi The API object provided to `purchase.thank-you` extension targets. * **orderConfirmation** **SubscribableSignalLike\** **required** The order details available after the buyer completes checkout, including the order ID, order number, and whether it's the buyer's first purchase. ### SubscribableSignalLike Represents a reactive signal interface that provides both immediate value access and subscription-based updates. Enables real-time synchronization with changing data through the observer pattern. This interface extends \`ReadonlySignalLike\` with deprecated fields that are still supported for backwards compatibility. * current The current value of the signal. Equivalent to \`.value\`, accessing this property subscribes to changes when used in a reactive context. ```ts T ``` * destroy Cleans up the subscription and releases any resources held by this signal. After calling \`destroy()\`, the signal stops receiving updates from the main thread. ```ts () => Promise ``` * subscribe Subscribes to value changes and calls the provided function whenever the value updates. Returns an unsubscribe function to clean up the subscription. Use to automatically react to changes in the signal's value. ```ts (fn: (value: T) => void) => () => void ``` * value The current value of the signal. This property provides immediate access to the current value without requiring subscription setup. Use for one-time value checks or initial setup. ```ts T ``` ### OrderConfirmation * isFirstOrder Whether this is the customer's first completed order with this shop. \`true\` means the buyer hasn't placed an order here before. Use this to show first-purchase messaging or trigger welcome offers. ```ts boolean ``` * number A randomly generated alpha-numeric identifier for the order, distinct from \`order.id\`. The value is \`undefined\` for orders that were created before this field was introduced. All recent orders have a number. ```ts string ``` * order ```ts { id: string; } ``` ## OrderStatusApi **Note:** This documentation has moved to customer accounts. Refer to \Order API\ * **interface OrderStatusApiEmpty {}** Examples ### Examples * #### Order confirmation ##### Preact ```jsx import '@shopify/ui-extensions/preact'; import {render} from 'preact'; export default function extension() { render(, document.body); } function Extension() { const {id} = shopify.orderConfirmation.value.order; if (id) { return ( Please include your order confirmation ID ({id}) in support requests ); } return null; } ``` ## Related [Reference - Targets](https://shopify.dev/docs/api/checkout-ui-extensions/targets) [Reference - Components](https://shopify.dev/docs/api/checkout-ui-extensions/components) [Reference - Configuration](https://shopify.dev/docs/api/checkout-ui-extensions/configuration) [Learn - Tutorials](https://shopify.dev/apps/checkout)