--- title: Customer Account API description: Create unique customer experiences with the Customer Account API. The API offers a full range of options making it possible for customers to view their orders, manage their profile and much more. api_version: 2025-07 api_name: customer-account-ui-extensions source_url: html: https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/apis/customer-account-api md: https://shopify.dev/docs/api/customer-account-ui-extensions/2025-07/apis/customer-account-api.md --- # Customer Account APIAPI Create unique customer experiences with the Customer Account API. The API offers a full range of options making it possible for customers to view their orders, manage their profile and much more. ## Examples Accessing the Customer Account API with fetch() You can access the [Customer Account GraphQL API](https://shopify.dev/docs/api/customer) using the global `fetch()`. ### Examples * #### Accessing the Customer Account API with fetch() ##### Description You can access the \[Customer Account GraphQL API]\(/docs/api/customer) using the global \`fetch()\`. ##### React ```jsx import React, { useEffect, useState } from "react"; import { Banner, reactExtension, useTranslate, } from "@shopify/ui-extensions-react/customer-account"; export default reactExtension( "customer-account.order-status.block.render", () => ); function BlockExtension() { const [customerName, setCustomerName] = useState(""); const translate = useTranslate(); const getCustomerNameQuery = { query: `query { customer { firstName } }` }; useEffect(() => { fetch("shopify://customer-account/api/unstable/graphql.json", { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(getCustomerNameQuery), }).then((response) => response.json()) .then(({data: { customer: {firstName}}}) => { setCustomerName(firstName) }).catch(console.error); }); return customerName ? ( {translate('welcomeMsg', {name: customerName})} ): null; } ``` ##### JavaScript ```js import React from "react"; import { Banner, extension, } from "@shopify/ui-extensions-react/customer-account"; export default extension( "customer-account.order-status.block.render", (root, api) => { const getCustomerNameQuery = { query: `query { customer { firstName } }` }; fetch("shopify://customer-account/api/unstable/graphql.json", { method: 'POST', headers: { 'Content-Type': 'application/json', }, body: JSON.stringify(getCustomerNameQuery), }).then((response) => response.json()) .then(({data: {customer: {firstName}}}) => { if (firstName) { root.appendChild(root.createComponent(Banner, {}, `${api.i18n.translate('welcomeMsg', {name: firstName})}` )); } }).catch(console.error); }); ``` ## Related [![](https://shopify.dev/images/icons/32/pickaxe-1.png)![](https://shopify.dev/images/icons/32/pickaxe-1-dark.png)](https://shopify.dev/docs/api/customer) [Navigate toGraphQL Customer Account API](https://shopify.dev/docs/api/customer)