--- title: customer-account.order-status.customer-information.render-after description: >2- A [static extension target](/docs/api/customer-account-ui-extensions/extension-targets-overview#static-extension-targets) that renders below the order details section of the Order Status page. > Caution: Use the `@shopify/ui-extensions/customer-account` or `@shopify/ui-extensions-react/customer-account` surfaces when targeting order status targets. Importing from the `checkout` surface is deprecated as of version `2023-10`. api_version: 2025-07 api_name: customer-account-ui-extensions source_url: html: >- https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/targets/order-status/customer-account-order-status-customer-information-render-after md: >- https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/targets/order-status/customer-account-order-status-customer-information-render-after.md --- Migrate to Polaris Version 2025-07 is the last API version to support React-based UI components. Later versions use [web components](https://shopify.dev/docs/api/customer-account-ui-extensions/latest/polaris-web-components), native UI elements with built-in accessibility, better performance, and consistent styling with [Shopify's design system](https://shopify.dev/docs/apps/design). Check out the [migration guide](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-10/upgrading-to-2025-10) to upgrade your extension. # customer-account.​order-status.​customer-information.​render-after **Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data) for some properties.:** A [static extension target](https://shopify.dev/docs/api/customer-account-ui-extensions/extension-targets-overview#static-extension-targets) that renders below the order details section of the Order Status page. **Caution:** Use the \\@shopify\/ui-extensions\/customer-account\\ or \\@shopify\/ui-extensions-react\/customer-account\\ surfaces when targeting order status targets. Importing from the \checkout\ surface is deprecated as of version \2023-10\. ### Support Components (63) APIs (2) ### Supported components * [Avatar](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/avatar) * [Badge](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/feedback-and-status-indicators/badge) * [Banner](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/feedback-and-status-indicators/banner) * [Block​Layout](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/blocklayout) * [Block​Spacer](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/blockspacer) * [Block​Stack](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/blockstack) * [Button](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/button) * [Card](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/card) * [Checkbox](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/checkbox) * [Choice](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/choice) * [Choice​List](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/choicelist) * [Clipboard​Item](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/clipboarditem) * [Customer​Account​Action](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/customeraccountaction) * [Date​Field](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/datefield) * [Date​Picker](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/datepicker) * [Disclosure](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/disclosure) * [Divider](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/divider) * [Drop​Zone](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/dropzone) * [Form](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/form) * [Grid](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/grid) * [Grid​Item](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/griditem) * [Heading](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/heading) * [Heading​Group](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/headinggroup) * [Icon](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/icon) * [Image](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/image) * [Image​Group](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/imagegroup) * [Inline​Layout](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/inlinelayout) * [Inline​Spacer](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/inlinespacer) * [Inline​Stack](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/inlinestack) * [Link](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/link) * [List](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/list) * [List​Item](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/listitem) * [Map](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/map) * [Map​Marker](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/mapmarker) * [Map​Popover](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/mappopover) * [Menu](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/menu) * [Modal](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/overlays/modal) * [Page](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/page) * [Payment​Icon](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/paymenticon) * [Phone​Field](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/phonefield) * [Popover](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/overlays/popover) * [Pressable](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/pressable) * [Product​Thumbnail](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/productthumbnail) * [Progress](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/feedback-and-status-indicators/progress) * [QRCode](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/qrcode) * [Resource​Item](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/actions/resourceitem) * [Scroll​View](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/scrollview) * [Select](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/select) * [Sheet](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/overlays/sheet) * [Skeleton​Image](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/media-and-visuals/skeletonimage) * [Skeleton​Text](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/skeletontext) * [Skeleton​Text​Block](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/skeletontextblock) * [Spinner](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/feedback-and-status-indicators/spinner) * [Stepper](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/stepper) * [Switch](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/switch) * [Tag](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/tag) * [Text](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/text) * [Text​Block](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/typography-and-content/textblock) * [Text​Field](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/textfield) * [Toggle​Button](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/togglebutton) * [Toggle​Button​Group](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/forms/togglebuttongroup) * [Tooltip](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/overlays/tooltip) * [View](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/ui-components/layout-and-structure/view) ### Available APIs * Order​Status​Api * Standard​Api ## OrderStatusApi The API object provided to this and other `customer-account.order-status` extension targets. * **appliedGiftCards** **StatefulRemoteSubscribable\** **required** Gift cards that have been applied to the order. Each entry includes the amount used and the remaining balance. * **appMetafields** **StatefulRemoteSubscribable\** **required** The metafields requested in the [`shopify.extension.toml`](https://shopify.dev/docs/api/customer-account-ui-extensions/latest#configuration) file. These metafields are updated when there’s a change in the merchandise items being purchased by the customer. [](https://shopify.dev/apps/store/data-protection/protected-customer-data)Requires access to [protected customer data](https://shopify.dev/docs/apps/store/data-protection/protected-customer-data). * **attributes** **StatefulRemoteSubscribable\** **required** Custom key-value pairs that the buyer attached to the order during cart or checkout, commonly used for special instructions or order customization. * **authenticationState** **StatefulRemoteSubscribable\** **required** The buyer's current authentication state on the **Order status** page. The value is either `'fully_authenticated'` (the buyer is logged in) or `'pre_authenticated'` (the buyer is viewing through a tokenized link). * **checkoutSettings** **StatefulRemoteSubscribable\** **required** The merchant's checkout configuration that was active when the buyer placed the order, including the order type, payment terms, and shipping address settings. * **checkoutToken** **StatefulRemoteSubscribable\** **required** The token that represents the checkout session used to create this order. Matches the `token` field in the [WebPixel checkout payload](https://shopify.dev/docs/api/pixels/customer-events#checkout) and the `checkout_token` field in the [Admin REST API Order resource](https://shopify.dev/docs/api/admin-rest/unstable/resources/order#resource-object). * **cost** **CartCost** **required** The cost breakdown for the order, including subtotal, shipping, tax, and total amounts. * **discountAllocations** **StatefulRemoteSubscribable\** **required** The order-level discount allocations, including code-based, automatic, and custom discounts. Each allocation includes the discounted amount and the discount source. * **discountCodes** **StatefulRemoteSubscribable\** **required** The discount codes that the buyer applied to the order at checkout. * **extension** **Extension\** **required** Information about the running extension, including its editor context, extension point, script URL, and localization settings. * **lines** **StatefulRemoteSubscribable\** **required** The line items in the order, including product details, quantities, costs, and any applied discounts. * **localization** **OrderStatusLocalization** **required** Details about the buyer's location, language, and currency on the **Order status** page. For utilities to format and translate content based on these details, use the `i18n` object from the [Localization API](https://shopify.dev/docs/api/customer-account-ui-extensions/target-apis/platform-apis/localization-api) instead. * **metafields** **StatefulRemoteSubscribable\** **required** The metafields that apply to the current order. These metafields are shared by all extensions running on the **Order status** page and persist for the duration of the buyer's session. Once the order is created, you can query these metafields using the [GraphQL Admin API](https://shopify.dev/docs/api/admin-graphql). * **note** **StatefulRemoteSubscribable\** **required** A free-form text note that the buyer left for the merchant during cart or checkout, commonly used for special delivery instructions or order requests. * **order** **StatefulRemoteSubscribable\** **required** Information about the placed order, including its ID, display name, confirmation number, and timestamps. * **requireLogin** **() => Promise\** **required** Triggers a login prompt if the buyer is viewing a pre-authenticated **Order status** page. Returns a promise that resolves when the login prompt is dismissed or completed. * **shop** **Shop** **required** The shop where the order was placed, including its name, ID, storefront URL, and `myshopify.com` domain. * **version** **Version** **required** The API version being used for the extension. * **billingAddress** **StatefulRemoteSubscribable\** The billing address associated with the buyer's payment method. * **buyerIdentity** **OrderStatusBuyerIdentity** Information about the buyer who placed the order, including their customer account, email, phone, and B2B company details. * **shippingAddress** **StatefulRemoteSubscribable\** The shipping address that the buyer provided for the order. * **extensionPoint** **Target** **required** **deprecated** The identifier that specifies where in Shopify’s UI your code is being injected. This will be one of the targets you have included in your extension’s configuration file. **Deprecated:** Deprecated as of version `2023-07`, use `extension.target` instead. ### AppliedGiftCard * amountUsed The amount of the gift card that was applied to this order. ```ts Money ``` * balance The remaining balance on the gift card after the applied amount is deducted. ```ts Money ``` * lastCharacters The last four characters of the gift card code, used to identify the card without exposing the full code. ```ts string ``` ### Money * amount The decimal money amount, such as \`29.99\`. ```ts number ``` * currencyCode The \[ISO 4217]\(https://www\.iso.org/iso-4217-currency-codes.html) currency code. ```ts CurrencyCode ``` ### CurrencyCode ```ts 'AED' | 'AFN' | 'ALL' | 'AMD' | 'ANG' | 'AOA' | 'ARS' | 'AUD' | 'AWG' | 'AZN' | 'BAM' | 'BBD' | 'BDT' | 'BGN' | 'BHD' | 'BIF' | 'BMD' | 'BND' | 'BOB' | 'BOV' | 'BRL' | 'BSD' | 'BTN' | 'BWP' | 'BYN' | 'BZD' | 'CAD' | 'CDF' | 'CHE' | 'CHF' | 'CHW' | 'CLF' | 'CLP' | 'CNY' | 'COP' | 'COU' | 'CRC' | 'CUC' | 'CUP' | 'CVE' | 'CZK' | 'DJF' | 'DKK' | 'DOP' | 'DZD' | 'EGP' | 'ERN' | 'ETB' | 'EUR' | 'FJD' | 'FKP' | 'GBP' | 'GEL' | 'GHS' | 'GIP' | 'GMD' | 'GNF' | 'GTQ' | 'GYD' | 'HKD' | 'HNL' | 'HRK' | 'HTG' | 'HUF' | 'IDR' | 'ILS' | 'INR' | 'IQD' | 'IRR' | 'ISK' | 'JMD' | 'JOD' | 'JPY' | 'KES' | 'KGS' | 'KHR' | 'KMF' | 'KPW' | 'KRW' | 'KWD' | 'KYD' | 'KZT' | 'LAK' | 'LBP' | 'LKR' | 'LRD' | 'LSL' | 'LYD' | 'MAD' | 'MDL' | 'MGA' | 'MKD' | 'MMK' | 'MNT' | 'MOP' | 'MRU' | 'MUR' | 'MVR' | 'MWK' | 'MXN' | 'MXV' | 'MYR' | 'MZN' | 'NAD' | 'NGN' | 'NIO' | 'NOK' | 'NPR' | 'NZD' | 'OMR' | 'PAB' | 'PEN' | 'PGK' | 'PHP' | 'PKR' | 'PLN' | 'PYG' | 'QAR' | 'RON' | 'RSD' | 'RUB' | 'RWF' | 'SAR' | 'SBD' | 'SCR' | 'SDG' | 'SEK' | 'SGD' | 'SHP' | 'SLL' | 'SOS' | 'SRD' | 'SSP' | 'STN' | 'SVC' | 'SYP' | 'SZL' | 'THB' | 'TJS' | 'TMT' | 'TND' | 'TOP' | 'TRY' | 'TTD' | 'TWD' | 'TZS' | 'UAH' | 'UGX' | 'USD' | 'USN' | 'UYI' | 'UYU' | 'UYW' | 'UZS' | 'VES' | 'VND' | 'VUV' | 'WST' | 'XAF' | 'XAG' | 'XAU' | 'XBA' | 'XBB' | 'XBC' | 'XBD' | 'XCD' | 'XDR' | 'XOF' | 'XPD' | 'XPF' | 'XPT' | 'XSU' | 'XTS' | 'XUA' | 'XXX' | 'YER' | 'ZAR' | 'ZMW' | 'ZWL' ``` ### AppMetafieldEntry A metafield associated with a resource on the order. Each entry contains both the metafield data and a reference to the resource that owns it. * metafield The metafield data, including its key, namespace, value, and type. ```ts AppMetafield ``` * target The resource that owns the metafield. ```ts AppMetafieldEntryTarget ``` ### AppMetafield Represents a custom metadata field attached to a resource, requested through the \[\`shopify.extension.toml\`]\(/docs/api/customer-account-ui-extensions/latest#configuration) file. * key The unique identifier for the metafield within its namespace. ```ts string ``` * namespace A container that groups related metafields. Must be between 2 and 255 characters in length. ```ts string ``` * type The metafield's content type as defined in the \[metafield definition]\(/docs/apps/build/custom-data/metafields), such as \`single\_line\_text\_field\` or \`number\_integer\`. ```ts string ``` * value The metafield's value. The data type depends on the \`valueType\`: booleans, numbers, and strings are returned in their respective types, while JSON strings are returned as strings. ```ts string | number | boolean ``` * valueType The metafield’s value type, which determines how the \`value\` is interpreted: - \`'boolean'\`: A true or false value. - \`'float'\`: A decimal number. - \`'integer'\`: A whole number. - \`'json\_string'\`: A JSON-encoded string. - \`'string'\`: A plain text string. ```ts 'boolean' | 'float' | 'integer' | 'json_string' | 'string' ``` ### AppMetafieldEntryTarget The resource that owns the metafield. * id The globally-unique identifier of the resource that owns the metafield. ```ts string ``` * type The type of resource that owns the metafield: - \`'customer'\`: A customer resource. - \`'product'\`: A product resource. - \`'shop'\`: The shop resource. - \`'variant'\`: A product variant resource. - \`'company'\`: A B2B company resource. - \`'companyLocation'\`: A B2B company location resource. - \`'cart'\`: The cart resource. {% include /apps/checkout/privacy-icon.md %} Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data) when the type is \`customer\`, \`company\`, or \`companyLocation\`. ```ts | 'customer' | 'product' | 'shop' | 'variant' | 'company' | 'companyLocation' | 'cart' ``` ### Attribute * key The attribute name. Keys are unique within the attribute list. ```ts string ``` * value The attribute value as a string. ```ts string ``` ### AuthenticationState The buyer’s authentication state on the \*\*Order status\*\* page: - \`'fully\_authenticated'\`: The buyer has logged in to their customer account. - \`'pre\_authenticated'\`: The buyer accessed the page through a tokenized link without logging in. ```ts 'fully_authenticated' | 'pre_authenticated' ``` ### MailingAddress {% include /apps/checkout/privacy-icon.md %} Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). Most properties require level 2 access. The \`company\` property requires level 1 access. * address1 The first line of the street address, including the street number and name. ```ts string ``` * address2 The second line of the street address, such as apartment number, suite, or unit. ```ts string ``` * city The city, town, or village name. ```ts string ``` * company The company or organization name associated with the address. ```ts string ``` * countryCode The \[ISO 3166-1 Alpha-2]\(https://www\.iso.org/iso-3166-country-codes.html) country code. ```ts CountryCode ``` * firstName The buyer's given name. ```ts string ``` * lastName The buyer's family name. ```ts string ``` * name The buyer's full name, typically the first and last name combined. ```ts string ``` * phone The phone number associated with the address. ```ts string ``` * provinceCode The buyer's province, state, or region code. ```ts string ``` * zip The postal code or ZIP code. ```ts string ``` ### CountryCode ```ts 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ' ``` ### OrderStatusBuyerIdentity {% include /apps/checkout/privacy-icon.md %} Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). The \`customer\` and \`purchasingCompany\` properties require level 1 access. The \`email\` and \`phone\` properties require level 2 access. * customer The buyer's customer account. The value is undefined if the buyer isn’t a known customer for this shop or if they haven't logged in yet. ```ts StatefulRemoteSubscribable ``` * email The buyer's email address associated with the order. The value is \`undefined\` if the app doesn't have access to customer data. ```ts StatefulRemoteSubscribable ``` * phone The buyer's phone number associated with the order. The value is \`undefined\` if the app doesn't have access to customer data. ```ts StatefulRemoteSubscribable ``` * purchasingCompany The company and company location that the B2B customer is purchasing on behalf of. The value is \`undefined\` if the buyer isn't a B2B customer. ```ts StatefulRemoteSubscribable< OrderStatusPurchasingCompany | undefined > ``` ### OrderStatusCustomer The customer associated with the order. {% include /apps/checkout/privacy-icon.md %} Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). The \`id\`, \`image\`, \`acceptsMarketing\`, and \`storeCreditAccounts\` properties require level 1 access. The \`email\`, \`phone\`, \`fullName\`, \`firstName\`, and \`lastName\` properties require level 2 access. * acceptsMarketing Whether the customer has opted in to receive marketing communications from the merchant. ```ts boolean ``` * email The customer's email address. ```ts string ``` * firstName The customer's first name. ```ts string ``` * fullName The customer's full name, combining first and last name. ```ts string ``` * id A globally-unique identifier for the customer. ```ts string ``` * image The customer's profile image, such as a Gravatar. ```ts ImageDetails ``` * lastName The customer's last name. ```ts string ``` * phone The customer's phone number. ```ts string ``` * storeCreditAccounts The store credit accounts owned by the customer that can be applied during checkout. ```ts StoreCreditAccount[] ``` ### ImageDetails * altText The alternative text for the image, used for accessibility and displayed when the image can't be loaded. ```ts string ``` * url The fully-qualified URL of the image. ```ts string ``` ### OrderStatusPurchasingCompany The B2B company and location that the business customer is purchasing on behalf of. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). * company The company that the B2B customer belongs to. ```ts OrderStatusCompany ``` * location The company location that the B2B customer is purchasing for. ```ts OrderStatusCompanyLocation ``` ### OrderStatusCompany {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). * externalId A custom external identifier for the company, set by the merchant. Useful for syncing with external systems. ```ts string ``` * id A globally-unique identifier for the company. ```ts string ``` * name The display name of the company. ```ts string ``` ### OrderStatusCompanyLocation {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). * externalId A custom external identifier for the company location, set by the merchant. Useful for syncing with external systems. ```ts string ``` * id A globally-unique identifier for the company location. ```ts string ``` * name The display name of the company location. ```ts string ``` ### CheckoutSettings The merchant's checkout configuration that was active when the buyer placed the order. * orderSubmission The type of order created when the buyer completes checkout: - \`'DRAFT\_ORDER'\`: A draft order that requires merchant approval before processing. - \`'ORDER'\`: A standard order that’s processed immediately. ```ts 'DRAFT_ORDER' | 'ORDER' ``` * paymentTermsTemplate The merchant-configured payment terms for the order, such as net 30 or net 60 terms. Only present for B2B orders with deferred payment. ```ts PaymentTermsTemplate ``` * shippingAddress Configuration for the shipping address behavior, including whether the buyer can edit it. ```ts ShippingAddressSettings ``` ### PaymentTermsTemplate A payment terms template that defines when payment is due for the order, commonly used in B2B transactions. * dueDate The due date for net payment terms as an ISO 8601 formatted string (\`YYYY-MM-DDTHH:mm:ss.sssZ\`). ```ts string ``` * dueInDays The number of days between the order date and the payment due date for net payment terms. ```ts number ``` * id A globally-unique identifier for the payment terms template. ```ts string ``` * name The name of the payment terms translated to the buyer's current language. ```ts string ``` ### ShippingAddressSettings Configuration for the shipping address on the checkout. * isEditable Whether the buyer was allowed to edit the shipping address during checkout. ```ts boolean ``` ### CheckoutToken A string token that uniquely identifies the checkout session used to create this order. ```ts string ``` ### CartCost * subtotalAmount The subtotal cost of all line items in the order before shipping, taxes, and discounts. ```ts StatefulRemoteSubscribable ``` * totalAmount The total amount the buyer paid for the order, including all line items, shipping, taxes, and discounts. ```ts StatefulRemoteSubscribable ``` * totalShippingAmount The total shipping cost for the order, including any shipping discounts. Returns \`undefined\` if shipping hasn't been calculated. ```ts StatefulRemoteSubscribable ``` * totalTaxAmount The total tax amount for the order, including taxes on products and shipping. Returns \`undefined\` if taxes haven't been calculated. ```ts StatefulRemoteSubscribable ``` ### CartDiscountAllocation A discount allocation applied to the order or a line item. There are three types: - \`CartCodeDiscountAllocation\`: A discount applied via a code entered by the buyer. - \`CartAutomaticDiscountAllocation\`: An automatic discount applied by Shopify based on merchant-configured rules. - \`CartCustomDiscountAllocation\`: A custom discount applied by a Shopify Script or discount function. ```ts CartCodeDiscountAllocation | CartAutomaticDiscountAllocation | CartCustomDiscountAllocation ``` ### CartCodeDiscountAllocation * code The discount code that the buyer entered at checkout. ```ts string ``` * discountedAmount The monetary amount deducted from the order by this discount allocation. ```ts Money ``` * type The type of discount allocation. Always \`'code'\` for code-based discounts. ```ts "code" ``` ### CartAutomaticDiscountAllocation * discountedAmount The monetary amount deducted from the order by this discount allocation. ```ts Money ``` * title The merchant-defined title of the automatic discount, such as "Buy 2 Get 1 Free". ```ts string ``` * type The type of discount allocation. Always \`'automatic'\` for automatic discounts. ```ts "automatic" ``` ### CartCustomDiscountAllocation * discountedAmount The monetary amount deducted from the order by this discount allocation. ```ts Money ``` * title The title of the custom discount applied by a Shopify Script or discount function. ```ts string ``` * type The type of discount allocation. Always \`'custom'\` for custom discounts. ```ts "custom" ``` ### CartDiscountCode * code The discount code string entered by the buyer at checkout. ```ts string ``` ### Extension Metadata about the extension, including its target, version, and editor context. For configuration details, see \[\`shopify.extension.toml\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration). * apiVersion The API version that was set in the extension config file. ```ts ApiVersion ``` * capabilities The allowed capabilities of the extension, defined in your \[\`shopify.extension.toml\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration) file. \* \[\`api\_access\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration): the extension can access the Storefront API. \* \[\`network\_access\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration): the extension can make external network calls. \* \[\`block\_progress\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration): the extension can block a buyer's progress and the merchant has allowed this blocking behavior. ```ts StatefulRemoteSubscribable ``` * editor Information about the editor where the extension is being rendered. The value is undefined if the extension isn’t rendering in an editor. ```ts Editor ``` * rendered Whether your extension is currently rendered to the screen. Shopify may render your extension before it's visible in the UI to pre-render content. Your extension may also continue running after the buyer navigates away so it's immediately available if they return. ```ts StatefulRemoteSubscribable ``` * scriptUrl The URL of the JavaScript file that powers this extension target. ```ts string ``` * target The identifier that specifies where in Shopify’s UI your code is being injected. This will be one of the targets you have included in your extension’s configuration file. For available targets, see the \[extension targets overview]\(/docs/api/customer-account-ui-extensions/2025-07/extension-targets-overview). For configuration details, see \[extension targets]\(/docs/apps/app-extensions/configuration#targets). ```ts Target ``` * version The published version of the running extension. For unpublished extensions, the value is \`undefined\`. ```ts string ``` ### ApiVersion The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The \`unstable\` version provides access to the latest features, and can change without notice because it's not subject to versioning guarantees. ```ts '2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' ``` ### Capability The capabilities an extension has access to. \* \`api\_access\`: The extension can access the Storefront API. \* \`network\_access\`: The extension can make external network calls. \* \`block\_progress\`: The extension can block a buyer's progress and the merchant has allowed this blocking behavior. \* \`collect\_buyer\_consent.sms\_marketing\`: The extension can collect buyer consent for SMS marketing. \* \`collect\_buyer\_consent.customer\_privacy\`: The extension can register buyer consent decisions that will be honored on Shopify-managed services. \* \`iframe.sources\`: The extension can embed an external URL in an iframe. ```ts 'api_access' | 'network_access' | 'block_progress' | 'collect_buyer_consent.sms_marketing' | 'collect_buyer_consent.customer_privacy' | 'iframe.sources' ``` ### Editor Information about the editor where the extension is being rendered. * type Indicates whether the extension is rendering in the checkout editor. ```ts "checkout" ``` ### CartLine * attributes Custom key-value pairs attached to this line item, such as engraving text or gift messages. ```ts Attribute[] ``` * cost The cost breakdown for this line item, including the total amount after discounts. ```ts CartLineCost ``` * discountAllocations The discounts allocated to this line item, including code-based, automatic, and custom discounts. ```ts CartDiscountAllocation[] ``` * id A unique identifier for the cart line. This ID isn't guaranteed to be stable across operations. ```ts string ``` * lineComponents The individual components of a \[bundle]\(/docs/apps/build/product-merchandising/bundles) line item. Returns an empty array if the line item isn't a bundle. ```ts CartBundleLineComponent[] ``` * merchandise The product variant being purchased in this line item. ```ts Merchandise ``` * quantity The quantity of the merchandise being purchased. ```ts number ``` ### CartLineCost * totalAmount The total amount for the line item after all discounts have been applied. ```ts Money ``` ### CartBundleLineComponent * attributes Custom key-value pairs attached to this bundle component. ```ts Attribute[] ``` * cost The cost breakdown for this bundle component. ```ts CartLineCost ``` * id A unique identifier for the bundle line component. This ID isn't stable and may change if line items are modified. ```ts string ``` * merchandise The product variant included in this bundle component. ```ts Merchandise ``` * quantity The quantity of this product variant within the bundle. ```ts number ``` * type Always \`'bundle'\` for bundle line components. ```ts "bundle" ``` ### Merchandise * id A globally-unique identifier for the product variant. ```ts string ``` * image The image associated with this product variant. Falls back to the product's featured image if no variant-specific image is available. ```ts ImageDetails ``` * product The parent product that this variant belongs to. ```ts Product ``` * requiresShipping Whether this product variant requires physical shipping. ```ts boolean ``` * selectedOptions The product options selected for this variant, such as size and color. ```ts SelectedOption[] ``` * sellingPlan The selling plan associated with this line item, such as a subscription or pre-order plan. ```ts SellingPlan ``` * sku The product variant's stock keeping unit (SKU), used for inventory tracking. ```ts string ``` * subtitle A secondary title for the product variant, typically showing selected option values. ```ts string ``` * title The product variant’s title. ```ts string ``` * type Always \`'variant'\` for product variant merchandise. ```ts "variant" ``` ### Product * id A globally-unique identifier for the product. ```ts string ``` * productType A product classification used for filtering and organization, set by the merchant in the Shopify admin. ```ts string ``` * vendor The product’s vendor name. ```ts string ``` ### SelectedOption * name The name of the product option, such as "Size" or "Color". ```ts string ``` * value The selected value for the option, such as "Large" or "Blue". ```ts string ``` ### SellingPlan * id A globally-unique identifier for the selling plan. ```ts string ``` * recurringDeliveries Whether purchasing the selling plan will result in multiple deliveries. ```ts boolean ``` ### OrderStatusLocalization * country The country context of the order. This value carries over from the storefront context and may update if the buyer changes their shipping country. The value is \`undefined\` if unknown. ```ts StatefulRemoteSubscribable ``` * currency The currency that the buyer sees for money amounts on the \*\*Order status\*\* page. ```ts StatefulRemoteSubscribable ``` * extensionLanguage This is the buyer's language, as supported by the extension. If the buyer's actual language is not supported by the extension, this is the fallback locale used for translations. For example, if the buyer's language is 'fr-CA' but your extension only supports translations for 'fr', then the \`isoCode\` for this language is 'fr'. If your extension doesn’t provide French translations at all, this value is the default locale for your extension (that is, the one matching your .default.json file). ```ts StatefulRemoteSubscribable ``` * language The language the buyer sees on the \*\*Order status\*\* page. ```ts StatefulRemoteSubscribable ``` * market The \[market]\(/docs/apps/build/markets) context of the order. This value carries over from the storefront context and may update if the buyer changes their shipping country. The value is \`undefined\` if unknown. ```ts StatefulRemoteSubscribable ``` * timezone The buyer’s time zone, based on their browser settings or IP address. ```ts StatefulRemoteSubscribable ``` ### Country A buyer's country, identified by its ISO country code. * isoCode The ISO-3166-1 code for this country. ```ts CountryCode ``` ### Currency * isoCode The \[ISO 4217]\(https://www\.iso.org/iso-4217-currency-codes.html) currency code, such as \`USD\` or \`EUR\`. ```ts CurrencyCode ``` ### Language Represents the buyer's language as a \[BCP-47 standard]\(https://en.wikipedia.org/wiki/IETF\_language\_tag) language tag. * isoCode The \[BCP-47]\(https://en.wikipedia.org/wiki/IETF\_language\_tag) language tag. May include a dash followed by an \[ISO 3166-1 Alpha-2]\(https://en.wikipedia.org/wiki/ISO\_3166-1\_alpha-2) region subtag. ```ts string ``` ### Market * handle The human-readable, shop-scoped identifier for the market. This handle is unique within the shop but isn't globally unique. ```ts string ``` * id A globally-unique identifier for a Shopify \[market]\(/docs/apps/build/markets). ```ts string ``` ### Timezone ```ts 'Africa/Abidjan' | 'Africa/Algiers' | 'Africa/Bissau' | 'Africa/Cairo' | 'Africa/Casablanca' | 'Africa/Ceuta' | 'Africa/El_Aaiun' | 'Africa/Johannesburg' | 'Africa/Juba' | 'Africa/Khartoum' | 'Africa/Lagos' | 'Africa/Maputo' | 'Africa/Monrovia' | 'Africa/Nairobi' | 'Africa/Ndjamena' | 'Africa/Sao_Tome' | 'Africa/Tripoli' | 'Africa/Tunis' | 'Africa/Windhoek' | 'America/Adak' | 'America/Anchorage' | 'America/Araguaina' | 'America/Argentina/Buenos_Aires' | 'America/Argentina/Catamarca' | 'America/Argentina/Cordoba' | 'America/Argentina/Jujuy' | 'America/Argentina/La_Rioja' | 'America/Argentina/Mendoza' | 'America/Argentina/Rio_Gallegos' | 'America/Argentina/Salta' | 'America/Argentina/San_Juan' | 'America/Argentina/San_Luis' | 'America/Argentina/Tucuman' | 'America/Argentina/Ushuaia' | 'America/Asuncion' | 'America/Bahia' | 'America/Bahia_Banderas' | 'America/Barbados' | 'America/Belem' | 'America/Belize' | 'America/Boa_Vista' | 'America/Bogota' | 'America/Boise' | 'America/Cambridge_Bay' | 'America/Campo_Grande' | 'America/Cancun' | 'America/Caracas' | 'America/Cayenne' | 'America/Chicago' | 'America/Chihuahua' | 'America/Costa_Rica' | 'America/Cuiaba' | 'America/Danmarkshavn' | 'America/Dawson' | 'America/Dawson_Creek' | 'America/Denver' | 'America/Detroit' | 'America/Edmonton' | 'America/Eirunepe' | 'America/El_Salvador' | 'America/Fort_Nelson' | 'America/Fortaleza' | 'America/Glace_Bay' | 'America/Goose_Bay' | 'America/Grand_Turk' | 'America/Guatemala' | 'America/Guayaquil' | 'America/Guyana' | 'America/Halifax' | 'America/Havana' | 'America/Hermosillo' | 'America/Indiana/Indianapolis' | 'America/Indiana/Knox' | 'America/Indiana/Marengo' | 'America/Indiana/Petersburg' | 'America/Indiana/Tell_City' | 'America/Indiana/Vevay' | 'America/Indiana/Vincennes' | 'America/Indiana/Winamac' | 'America/Inuvik' | 'America/Iqaluit' | 'America/Jamaica' | 'America/Juneau' | 'America/Kentucky/Louisville' | 'America/Kentucky/Monticello' | 'America/La_Paz' | 'America/Lima' | 'America/Los_Angeles' | 'America/Maceio' | 'America/Managua' | 'America/Manaus' | 'America/Martinique' | 'America/Matamoros' | 'America/Mazatlan' | 'America/Menominee' | 'America/Merida' | 'America/Metlakatla' | 'America/Mexico_City' | 'America/Miquelon' | 'America/Moncton' | 'America/Monterrey' | 'America/Montevideo' | 'America/New_York' | 'America/Nipigon' | 'America/Nome' | 'America/Noronha' | 'America/North_Dakota/Beulah' | 'America/North_Dakota/Center' | 'America/North_Dakota/New_Salem' | 'America/Nuuk' | 'America/Ojinaga' | 'America/Panama' | 'America/Pangnirtung' | 'America/Paramaribo' | 'America/Phoenix' | 'America/Port-au-Prince' | 'America/Porto_Velho' | 'America/Puerto_Rico' | 'America/Punta_Arenas' | 'America/Rainy_River' | 'America/Rankin_Inlet' | 'America/Recife' | 'America/Regina' | 'America/Resolute' | 'America/Rio_Branco' | 'America/Santarem' | 'America/Santiago' | 'America/Santo_Domingo' | 'America/Sao_Paulo' | 'America/Scoresbysund' | 'America/Sitka' | 'America/St_Johns' | 'America/Swift_Current' | 'America/Tegucigalpa' | 'America/Thule' | 'America/Thunder_Bay' | 'America/Tijuana' | 'America/Toronto' | 'America/Vancouver' | 'America/Whitehorse' | 'America/Winnipeg' | 'America/Yakutat' | 'America/Yellowknife' | 'Antarctica/Casey' | 'Antarctica/Davis' | 'Antarctica/Macquarie' | 'Antarctica/Mawson' | 'Antarctica/Palmer' | 'Antarctica/Rothera' | 'Antarctica/Troll' | 'Antarctica/Vostok' | 'Asia/Almaty' | 'Asia/Amman' | 'Asia/Anadyr' | 'Asia/Aqtau' | 'Asia/Aqtobe' | 'Asia/Ashgabat' | 'Asia/Atyrau' | 'Asia/Baghdad' | 'Asia/Baku' | 'Asia/Bangkok' | 'Asia/Barnaul' | 'Asia/Beirut' | 'Asia/Bishkek' | 'Asia/Brunei' | 'Asia/Chita' | 'Asia/Choibalsan' | 'Asia/Colombo' | 'Asia/Damascus' | 'Asia/Dhaka' | 'Asia/Dili' | 'Asia/Dubai' | 'Asia/Dushanbe' | 'Asia/Famagusta' | 'Asia/Gaza' | 'Asia/Hebron' | 'Asia/Ho_Chi_Minh' | 'Asia/Hong_Kong' | 'Asia/Hovd' | 'Asia/Irkutsk' | 'Asia/Jakarta' | 'Asia/Jayapura' | 'Asia/Jerusalem' | 'Asia/Kabul' | 'Asia/Kamchatka' | 'Asia/Karachi' | 'Asia/Kathmandu' | 'Asia/Khandyga' | 'Asia/Kolkata' | 'Asia/Krasnoyarsk' | 'Asia/Kuala_Lumpur' | 'Asia/Kuching' | 'Asia/Macau' | 'Asia/Magadan' | 'Asia/Makassar' | 'Asia/Manila' | 'Asia/Nicosia' | 'Asia/Novokuznetsk' | 'Asia/Novosibirsk' | 'Asia/Omsk' | 'Asia/Oral' | 'Asia/Pontianak' | 'Asia/Pyongyang' | 'Asia/Qatar' | 'Asia/Qostanay' | 'Asia/Qyzylorda' | 'Asia/Riyadh' | 'Asia/Sakhalin' | 'Asia/Samarkand' | 'Asia/Seoul' | 'Asia/Shanghai' | 'Asia/Singapore' | 'Asia/Srednekolymsk' | 'Asia/Taipei' | 'Asia/Tashkent' | 'Asia/Tbilisi' | 'Asia/Tehran' | 'Asia/Thimphu' | 'Asia/Tokyo' | 'Asia/Tomsk' | 'Asia/Ulaanbaatar' | 'Asia/Urumqi' | 'Asia/Ust-Nera' | 'Asia/Vladivostok' | 'Asia/Yakutsk' | 'Asia/Yangon' | 'Asia/Yekaterinburg' | 'Asia/Yerevan' | 'Atlantic/Azores' | 'Atlantic/Bermuda' | 'Atlantic/Canary' | 'Atlantic/Cape_Verde' | 'Atlantic/Faroe' | 'Atlantic/Madeira' | 'Atlantic/Reykjavik' | 'Atlantic/South_Georgia' | 'Atlantic/Stanley' | 'Australia/Adelaide' | 'Australia/Brisbane' | 'Australia/Broken_Hill' | 'Australia/Darwin' | 'Australia/Eucla' | 'Australia/Hobart' | 'Australia/Lindeman' | 'Australia/Lord_Howe' | 'Australia/Melbourne' | 'Australia/Perth' | 'Australia/Sydney' | 'CET' | 'CST6CDT' | 'EET' | 'EST' | 'EST5EDT' | 'Etc/GMT' | 'Etc/GMT-1' | 'Etc/GMT-10' | 'Etc/GMT-11' | 'Etc/GMT-12' | 'Etc/GMT-13' | 'Etc/GMT-14' | 'Etc/GMT-2' | 'Etc/GMT-3' | 'Etc/GMT-4' | 'Etc/GMT-5' | 'Etc/GMT-6' | 'Etc/GMT-7' | 'Etc/GMT-8' | 'Etc/GMT-9' | 'Etc/GMT+1' | 'Etc/GMT+10' | 'Etc/GMT+11' | 'Etc/GMT+12' | 'Etc/GMT+2' | 'Etc/GMT+3' | 'Etc/GMT+4' | 'Etc/GMT+5' | 'Etc/GMT+6' | 'Etc/GMT+7' | 'Etc/GMT+8' | 'Etc/GMT+9' | 'Etc/UTC' | 'Europe/Amsterdam' | 'Europe/Andorra' | 'Europe/Astrakhan' | 'Europe/Athens' | 'Europe/Belgrade' | 'Europe/Berlin' | 'Europe/Brussels' | 'Europe/Bucharest' | 'Europe/Budapest' | 'Europe/Chisinau' | 'Europe/Copenhagen' | 'Europe/Dublin' | 'Europe/Gibraltar' | 'Europe/Helsinki' | 'Europe/Istanbul' | 'Europe/Kaliningrad' | 'Europe/Kiev' | 'Europe/Kirov' | 'Europe/Lisbon' | 'Europe/London' | 'Europe/Luxembourg' | 'Europe/Madrid' | 'Europe/Malta' | 'Europe/Minsk' | 'Europe/Monaco' | 'Europe/Moscow' | 'Europe/Oslo' | 'Europe/Paris' | 'Europe/Prague' | 'Europe/Riga' | 'Europe/Rome' | 'Europe/Samara' | 'Europe/Saratov' | 'Europe/Simferopol' | 'Europe/Sofia' | 'Europe/Stockholm' | 'Europe/Tallinn' | 'Europe/Tirane' | 'Europe/Ulyanovsk' | 'Europe/Uzhgorod' | 'Europe/Vienna' | 'Europe/Vilnius' | 'Europe/Volgograd' | 'Europe/Warsaw' | 'Europe/Zaporozhye' | 'Europe/Zurich' | 'HST' | 'Indian/Chagos' | 'Indian/Christmas' | 'Indian/Cocos' | 'Indian/Kerguelen' | 'Indian/Mahe' | 'Indian/Maldives' | 'Indian/Mauritius' | 'Indian/Reunion' | 'MET' | 'MST' | 'MST7MDT' | 'Pacific/Apia' | 'Pacific/Auckland' | 'Pacific/Bougainville' | 'Pacific/Chatham' | 'Pacific/Chuuk' | 'Pacific/Easter' | 'Pacific/Efate' | 'Pacific/Fakaofo' | 'Pacific/Fiji' | 'Pacific/Funafuti' | 'Pacific/Galapagos' | 'Pacific/Gambier' | 'Pacific/Guadalcanal' | 'Pacific/Guam' | 'Pacific/Honolulu' | 'Pacific/Kanton' | 'Pacific/Kiritimati' | 'Pacific/Kosrae' | 'Pacific/Kwajalein' | 'Pacific/Majuro' | 'Pacific/Marquesas' | 'Pacific/Nauru' | 'Pacific/Niue' | 'Pacific/Norfolk' | 'Pacific/Noumea' | 'Pacific/Pago_Pago' | 'Pacific/Palau' | 'Pacific/Pitcairn' | 'Pacific/Pohnpei' | 'Pacific/Port_Moresby' | 'Pacific/Rarotonga' | 'Pacific/Tahiti' | 'Pacific/Tarawa' | 'Pacific/Tongatapu' | 'Pacific/Wake' | 'Pacific/Wallis' | 'PST8PDT' | 'WET' ``` ### Metafield Represents a custom metadata field attached to a resource. Metafields let you store additional structured data on Shopify resources like orders and products. * key The unique identifier for the metafield within its namespace. Must be between 3 and 30 characters in length (inclusive). ```ts string ``` * namespace A container for a group of metafields. Namespaces distinguish your app's metafields from those created by other apps. Must be between 2 and 20 characters in length (inclusive). ```ts string ``` * value The metafield's value. The data type depends on the \`valueType\`: integers are returned as numbers, while strings and JSON strings are returned as strings. ```ts string | number ``` * valueType The metafield’s value type, which determines how the \`value\` is interpreted: - \`'integer'\`: A whole number. - \`'string'\`: A plain text string. - \`'json\_string'\`: A JSON-encoded string. ```ts 'integer' | 'string' | 'json_string' ``` ### Order Details about the placed order, including its identifier, display name, and processing timestamps. * cancelledAt The date and time when the order was cancelled, in ISO 8601 format. Returns \`undefined\` if the order hasn't been cancelled. ```ts string ``` * confirmationNumber A randomly generated alpha-numeric confirmation code for the order. Always present for orders created in 2024 and later; may be absent for older orders. ```ts string ``` * id A globally-unique identifier for the order. ```ts string ``` * name The merchant-facing order number that appears in the Shopify admin and on the order confirmation page. ```ts string ``` * processedAt The date and time when the order was processed, in ISO 8601 format. Processing happens after checkout completes and indicates the order is available in the Shopify admin. ```ts string ``` ### Shop * id A globally-unique identifier for the shop. ```ts string ``` * myshopifyDomain The shop's \`myshopify.com\` domain. This is a stable identifier that doesn't change when the merchant updates their custom domain. ```ts string ``` * name The merchant's store name as configured in the Shopify admin. ```ts string ``` * storefrontUrl The primary storefront URL for the shop. This reflects the merchant's custom domain if one is configured. ```ts string ``` ### Version The API version string for the extension, such as \`'2025-07'\`. ```ts string ``` ## StandardApi The base API object provided to this and other `customer-account` extension targets. * **analytics** **Analytics** **required** Methods for interacting with [web pixels](https://shopify.dev/docs/apps/build/marketing-analytics/pixels), such as publishing analytics events. **Note:** Requires a \connected third-party domain\ for your customer account pages. * **applyTrackingConsentChange** **ApplyTrackingConsentChangeType** **required** Applies changes to the buyer's tracking consent preferences and consent metafields. **Note:** Requires the \\\customer\\_privacy\\ capability\ to be set to \true\. [](https://shopify.dev/apps/store/data-protection/protected-customer-data)Requires access to [protected customer data](https://shopify.dev/docs/apps/store/data-protection/protected-customer-data). * **authenticatedAccount** **AuthenticatedAccount** **required** The authenticated customer's account information, including their customer ID and B2B company details. * **customerPrivacy** **StatefulRemoteSubscribable\** **required** The buyer's current privacy consent settings, including consent flags, allowed processing activities, and region information. * **extension** **Extension** **required** Metadata about the extension, including its target, version, and editor context. For configuration details, see [`shopify.extension.toml`](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07#configuration). * **i18n** **I18n** **required** Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Supports both the buyer's locale and the extension's fallback locale. * **localization** **Localization** **required** The buyer's language, country, and locale context. For formatting utilities, use the `i18n` object instead. * **navigation** **StandardExtensionNavigation** **required** Methods for navigating within the customer account, including URL-based navigation and history management. * **query** **\(query: string, options?: { variables?: Variables; version?: StorefrontApiVersion; }) => Promise<{ data?: Data; errors?: GraphQLError\[]; }>** **required** Queries the Storefront GraphQL API using a prefetched token. Requires the [`api_access` capability](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07#configuration) in your extension configuration. * **sessionToken** **SessionToken** **required** Provides access to session tokens for verifying requests from your extension to your app's backend. Session tokens are signed [JSON Web Tokens (JWTs)](https://jwt.io/) that contain information about the current session. For more details, see the [Session Token API](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/apis/session-token). * **settings** **StatefulRemoteSubscribable\** **required** The merchant-configured [settings](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07#configuration) for this extension. Settings are empty until the merchant configures them, and values update in real time as the merchant saves changes. * **storage** **Storage** **required** Key-value storage that persists across customer sessions. Data is scoped to your app and shared across all extension targets. * **ui** **Ui** **required** Triggers platform-level UI interactions, such as displaying toast notifications. Use this to show success or error messages in response to customer actions. * **version** **Version** **required** The API version your extension is running against. This is the version specified in your [`shopify.extension.toml`](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07#configuration) file. * **extensionPoint** **Target** **required** **deprecated** The identifier that specifies where in Shopify’s UI your code is being injected. This will be one of the targets you have included in your extension’s configuration file. For available targets, see the [extension targets overview](https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/extension-targets-overview). For configuration details, see [extension targets](https://shopify.dev/docs/apps/app-extensions/configuration#targets). **Deprecated:** Deprecated as of version `2023-07`, use `extension.target` instead. ### Analytics Methods for interacting with \[web pixels]\(/docs/apps/build/marketing-analytics/pixels), including publishing analytics events and capturing visitor identity data. * publish Publishes analytics events to \[web pixels]\(/docs/apps/build/marketing-analytics/pixels). Events are forwarded to all subscribed pixels. ```ts (name: string, data: Record) => Promise ``` * visitor Captures visitor identity data (email or phone) for analytics and marketing attribution. ```ts (data: { email?: string; phone?: string; }) => Promise ``` ### VisitorResult Represents a visitor result. ```ts VisitorSuccess | VisitorError ``` ### VisitorSuccess Represents a successful visitor result. * type Indicates the visitor information was successfully validated and submitted. ```ts "success" ``` ### VisitorError Represents an unsuccessful visitor result. * message A message that explains the error. This message is useful for debugging. It's \*\*not\*\* localized, and therefore should not be presented directly to the buyer. ```ts string ``` * type Indicates the visitor information was invalid and wasn't submitted, such as using an incorrect data type or missing a required property. ```ts "error" ``` ### ApplyTrackingConsentChangeType * visitorConsent ```ts VisitorConsentChange ``` Promise\ ```ts Promise ``` ### VisitorConsentChange * analytics Whether the visitor consents to analytics tracking that measures how they interact with the site. ```ts boolean ``` * marketing Whether the visitor consents to ads and marketing communications based on their interests. ```ts boolean ``` * metafields Tracking consent metafield data to be saved. If the value is \`null\`, the metafield will be deleted. ```ts TrackingConsentMetafieldChange[] ``` * preferences Whether the visitor consents to storing preferences, such as country or language, to personalize their experience. ```ts boolean ``` * saleOfData Whether the visitor opts out of data sharing or sale of their personal data. ```ts boolean ``` * type The type of consent change. Always \`'changeVisitorConsent'\`. ```ts "changeVisitorConsent" ``` ### TrackingConsentMetafieldChange * key The name of the metafield. It must be between 3 and 30 characters in length (inclusive). ```ts string ``` * value The information to be stored as metadata. If the value is \`null\`, the metafield will be deleted. ```ts string | null ``` ### TrackingConsentChangeResult ```ts TrackingConsentChangeResultSuccess | TrackingConsentChangeResultError ``` ### TrackingConsentChangeResultSuccess The result returned when a tracking consent preference update succeeds. * type Always \`'success'\`, indicating the consent change was applied. ```ts "success" ``` ### TrackingConsentChangeResultError The result returned when a tracking consent preference update fails, including an error message. * message A message that explains the error. This message is useful for debugging. It isn’t localized, and therefore shouldn’t be presented directly to the buyer. ```ts string ``` * type Always \`'error'\`, indicating the consent change failed. ```ts "error" ``` ### AuthenticatedAccount * customer The authenticated customer's account information, including their globally-unique ID. ```ts StatefulRemoteSubscribable ``` * purchasingCompany The B2B company information for the authenticated business customer. The value is \`undefined\` if the customer isn't authenticated or isn't a B2B customer. ```ts StatefulRemoteSubscribable ``` ### Customer The authenticated customer's account information. {% include /apps/checkout/privacy-icon.md %} Requires access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). * id A globally-unique identifier for the customer. ```ts string ``` ### PurchasingCompany * company The company that the authenticated B2B customer belongs to. ```ts Company ``` * location The company location that the authenticated B2B customer is purchasing for. ```ts CompanyLocation ``` ### Company * id A globally-unique identifier for the company. ```ts string ``` ### CompanyLocation * id A globally-unique identifier for the company location. ```ts string ``` ### CustomerPrivacy * allowedProcessing Flags indicating which data processing activities are allowed, based on the visitor's consent, merchant configuration, and the visitor's location. ```ts AllowedProcessing ``` * metafields Custom key-value pairs that store additional tracking consent preferences, such as granular opt-in choices for analytics or marketing categories. The array is empty when no consent metafields have been set. ```ts TrackingConsentMetafield[] ``` * region The visitor's geolocation data, used to determine whether region-specific consent controls should be displayed. ```ts CustomerPrivacyRegion ``` * saleOfDataRegion Whether the visitor is in a region that requires explicit opt-out controls for the sale of personal data. ```ts boolean ``` * shouldShowBanner Whether a consent banner should display when the page loads. Determined by the visitor's current consent, the shop's \[region visibility configuration]\(https://help.shopify.com/en/manual/privacy-and-security/privacy/customer-privacy-settings/privacy-settings#add-a-cookie-banner), and the visitor's location. ```ts boolean ``` * visitorConsent The visitor's explicit consent choices for analytics, marketing, preferences, and sale of data. Each flag is \`true\` (granted), \`false\` (denied), or \`undefined\` (no decision yet). ```ts VisitorConsent ``` ### AllowedProcessing * analytics Whether the app can collect analytics about how the buyer interacted with the shop. ```ts boolean ``` * marketing Whether the app can use the buyer's data for marketing, attribution, and targeted advertising. ```ts boolean ``` * preferences Whether the app can store the buyer's preferences, such as language, currency, and size. ```ts boolean ``` * saleOfData Whether the buyer has opted out of data sharing with third parties for behavioral advertising. ```ts boolean ``` ### TrackingConsentMetafield * key The name of the metafield. It must be between 3 and 30 characters in length (inclusive). ```ts string ``` * value The stored consent preference value, such as a consent level or a stringified JSON object with granular settings. ```ts string ``` ### CustomerPrivacyRegion * countryCode The \[ISO 3166 Alpha-2 format]\(https://www\.iso.org/iso-3166-country-codes.html) for the buyer's country. {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). ```ts CountryCode ``` * provinceCode The buyer's province code, such as state, province, prefecture, or region. Province codes can be found by clicking on the \`Subdivisions assigned codes\` column for countries listed \[here]\(https://en.wikipedia.org/wiki/ISO\_3166-2). {% include /apps/checkout/privacy-icon.md %} Requires level 1 access to \[protected customer data]\(/docs/apps/store/data-protection/protected-customer-data). ```ts string ``` ### CountryCode ```ts 'AC' | 'AD' | 'AE' | 'AF' | 'AG' | 'AI' | 'AL' | 'AM' | 'AN' | 'AO' | 'AR' | 'AT' | 'AU' | 'AW' | 'AX' | 'AZ' | 'BA' | 'BB' | 'BD' | 'BE' | 'BF' | 'BG' | 'BH' | 'BI' | 'BJ' | 'BL' | 'BM' | 'BN' | 'BO' | 'BQ' | 'BR' | 'BS' | 'BT' | 'BV' | 'BW' | 'BY' | 'BZ' | 'CA' | 'CC' | 'CD' | 'CF' | 'CG' | 'CH' | 'CI' | 'CK' | 'CL' | 'CM' | 'CN' | 'CO' | 'CR' | 'CU' | 'CV' | 'CW' | 'CX' | 'CY' | 'CZ' | 'DE' | 'DJ' | 'DK' | 'DM' | 'DO' | 'DZ' | 'EC' | 'EE' | 'EG' | 'EH' | 'ER' | 'ES' | 'ET' | 'FI' | 'FJ' | 'FK' | 'FO' | 'FR' | 'GA' | 'GB' | 'GD' | 'GE' | 'GF' | 'GG' | 'GH' | 'GI' | 'GL' | 'GM' | 'GN' | 'GP' | 'GQ' | 'GR' | 'GS' | 'GT' | 'GW' | 'GY' | 'HK' | 'HM' | 'HN' | 'HR' | 'HT' | 'HU' | 'ID' | 'IE' | 'IL' | 'IM' | 'IN' | 'IO' | 'IQ' | 'IR' | 'IS' | 'IT' | 'JE' | 'JM' | 'JO' | 'JP' | 'KE' | 'KG' | 'KH' | 'KI' | 'KM' | 'KN' | 'KP' | 'KR' | 'KW' | 'KY' | 'KZ' | 'LA' | 'LB' | 'LC' | 'LI' | 'LK' | 'LR' | 'LS' | 'LT' | 'LU' | 'LV' | 'LY' | 'MA' | 'MC' | 'MD' | 'ME' | 'MF' | 'MG' | 'MK' | 'ML' | 'MM' | 'MN' | 'MO' | 'MQ' | 'MR' | 'MS' | 'MT' | 'MU' | 'MV' | 'MW' | 'MX' | 'MY' | 'MZ' | 'NA' | 'NC' | 'NE' | 'NF' | 'NG' | 'NI' | 'NL' | 'NO' | 'NP' | 'NR' | 'NU' | 'NZ' | 'OM' | 'PA' | 'PE' | 'PF' | 'PG' | 'PH' | 'PK' | 'PL' | 'PM' | 'PN' | 'PS' | 'PT' | 'PY' | 'QA' | 'RE' | 'RO' | 'RS' | 'RU' | 'RW' | 'SA' | 'SB' | 'SC' | 'SD' | 'SE' | 'SG' | 'SH' | 'SI' | 'SJ' | 'SK' | 'SL' | 'SM' | 'SN' | 'SO' | 'SR' | 'SS' | 'ST' | 'SV' | 'SX' | 'SY' | 'SZ' | 'TA' | 'TC' | 'TD' | 'TF' | 'TG' | 'TH' | 'TJ' | 'TK' | 'TL' | 'TM' | 'TN' | 'TO' | 'TR' | 'TT' | 'TV' | 'TW' | 'TZ' | 'UA' | 'UG' | 'UM' | 'US' | 'UY' | 'UZ' | 'VA' | 'VC' | 'VE' | 'VG' | 'VN' | 'VU' | 'WF' | 'WS' | 'XK' | 'YE' | 'YT' | 'ZA' | 'ZM' | 'ZW' | 'ZZ' ``` ### VisitorConsent * analytics Whether the visitor consents to analytics tracking that measures how they interact with the site. ```ts boolean ``` * marketing Whether the visitor consents to ads and marketing communications based on their interests. ```ts boolean ``` * preferences Whether the visitor consents to storing preferences, such as country or language, to personalize their experience. ```ts boolean ``` * saleOfData Whether the visitor opts out of data sharing or sale of their personal data. ```ts boolean ``` ### Extension Metadata about the extension, including its target, version, and editor context. For configuration details, see \[\`shopify.extension.toml\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration). * apiVersion The API version that was set in the extension config file. ```ts ApiVersion ``` * capabilities The allowed capabilities of the extension, defined in your \[\`shopify.extension.toml\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration) file. \* \[\`api\_access\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration): the extension can access the Storefront API. \* \[\`network\_access\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration): the extension can make external network calls. \* \[\`block\_progress\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration): the extension can block a buyer's progress and the merchant has allowed this blocking behavior. ```ts StatefulRemoteSubscribable ``` * editor Information about the editor where the extension is being rendered. The value is undefined if the extension isn’t rendering in an editor. ```ts Editor ``` * rendered Whether your extension is currently rendered to the screen. Shopify may render your extension before it's visible in the UI to pre-render content. Your extension may also continue running after the buyer navigates away so it's immediately available if they return. ```ts StatefulRemoteSubscribable ``` * scriptUrl The URL of the JavaScript file that powers this extension target. ```ts string ``` * target The identifier that specifies where in Shopify’s UI your code is being injected. This will be one of the targets you have included in your extension’s configuration file. For available targets, see the \[extension targets overview]\(/docs/api/customer-account-ui-extensions/2025-07/extension-targets-overview). For configuration details, see \[extension targets]\(/docs/apps/app-extensions/configuration#targets). ```ts Target ``` * version The published version of the running extension. For unpublished extensions, the value is \`undefined\`. ```ts string ``` ### ApiVersion The supported GraphQL Admin API versions. Use this to specify which API version your GraphQL queries should execute against. Each version includes specific features, bug fixes, and breaking changes. The \`unstable\` version provides access to the latest features, and can change without notice because it's not subject to versioning guarantees. ```ts '2023-04' | '2023-07' | '2023-10' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' ``` ### Capability The capabilities an extension has access to. \* \`api\_access\`: The extension can access the Storefront API. \* \`network\_access\`: The extension can make external network calls. \* \`block\_progress\`: The extension can block a buyer's progress and the merchant has allowed this blocking behavior. \* \`collect\_buyer\_consent.sms\_marketing\`: The extension can collect buyer consent for SMS marketing. \* \`collect\_buyer\_consent.customer\_privacy\`: The extension can register buyer consent decisions that will be honored on Shopify-managed services. \* \`iframe.sources\`: The extension can embed an external URL in an iframe. ```ts 'api_access' | 'network_access' | 'block_progress' | 'collect_buyer_consent.sms_marketing' | 'collect_buyer_consent.customer_privacy' | 'iframe.sources' ``` ### Editor Information about the editor where the extension is being rendered. * type Indicates whether the extension is rendering in the checkout editor. ```ts "checkout" ``` ### I18n Utilities for translating strings, formatting currencies, numbers, and dates according to the buyer's locale. Supports both the buyer's locale and the extension's fallback locale. * formatCurrency Returns a localized currency string. This function behaves like the standard \[\`Intl.NumberFormat()\`]\(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Intl/NumberFormat) with a style of \`currency\` applied. Uses the buyer's locale by default. ```ts (number: number | bigint, options?: { inExtensionLocale?: boolean; } & NumberFormatOptions) => string ``` * formatDate Returns a localized date string. This function behaves like the standard \[\`Intl.DateTimeFormat()\`]\(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Intl/DateTimeFormat) and uses the buyer's locale by default. Formatting \[options]\(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Intl/DateTimeFormat#using\_options) can be passed in as options. ```ts (date: Date, options?: { inExtensionLocale?: boolean; } & DateTimeFormatOptions) => string ``` * formatNumber Returns a localized number string. This function behaves like the standard \[\`Intl.NumberFormat()\`]\(https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global\_Objects/Intl/NumberFormat) with a style of \`decimal\` applied. Uses the buyer's locale by default. ```ts (number: number | bigint, options?: { inExtensionLocale?: boolean; } & NumberFormatOptions) => string ``` * translate Returns translated content in the buyer's locale, as supported by the extension. - \`options.count\` is a special numeric value used in pluralization. - The other option keys and values are treated as replacements for interpolation. - If the replacements are all primitives, then \`translate()\` returns a single string. - If replacements contain UI components, then \`translate()\` returns an array of elements. ```ts I18nTranslate ``` ### I18nTranslate The signature for the \`i18n.translate()\` function. Returns translated content matching a key in a locale file, with support for pluralization and interpolation. ### Localization The buyer’s language, country, and locale context in the customer account. Use this to adapt content to the buyer’s region and language preferences. * country The buyer's country context in the customer account, as a \`StatefulRemoteSubscribable\` that updates if the buyer changes their country. The value is \`undefined\` if the country is unknown. ```ts StatefulRemoteSubscribable ``` * extensionLanguage The buyer's language, as supported by the extension. If the buyer's actual language is not supported by the extension, this is the fallback locale used for translations. For example, if the buyer's language is \`fr-CA\` but your extension only supports translations for \`fr\`, then the \`isoCode\` for this language is \`fr\`. If your extension doesn't provide French translations at all, this value is the default locale for your extension (that is, the one matching your \`.default.json\` file). ```ts StatefulRemoteSubscribable ``` * language The language the buyer sees in the customer account pages. ```ts StatefulRemoteSubscribable ``` ### Country A buyer's country, identified by its ISO country code. * isoCode The ISO-3166-1 code for this country. ```ts CountryCode ``` ### Language Represents the buyer's language as a \[BCP-47 standard]\(https://en.wikipedia.org/wiki/IETF\_language\_tag) language tag. * isoCode The \[BCP-47]\(https://en.wikipedia.org/wiki/IETF\_language\_tag) language tag. May include a dash followed by an \[ISO 3166-1 Alpha-2]\(https://en.wikipedia.org/wiki/ISO\_3166-1\_alpha-2) region subtag. ```ts string ``` ### StandardExtensionNavigation Provides URL-based navigation within the customer account. Supports navigation to customer account pages and \[custom protocols]\(/docs/api/customer-account-ui-extensions/2025-07/apis/navigation). * navigate Navigates to a specific URL within the customer account, updating the history entries list. ```ts NavigateFunction ``` ### NavigateFunction A function that performs navigation to a specific URL within the customer account. ### StorefrontApiVersion The supported Storefront API versions. Pass one of these values to \`query()\` to target a specific API version when querying the Storefront GraphQL API. ```ts '2022-04' | '2022-07' | '2022-10' | '2023-01' | '2023-04' | '2023-07' | '2024-01' | '2024-04' | '2024-07' | '2024-10' | '2025-01' | '2025-04' | 'unstable' ``` ### GraphQLError An error returned by the Storefront GraphQL API. Contains a human-readable \`message\` and an \`extensions\` object with the request ID and error code for debugging. * extensions Additional error metadata including the request ID and error code. ```ts { requestId: string; code: string; } ``` * message A human-readable description of the error. ```ts string ``` ### SessionToken Provides access to session tokens for verifying requests from your extension to your app's backend. Session tokens are signed \[JSON Web Tokens (JWTs)]\(https://jwt.io/) that contain information about the current session. For more details, see the \[Session Token API]\(/docs/api/customer-account-ui-extensions/2025-07/apis/session-token). * get Requests a session token that hasn't expired. Call this method every time you need to make a request to your backend to get a valid token. Returns cached tokens when possible, so you don't need to store tokens yourself. ```ts () => Promise ``` ### ExtensionSettings The merchant-defined setting values for the extension, as configured in the \[\`shopify.extension.toml\`]\(/docs/api/customer-account-ui-extensions/2025-07#configuration) file. * \[key: string] ```ts string | number | boolean | undefined ``` ### Storage Key-value storage that persists across customer sessions. Data is scoped to your app and shared across all extension targets. * delete Deletes the stored data for the given key. ```ts (key: string) => Promise ``` * read Reads and returns a stored value by key. The stored data is deserialized from JSON and returned as its original type. Returns \`null\` if no data exists for the given key. ```ts (key: string) => Promise ``` * write Writes data for the given key. The data must be serializable to JSON. ```ts (key: string, data: any) => Promise ``` ### Ui Triggers platform-level UI interactions from your extension, such as displaying toast notifications. Use the UI API to show success or error messages in response to customer actions. * forceDataRefresh Refresh data so the surrounding information on the page is updated. The \`content\` string will appear in a toast message after refresh, to confirm the action was successful. To request access to this API: 1. Go to your partner dashboard and click \*\*Apps\*\*. 2. Select the app you need to request access for. 3. Click \*\*API access\*\*. 4. Under \*\*Access force data refresh\*\*, click \*\*Request access\*\*. ```ts (content: string) => Promise ``` * overlay An overlay is a contextual element on top of the main interface that provides additional information or functionality. ```ts { close(overlayId: string): void; } ``` * toast The Toast API displays a non-disruptive message that displays at the bottom of the interface to provide quick, at-a-glance feedback on the outcome of an action. How to use: - Use toasts to confirm successful actions. - Aim for two words. - Use noun + past tense verb format. For example, \\\`Changes saved\\\`. For errors, or information that needs to persist on the page, use a \[banner]\(/docs/api/customer-account-ui-extensions/2025-07/components/feedback/banner) component. ```ts { show(content: string): void; } ``` Examples ### Examples * #### Customer account order status customer information extension example ##### React ```jsx import { reactExtension, Banner, useOrder, } from '@shopify/ui-extensions-react/customer-account'; export default reactExtension( 'customer-account.order-status.customer-information.render-after', () => , ); function Extension() { const order = useOrder(); if (order) { return ( Please include your order ID ({order.id}) in support requests ); } return null; } ``` ##### Javascript ```js import { Banner, extension, } from '@shopify/ui-extensions/customer-account'; export default extension( 'customer-account.order-status.customer-information.render-after', (root, {order}) => { let bannerShown = false; order.subscribe((order) => { if (order && !bannerShown) { root.appendChild( root.createComponent( Banner, undefined, `Please include your order ID (${order.id}) in support requests`, ), ); bannerShown = true; } }); }, ); ```