CINXE.COM
Custom Attributes
<!DOCTYPE html><html lang="en"><head><meta charSet="utf-8"/><meta class="swiftype" name="page_type" data-type="enum" content="techref"/><title>Custom Attributes</title><meta name="description" content="An overview of custom attributes, which are a lightweight way to include additional properties in the Square data model."/><meta name="environment" content="production"/><meta property="og:site_name" content="Square Developer"/><meta property="og:title" content="Custom Attributes"/><meta property="og:description" content="An overview of custom attributes, which are a lightweight way to include additional properties in the Square data model."/><meta property="og:url" content="https://developer.squareup.com/docs/devtools/customattributes/overview"/><meta name="twitter:card" content="summary"/><meta name="twitter:site" content="@SquareDev"/><meta name="twitter:creator" content="@SquareDev"/><meta name="twitter:title" content="Custom Attributes"/><meta name="twitter:url" content="https://developer.squareup.com/docs/devtools/customattributes/overview"/><meta name="twitter:description" content="An overview of custom attributes, which are a lightweight way to include additional properties in the Square data model."/><meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=1"/><link rel="shortcut icon" href="/favicon.ico"/><link rel="canonical" href="https://developer.squareup.com/docs/devtools/customattributes/overview"/><meta name="next-head-count" content="18"/><link rel="preconnect" href="https://dex-tech-fe-production-c.squarecdn.com/main"/><link rel="preconnect" href="https://square-fonts-production-f.squarecdn.com"/><link rel="preload" href="https://square-fonts-production-f.squarecdn.com/square-sans.min.css" as="style"/><link rel="stylesheet" href="https://square-fonts-production-f.squarecdn.com/square-sans.min.css"/><script id="sync-theme-from-storage" integrity="" type="text/javascript" data-nscript="beforeInteractive">var canUseLocalStorage = true; try { window.localStorage } catch (e) { canUseLocalStorage = false } var showDark = !1, storedVal = canUseLocalStorage && window.localStorage.getItem("themeSwitcher-isDark"); (showDark = storedVal ? "true" === storedVal : window.matchMedia && window.matchMedia("(prefers-color-scheme: dark)").matches) && !window.location.pathname.startsWith("/docs") && document.querySelector("html").classList.add("dark"); if(canUseLocalStorage && !storedVal) { window.localStorage.setItem("themeSwitcher-isDark", showDark); }</script><link rel="preload" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/b67c827188bc994a.css" as="style"/><link rel="stylesheet" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/b67c827188bc994a.css" data-n-g=""/><link rel="preload" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/214e90f9c54d8b89.css" as="style"/><link rel="stylesheet" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/214e90f9c54d8b89.css" data-n-p=""/><link rel="preload" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/1ee312704ccd3658.css" as="style"/><link rel="stylesheet" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/1ee312704ccd3658.css" data-n-p=""/><link rel="preload" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/f46c8bc19c31c913.css" as="style"/><link rel="stylesheet" href="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/css/f46c8bc19c31c913.css" data-n-p=""/><noscript data-n-css=""></noscript><script defer="" nomodule="" src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/polyfills-c67a75d1b6f99dc8.js"></script><script id="one-trust" src="https://cdn.cookielaw.org/scripttemplates/otSDKStub.js" type="text/javascript" data-domain-script="c4657020-c7d1-4a14-a091-267a7ee4863e" defer="" data-nscript="beforeInteractive"></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/webpack-295bd8df079283c3.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/framework-e3cb3eb2d5f357d8.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/main-6bd61b5a73f90664.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/pages/_app-187c20f4337dae4c.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/32855e9f-1a692ea671250f50.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/6311-971c73fc3e6291d4.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/4678-8aad20363577e47b.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/8834-a2fe10ea1e50d1e4.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/6008-e6bf90c7cb0b44b8.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/8863-d8617f2f83cc6921.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/6588-e55325977561a5db.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/285-31390a691cd85c04.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/5576-40eb1c708a8e78d3.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/7633-b76e657507858118.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/5958-df3791ebb9eca8b8.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/chunks/pages/docs/%5B%5B...slug%5D%5D-36746d6dc5d19fbe.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/b19e9bf6c2e7608b1a09ca60e575f7c7a0540e24/_buildManifest.js" defer=""></script><script src="https://dex-tech-fe-production-c.squarecdn.com/main/_next/static/b19e9bf6c2e7608b1a09ca60e575f7c7a0540e24/_ssgManifest.js" defer=""></script></head><body><market-context-manager></market-context-manager><div id="__next"><div id="user-interaction-publisher"><market-toaster></market-toaster><div class="app_app__T4olD"><div class="grid_dex-grid-container__ZLJnB grid_dex-docs-app-grid-container__k80cL page-layout_page-layout__M2lNk page-layout_fixed-layout__hOmlH"><div class="grid-item_grid-item-full__LsU8d page-layout_top-layout__ejnXB"><div class="mobile-nav-helpers_vars__2Xk6M mobile-nav-helpers_shifter__7JF7H mobile-nav-helpers_show-hamburger-tablet__fNdPX"><div><header class="dex-site-header svelte-180r00y slim noPadding" data-swiftype-index="false" type="button" data-test-selector="site-header"><div class="dex-nav__left-nav svelte-180r00y"><button class="dex-site-header__collapse-button dex-site-header__button-reset svelte-180r00y" aria-label="navigation menu"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="M2 6a1 1 0 011-1h18a1 1 0 110 2H3a1 1 0 01-1-1zm0 6a1 1 0 011-1h18a1 1 0 110 2H3a1 1 0 01-1-1zm1 5a1 1 0 100 2h18a1 1 0 100-2H3z" fill="var(--dex-nav-nav-hamburger-color)"></path></svg></button> <a class="dex-site-header__link-outer dex-site-header__desktop-nav dex-site-header__logo svelte-180r00y noPadding" href="https://developer.squareup.com" data-test-selector="site-header-square-logo"><div class="dex-site-header__link-inner svelte-180r00y"><div class="dsgn-logo svelte-1afh84a"><svg role="presentation" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="svelte-bffzqn"><path d="M7.526 7.866c-.026.08-.026.179-.026.376v3.516c0 .197 0 .296.026.376a.53.53 0 0 0 .34.34c.08.026.179.026.376.026h3.516c.197 0 .296 0 .376-.026a.53.53 0 0 0 .34-.34c.026-.08.026-.179.026-.376V8.242c0-.197 0-.296-.026-.376a.53.53 0 0 0-.34-.34c-.08-.026-.179-.026-.376-.026H8.242c-.197 0-.296 0-.376.026a.53.53 0 0 0-.34.34z" fill="var(--dex-nav-text-color-primary)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M0 4c0-.62 0-.929.041-1.188A3.333 3.333 0 0 1 2.811.04C3.072 0 3.382 0 4 0h12c.62 0 .929 0 1.188.041a3.333 3.333 0 0 1 2.771 2.77C20 3.072 20 3.382 20 4v12c0 .62 0 .929-.041 1.188a3.333 3.333 0 0 1-2.77 2.771C16.928 20 16.618 20 16 20H4c-.62 0-.929 0-1.188-.041a3.333 3.333 0 0 1-2.771-2.77C0 16.928 0 16.618 0 16V4zm4 .947C4 4.424 4.424 4 4.947 4h10.106c.523 0 .947.424.947.947v10.106a.947.947 0 0 1-.947.947H4.947A.947.947 0 0 1 4 15.053V4.947z" fill="var(--dex-nav-text-color-primary)"></path></svg></div> <div class="dsgn-logo-text svelte-1afh84a"><svg role="presentation" xmlns="http://www.w3.org/2000/svg" width="164" height="20" fill="none" aria-label="Square Developer" class="svelte-1afh84a"><path d="M16.675 0H3.376C1.483 0 0 1.483 0 3.325v13.299a3.318 3.318 0 0 0 3.325 3.325h13.3a3.318 3.318 0 0 0 3.324-3.325v-13.3C20 1.485 18.517 0 16.675 0Zm-.307 15.294a1.08 1.08 0 0 1-1.074 1.074H4.706a1.08 1.08 0 0 1-1.074-1.074V4.706c0-.614.46-1.074 1.074-1.074h10.64c.562 0 1.022.46 1.022 1.074v10.588Zm-4.245-2.557a.591.591 0 0 0 .614-.614V7.877a.591.591 0 0 0-.614-.614H7.877a.591.591 0 0 0-.614.614v4.246c0 .358.256.614.614.614h4.246Zm13.197-.307h2.2c.102 1.227.92 2.2 2.66 2.2 1.534 0 2.454-.768 2.454-1.893 0-1.075-.716-1.535-2.046-1.842l-1.688-.358c-1.841-.41-3.222-1.586-3.222-3.53 0-2.148 1.892-3.58 4.348-3.58 2.608 0 4.296 1.381 4.399 3.376h-2.098c-.255-.92-1.023-1.534-2.301-1.534-1.33 0-2.251.716-2.251 1.636 0 .921.818 1.484 2.2 1.79l1.687.359c1.842.409 3.07 1.534 3.07 3.478 0 2.455-1.842 3.939-4.502 3.939-3.12.102-4.757-1.535-4.91-4.041ZM42.455 20v-3.632l.154-1.585h-.154c-.511 1.125-1.534 1.79-2.966 1.79-2.302 0-3.99-1.893-3.99-4.757 0-2.865 1.688-4.757 3.99-4.757 1.432 0 2.404.665 2.966 1.688h.154V7.212H44.5V19.95h-2.046V20Zm.051-8.184C42.506 9.974 41.381 8.9 40 8.9c-1.381 0-2.506 1.074-2.506 2.916 0 1.841 1.125 2.915 2.506 2.915 1.381 0 2.506-1.074 2.506-2.915Zm3.479.92V7.213h2.046v5.32c0 1.432.716 2.148 1.841 2.148 1.432 0 2.353-1.023 2.353-2.608v-4.86h2.046v9.156H52.38v-1.892h-.154c-.46 1.227-1.432 2.046-2.967 2.046-2.148.05-3.273-1.381-3.273-3.785Zm9.514 1.075c0-1.688 1.176-2.711 3.325-2.814l2.506-.153v-.716c0-.87-.614-1.381-1.74-1.381-1.022 0-1.636.511-1.79 1.227h-2.045c.204-1.841 1.739-2.915 3.836-2.915 2.353 0 3.785 1.023 3.785 2.915v6.394h-1.893V14.68h-.153c-.41 1.126-1.33 1.893-3.018 1.893-1.637 0-2.813-1.125-2.813-2.762Zm5.831-1.126v-.46l-2.046.154c-1.125.05-1.586.46-1.586 1.278 0 .716.563 1.177 1.381 1.177 1.433 0 2.251-.921 2.251-2.149Zm3.58 3.683V7.212h1.893v1.74h.154c.255-1.177 1.176-1.74 2.557-1.74h.92v1.842h-1.176c-1.33 0-2.301.87-2.301 2.455v4.86H64.91Zm14.783-4.194h-6.956c.102 1.688 1.278 2.609 2.608 2.609 1.126 0 1.79-.46 2.2-1.177h1.995c-.563 1.842-2.2 2.967-4.246 2.967-2.71 0-4.603-1.995-4.603-4.757 0-2.711 1.943-4.757 4.603-4.757 2.66 0 4.45 1.841 4.45 4.143 0 .41 0 .665-.05.972Zm-1.944-1.381c-.05-1.279-1.125-2.148-2.404-2.148-1.227 0-2.25.767-2.455 2.148h4.86ZM84.962 16.368V3.888h3.99c3.631 0 6.086 2.301 6.086 6.24 0 3.938-2.455 6.24-6.087 6.24h-3.99Zm2.148-1.892h1.841c2.302 0 3.99-1.484 3.99-4.348 0-2.865-1.688-4.348-3.99-4.348H87.11v8.696ZM104.962 12.174h-6.957c.103 1.688 1.279 2.609 2.609 2.609 1.125 0 1.79-.46 2.199-1.177h1.995c-.562 1.842-2.199 2.967-4.245 2.967-2.711 0-4.604-1.995-4.604-4.757 0-2.762 1.944-4.757 4.604-4.757s4.45 1.841 4.45 4.143c.051.41 0 .665-.051.972Zm-1.944-1.381c-.051-1.279-1.125-2.148-2.404-2.148-1.228 0-2.25.767-2.455 2.148h4.859ZM108.389 16.368l-3.223-9.156h2.251l1.841 5.473.307 1.28h.154l.358-1.28 1.841-5.473h2.251l-3.376 9.156h-2.404ZM123.12 12.174h-6.956c.102 1.688 1.279 2.609 2.608 2.609 1.126 0 1.791-.46 2.2-1.177h1.995c-.563 1.842-2.2 2.967-4.246 2.967-2.711 0-4.603-1.995-4.603-4.757 0-2.762 1.943-4.757 4.603-4.757 2.66 0 4.45 1.841 4.45 4.143 0 .41-.051.665-.051.972Zm-1.995-1.381c-.051-1.279-1.125-2.148-2.404-2.148-1.227 0-2.25.767-2.455 2.148h4.859ZM124.348 16.368V3.683h2.046v12.685h-2.046ZM127.57 11.816c0-2.762 1.842-4.757 4.604-4.757s4.552 1.944 4.552 4.757c0 2.813-1.841 4.757-4.552 4.757-2.813 0-4.604-1.995-4.604-4.757Zm7.059 0c0-1.893-1.125-2.916-2.506-2.916-1.381 0-2.507 1.023-2.507 2.916 0 1.892 1.126 2.915 2.507 2.915 1.381 0 2.506-1.023 2.506-2.915ZM137.903 7.263h1.893v1.535h.153c.563-1.074 1.534-1.74 2.967-1.74 2.302 0 3.989 1.893 3.989 4.758 0 2.864-1.687 4.757-3.989 4.757-1.433 0-2.456-.665-2.967-1.688h-.153l.153 1.534v3.376h-2.046V7.263Zm6.956 4.553c0-1.842-1.125-2.916-2.506-2.916-1.381 0-2.506 1.074-2.506 2.916 0 1.841 1.125 2.915 2.506 2.915 1.381 0 2.506-1.074 2.506-2.915ZM156.829 12.174h-6.957c.103 1.688 1.279 2.609 2.609 2.609 1.125 0 1.79-.46 2.199-1.177h1.995c-.562 1.842-2.199 2.967-4.245 2.967-2.711 0-4.604-1.995-4.604-4.757 0-2.762 1.944-4.757 4.604-4.757s4.45 1.841 4.45 4.143c0 .41-.051.665-.051.972Zm-1.944-1.381c-.051-1.279-1.125-2.148-2.404-2.148-1.228 0-2.251.767-2.455 2.148h4.859ZM158.056 16.368V7.263h1.893v1.74h.153c.256-1.177 1.177-1.74 2.558-1.74h.921v1.842h-1.177c-1.33 0-2.302.87-2.302 2.455v4.808h-2.046Z" fill="var(--dex-nav-logo-color-primary)"></path></svg> </div></div></a> <button class="dex-site-header__link-outer dex-site-header__mobile-nav dex-site-header__button-reset svelte-180r00y"><div class="dex-site-header__link-inner svelte-180r00y"><div class="dsgn-logo svelte-1afh84a"><svg role="presentation" width="20" height="20" viewBox="0 0 20 20" fill="none" xmlns="http://www.w3.org/2000/svg" aria-hidden="true" class="svelte-bffzqn"><path d="M7.526 7.866c-.026.08-.026.179-.026.376v3.516c0 .197 0 .296.026.376a.53.53 0 0 0 .34.34c.08.026.179.026.376.026h3.516c.197 0 .296 0 .376-.026a.53.53 0 0 0 .34-.34c.026-.08.026-.179.026-.376V8.242c0-.197 0-.296-.026-.376a.53.53 0 0 0-.34-.34c-.08-.026-.179-.026-.376-.026H8.242c-.197 0-.296 0-.376.026a.53.53 0 0 0-.34.34z" fill="var(--dex-nav-text-color-primary)"></path><path fill-rule="evenodd" clip-rule="evenodd" d="M0 4c0-.62 0-.929.041-1.188A3.333 3.333 0 0 1 2.811.04C3.072 0 3.382 0 4 0h12c.62 0 .929 0 1.188.041a3.333 3.333 0 0 1 2.771 2.77C20 3.072 20 3.382 20 4v12c0 .62 0 .929-.041 1.188a3.333 3.333 0 0 1-2.77 2.771C16.928 20 16.618 20 16 20H4c-.62 0-.929 0-1.188-.041a3.333 3.333 0 0 1-2.771-2.77C0 16.928 0 16.618 0 16V4zm4 .947C4 4.424 4.424 4 4.947 4h10.106c.523 0 .947.424.947.947v10.106a.947.947 0 0 1-.947.947H4.947A.947.947 0 0 1 4 15.053V4.947z" fill="var(--dex-nav-text-color-primary)"></path></svg></div> <div class="dsgn-logo-text svelte-1afh84a"><svg role="presentation" xmlns="http://www.w3.org/2000/svg" width="164" height="20" fill="none" aria-label="Square Developer" class="svelte-1afh84a"><path d="M16.675 0H3.376C1.483 0 0 1.483 0 3.325v13.299a3.318 3.318 0 0 0 3.325 3.325h13.3a3.318 3.318 0 0 0 3.324-3.325v-13.3C20 1.485 18.517 0 16.675 0Zm-.307 15.294a1.08 1.08 0 0 1-1.074 1.074H4.706a1.08 1.08 0 0 1-1.074-1.074V4.706c0-.614.46-1.074 1.074-1.074h10.64c.562 0 1.022.46 1.022 1.074v10.588Zm-4.245-2.557a.591.591 0 0 0 .614-.614V7.877a.591.591 0 0 0-.614-.614H7.877a.591.591 0 0 0-.614.614v4.246c0 .358.256.614.614.614h4.246Zm13.197-.307h2.2c.102 1.227.92 2.2 2.66 2.2 1.534 0 2.454-.768 2.454-1.893 0-1.075-.716-1.535-2.046-1.842l-1.688-.358c-1.841-.41-3.222-1.586-3.222-3.53 0-2.148 1.892-3.58 4.348-3.58 2.608 0 4.296 1.381 4.399 3.376h-2.098c-.255-.92-1.023-1.534-2.301-1.534-1.33 0-2.251.716-2.251 1.636 0 .921.818 1.484 2.2 1.79l1.687.359c1.842.409 3.07 1.534 3.07 3.478 0 2.455-1.842 3.939-4.502 3.939-3.12.102-4.757-1.535-4.91-4.041ZM42.455 20v-3.632l.154-1.585h-.154c-.511 1.125-1.534 1.79-2.966 1.79-2.302 0-3.99-1.893-3.99-4.757 0-2.865 1.688-4.757 3.99-4.757 1.432 0 2.404.665 2.966 1.688h.154V7.212H44.5V19.95h-2.046V20Zm.051-8.184C42.506 9.974 41.381 8.9 40 8.9c-1.381 0-2.506 1.074-2.506 2.916 0 1.841 1.125 2.915 2.506 2.915 1.381 0 2.506-1.074 2.506-2.915Zm3.479.92V7.213h2.046v5.32c0 1.432.716 2.148 1.841 2.148 1.432 0 2.353-1.023 2.353-2.608v-4.86h2.046v9.156H52.38v-1.892h-.154c-.46 1.227-1.432 2.046-2.967 2.046-2.148.05-3.273-1.381-3.273-3.785Zm9.514 1.075c0-1.688 1.176-2.711 3.325-2.814l2.506-.153v-.716c0-.87-.614-1.381-1.74-1.381-1.022 0-1.636.511-1.79 1.227h-2.045c.204-1.841 1.739-2.915 3.836-2.915 2.353 0 3.785 1.023 3.785 2.915v6.394h-1.893V14.68h-.153c-.41 1.126-1.33 1.893-3.018 1.893-1.637 0-2.813-1.125-2.813-2.762Zm5.831-1.126v-.46l-2.046.154c-1.125.05-1.586.46-1.586 1.278 0 .716.563 1.177 1.381 1.177 1.433 0 2.251-.921 2.251-2.149Zm3.58 3.683V7.212h1.893v1.74h.154c.255-1.177 1.176-1.74 2.557-1.74h.92v1.842h-1.176c-1.33 0-2.301.87-2.301 2.455v4.86H64.91Zm14.783-4.194h-6.956c.102 1.688 1.278 2.609 2.608 2.609 1.126 0 1.79-.46 2.2-1.177h1.995c-.563 1.842-2.2 2.967-4.246 2.967-2.71 0-4.603-1.995-4.603-4.757 0-2.711 1.943-4.757 4.603-4.757 2.66 0 4.45 1.841 4.45 4.143 0 .41 0 .665-.05.972Zm-1.944-1.381c-.05-1.279-1.125-2.148-2.404-2.148-1.227 0-2.25.767-2.455 2.148h4.86ZM84.962 16.368V3.888h3.99c3.631 0 6.086 2.301 6.086 6.24 0 3.938-2.455 6.24-6.087 6.24h-3.99Zm2.148-1.892h1.841c2.302 0 3.99-1.484 3.99-4.348 0-2.865-1.688-4.348-3.99-4.348H87.11v8.696ZM104.962 12.174h-6.957c.103 1.688 1.279 2.609 2.609 2.609 1.125 0 1.79-.46 2.199-1.177h1.995c-.562 1.842-2.199 2.967-4.245 2.967-2.711 0-4.604-1.995-4.604-4.757 0-2.762 1.944-4.757 4.604-4.757s4.45 1.841 4.45 4.143c.051.41 0 .665-.051.972Zm-1.944-1.381c-.051-1.279-1.125-2.148-2.404-2.148-1.228 0-2.25.767-2.455 2.148h4.859ZM108.389 16.368l-3.223-9.156h2.251l1.841 5.473.307 1.28h.154l.358-1.28 1.841-5.473h2.251l-3.376 9.156h-2.404ZM123.12 12.174h-6.956c.102 1.688 1.279 2.609 2.608 2.609 1.126 0 1.791-.46 2.2-1.177h1.995c-.563 1.842-2.2 2.967-4.246 2.967-2.711 0-4.603-1.995-4.603-4.757 0-2.762 1.943-4.757 4.603-4.757 2.66 0 4.45 1.841 4.45 4.143 0 .41-.051.665-.051.972Zm-1.995-1.381c-.051-1.279-1.125-2.148-2.404-2.148-1.227 0-2.25.767-2.455 2.148h4.859ZM124.348 16.368V3.683h2.046v12.685h-2.046ZM127.57 11.816c0-2.762 1.842-4.757 4.604-4.757s4.552 1.944 4.552 4.757c0 2.813-1.841 4.757-4.552 4.757-2.813 0-4.604-1.995-4.604-4.757Zm7.059 0c0-1.893-1.125-2.916-2.506-2.916-1.381 0-2.507 1.023-2.507 2.916 0 1.892 1.126 2.915 2.507 2.915 1.381 0 2.506-1.023 2.506-2.915ZM137.903 7.263h1.893v1.535h.153c.563-1.074 1.534-1.74 2.967-1.74 2.302 0 3.989 1.893 3.989 4.758 0 2.864-1.687 4.757-3.989 4.757-1.433 0-2.456-.665-2.967-1.688h-.153l.153 1.534v3.376h-2.046V7.263Zm6.956 4.553c0-1.842-1.125-2.916-2.506-2.916-1.381 0-2.506 1.074-2.506 2.916 0 1.841 1.125 2.915 2.506 2.915 1.381 0 2.506-1.074 2.506-2.915ZM156.829 12.174h-6.957c.103 1.688 1.279 2.609 2.609 2.609 1.125 0 1.79-.46 2.199-1.177h1.995c-.562 1.842-2.199 2.967-4.245 2.967-2.711 0-4.604-1.995-4.604-4.757 0-2.762 1.944-4.757 4.604-4.757s4.45 1.841 4.45 4.143c0 .41-.051.665-.051.972Zm-1.944-1.381c-.051-1.279-1.125-2.148-2.404-2.148-1.228 0-2.251.767-2.455 2.148h4.859ZM158.056 16.368V7.263h1.893v1.74h.153c.256-1.177 1.177-1.74 2.558-1.74h.921v1.842h-1.177c-1.33 0-2.302.87-2.302 2.455v4.808h-2.046Z" fill="var(--dex-nav-logo-color-primary)"></path></svg> </div> <span class="chevron svelte-180r00y"><svg class="direction--down svelte-mcdwxn" width="10" height="12" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M1 4l4 4 4-4" stroke="var(--dex-nav-icon-color)" stroke-width="2" stroke-linecap="round"></path></svg></span></div></button></div> <div class="dex-site-header__search-container svelte-180r00y"><button class="dsgn__search-button svelte-ezc5q8" data-test-selector="search-button"><svg xmlns="http://www.w3.org/2000/svg" width="12" height="12" fill="none"><path fill="var(--dex-nav-text-color-primary)" fill-opacity=".9" d="M5 9.667a4.639 4.639 0 0 0 2.787-.934l2.74 2.74.94-.94-2.74-2.74a4.61 4.61 0 0 0 .933-2.786A4.672 4.672 0 0 0 4.993.34 4.672 4.672 0 0 0 .327 5.007c0 2.573 2.1 4.66 4.673 4.66Zm0-8a3.335 3.335 0 0 1 0 6.666 3.335 3.335 0 0 1 0-6.666Z"></path></svg> <span class="dsgn-search__desktop-view dsgn-search__button-text svelte-ezc5q8">Search developer resources</span> <div data-testid="search-hot-key" class="dsgn-search__desktop-view dsgn-search__button-hotkey-container svelte-ezc5q8"><div class="dsgn-search__desktop-view dsgn-search__button-hotkey-text svelte-ezc5q8">/ </div></div> </button></div> <ul class="dex-site-header__right-nav svelte-180r00y"><li class="dex-site-header__desktop-nav svelte-180r00y"><button class="dsgn__dropdown-button svelte-1dsehf1 highlighted">Docs & Tools</button> </li> <li class="dex-site-header__desktop-nav svelte-180r00y"><button class="dsgn__dropdown-button svelte-1dsehf1">SDKs</button> </li> <li class="dex-site-header__desktop-nav svelte-180r00y"><button class="dsgn__dropdown-button svelte-1dsehf1">Support</button> </li> <li class="dex-site-header__desktop-nav svelte-180r00y"><a data-test-selector="site-header-partnerships-link" class="dex-site-header__right-nav__link dex-site-header__link-outer svelte-180r00y" href="https://www.squareup.com/us/en/partnerships">Partnerships </a></li> <li class="dex-site-header__desktop-nav svelte-180r00y"><a data-test-selector="site-header-sign-in-link" class="dex-site-header__right-nav__link dex-site-header__link-outer sign-in-link svelte-180r00y" href="https://squareup.com/login?app=developer&return_to=https://developer.squareup.com/apps">Sign In </a></li> <li class="dex-site-header__mobile-nav svelte-180r00y"><a data-test-selector="site-header-sign-in-link" class="dex-site-header__right-nav__link dex-site-header__link-outer sign-in-link svelte-180r00y" href="https://squareup.com/login?app=developer&return_to=https://developer.squareup.com/apps">Sign In </a></li></ul></header> </div></div></div><div class="grid-item_grid-item-full__LsU8d"><div data-testid="top-nav-desktop" class="box_p-l-3x__N7Usx box_p-r-3x__0IVNa box_b-t-l-std__qC_VL box_b-b-l-std__q5XI3 top-nav_top-nav__aG_ui top-nav_desktop__iLo1X"><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Docs Home"}" href="/docs" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Docs Home</a><div data-testid="top-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj top-nav-items_divider__VVpS8"></div><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Dev Essentials"}" href="/docs/development-essentials" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI top-nav-items_active__uF7_5 focus-ring-styles_focus-ring__5P6v0">Dev Essentials</a><div data-testid="top-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj top-nav-items_divider__VVpS8"></div><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Payments"}" href="/docs/payments-overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Payments</a><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Commerce"}" href="/docs/commerce" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Commerce</a><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Customers"}" href="/docs/customers" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Customers</a><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Staff"}" href="/docs/staff" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Staff</a><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Merchants"}" href="/docs/merchant-details" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Merchants</a><div data-testid="top-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj top-nav-items_divider__VVpS8"></div><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Publish"}" href="/docs/app-marketplace" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Publish</a><div data-testid="top-nav-space" class="top-nav-items_space__H5jum"></div><div data-testid="top-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj top-nav-items_divider__VVpS8"></div><a data-tracking-id="top-nav-link" data-tracking-extra="{"title":"Release notes"}" href="/docs/release-notes" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy top-nav-items_link__YZ4rI focus-ring-styles_focus-ring__5P6v0">Release notes</a></div></div><div data-testid="docs-mobile-nav" class="box_p-l-3x__N7Usx box_p-r-3x__0IVNa box_p-t-3x__w9FzI box_p-b-3x__BcYHb mobile-nav_mobile-nav__VSQOx"><div class="mobile-nav_top__U5ub2"><div><h2 data-testid="mobile-nav-title" class="heading_base__MS64u heading_heading-30__MH4YZ">Docs</h2></div><button data-tracking-id="docs-mobile-nav-close-button" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 mobile-nav_close-button__q8KNd"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="m6.71 18.71 5.29-5.3 5.29 5.3 1.42-1.42-5.3-5.29 5.3-5.29-1.42-1.42-5.29 5.3-5.29-5.3-1.42 1.42 5.3 5.29-5.3 5.29 1.42 1.42Z" fill="#7B61FF"></path></svg></button></div><div class="box_m-t-7x__d2nuT"><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Docs Home</a></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/development-essentials" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe mobile-nav_active__23Zu_">Dev Essentials</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/payments-overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Payments</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/commerce" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Commerce</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/customers" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Customers</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/staff" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Staff</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/merchant-details" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Merchants</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/app-marketplace" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Publish</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div><div data-testid="mobile-nav-item" class="box_m-t-2x__WfWa6 box_m-b-2x__nVJGZ box_p-b-2x__bSkd6 box_b-b-l-std__q5XI3 mobile-nav_nav-item__d7rgv"><a href="/docs/release-notes" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy mobile-nav_link__k_jYe">Release notes</a><button data-tracking-id="mobile-nav-step-into" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m5 4.586 4 4-4 4L6.414 14l5.414-5.414-5.414-5.414L5 4.586Z" fill="currentColor"></path></svg></button></div></div></div></div><div data-testid="left-layout" class="page-layout_page-layout__M2lNk page-layout_fixed-layout__hOmlH page-layout_left-layout__rxzHd"><button data-testid="left-nav-toggle" data-tracking-id="left-nav-toggle" aria-label="Toggle left navigation" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 left-nav_left-nav-toggle__M_yBT"><svg xmlns="http://www.w3.org/2000/svg" width="16" height="24" viewBox="0 0 16 12" fill="none"><path fill="#7B61FF" fill-rule="evenodd" d="M0.292893 5.29282L5.29289 0.292818L6.70711 1.70703L3.41421 4.99992L6.5 4.99992L11.5 4.99992L11.5 6.99992L6.5 6.99992L3.41421 6.99992L6.70711 10.2928L5.29289 11.707L0.292893 6.70703C-0.0976315 6.31651 -0.0976315 5.68334 0.292893 5.29282ZM16 -6.99382e-07L14 -6.11959e-07L14 12L16 12L16 -6.99382e-07Z" clip-rule="evenodd"></path></svg></button><div data-testid="left-nav" class="box_p-l-3x__N7Usx box_p-r-3x__0IVNa box_p-t-2x__M5RH8 box_p-b-2x__bSkd6 box_b-r-l-std__Q4dy4 left-nav_left-nav__tj2rk"><div aria-expanded="false" aria-controls=":R39l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Get Started"}" href="/docs/square-get-started" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Get Started</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R39l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Create an Account and App"}" href="/docs/get-started/create-account-and-application" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Create an Account and App</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Make your First API Call"}" href="/docs/get-started/make-api-request" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Make your First API Call</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"View the API Logs"}" href="/docs/get-started/view-log" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">View the API Logs</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Verify the Payment"}" href="/docs/get-started/verify-transaction-in-seller-dashboard" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Verify the Payment</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"What's Next"}" href="/docs/get-started/what-next" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">What's Next</a></div></div></div><div data-testid="left-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj left-nav-items_divider__up2uZ"></div><div class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Overview"}" href="/docs/development-essentials" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Overview</a></div><div aria-expanded="true" aria-controls=":R99l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Build Basics"}" href="/docs/buildbasics" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Build Basics</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd recursive-nav-item_expanded__VQNoM"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R99l6:" role="region" class="recursive-nav-item_items-container__BBrAQ recursive-nav-item_expanded__VQNoM"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Versioning"}" href="/docs/build-basics/versioning-overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Versioning</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Access Tokens"}" href="/docs/build-basics/access-tokens" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Access Tokens</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Frontend and Backend Development"}" href="/docs/build-basics/frontend-backend-development" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Frontend and Backend Development</a></div><div aria-expanded="false" aria-controls=":R2a99l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"General Development Concepts"}" href="/docs/build-basics/general-considerations" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">General Development Concepts</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R2a99l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"TLS and HTTPS"}" href="/docs/build-basics/general-considerations/tls-and-https" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>TLS and HTTPS</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the REST API"}" href="/docs/build-basics/general-considerations/using-rest-api" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the REST API</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Handling Errors"}" href="/docs/build-basics/general-considerations/handling-errors" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Handling Errors</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Collecting Information"}" href="/docs/build-basics/general-considerations/collecting-information" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Collecting Information</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Language Preferences"}" href="/docs/build-basics/general-considerations/language-preferences" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Language Preferences</a></div></div></div><div aria-expanded="false" aria-controls=":R2q99l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common Data Types"}" href="/docs/build-basics/common-data-types" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Common Data Types</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R2q99l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Working with Dates"}" href="/docs/build-basics/common-data-types/working-with-dates" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Working with Dates</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":" Working with Monetary Amounts"}" href="/docs/build-basics/common-data-types/working-with-monetary-amounts" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span> Working with Monetary Amounts</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Working with Addresses"}" href="/docs/build-basics/common-data-types/working-with-addresses" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Working with Addresses</a></div></div></div><div aria-expanded="true" aria-controls=":R3a99l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common Square API Patterns"}" href="/docs/build-basics/common-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Common Square API Patterns</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd recursive-nav-item_expanded__VQNoM"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R3a99l6:" role="region" class="recursive-nav-item_items-container__BBrAQ recursive-nav-item_expanded__VQNoM"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Custom Attributes"}" id="left-nav-active-item" href="/docs/devtools/customattributes/overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_active__X6xck left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Custom Attributes</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Idempotency"}" href="/docs/build-basics/common-api-patterns/idempotency" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Idempotency</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Pagination"}" href="/docs/build-basics/common-api-patterns/pagination" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Pagination</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Optimistic Concurrency"}" href="/docs/build-basics/common-api-patterns/optimistic-concurrency" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Optimistic Concurrency</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Clear Object Fields"}" href="/docs/build-basics/clearing-fields" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Clear Object Fields</a></div></div></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Square eCommerce APIs"}" href="/docs/ecommerce-api" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Square eCommerce APIs</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Square API Lifecycle"}" href="/docs/build-basics/api-lifecycle" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Square API Lifecycle</a></div></div></div><div aria-expanded="false" aria-controls=":Rb9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Developer Tools"}" href="/docs/devtools/overview" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Developer Tools</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":Rb9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Developer Console"}" href="/docs/devtools/developer-dashboard" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Developer Console</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Square Dashboard"}" href="/docs/devtools/seller-dashboard" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Square Dashboard</a></div><div aria-expanded="false" aria-controls=":R1qb9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Sandbox"}" href="/docs/devtools/sandbox/overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Sandbox</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R1qb9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Test in Sandbox"}" href="/docs/devtools/sandbox/testing" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Test in Sandbox</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Sandbox Payments"}" href="/docs/devtools/sandbox/payments" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Sandbox Payments</a></div></div></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"API Explorer"}" href="/docs/devtools/api-explorer" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">API Explorer</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"API Logs"}" href="/docs/devtools/api-logs" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">API Logs</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Webhook Event Logs"}" href="/docs/devtools/webhook-logs" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Webhook Event Logs</a></div><div aria-expanded="false" aria-controls=":R3qb9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Webhooks"}" href="/docs/webhooks/overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Webhooks</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R3qb9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Create a Notification URL"}" href="/docs/webhooks/step1createurl" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Create a Notification URL</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Subscribe to Event Notifications"}" href="/docs/webhooks/step2subscribe" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Subscribe to Event Notifications</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Verify and Validate an Event Notification"}" href="/docs/webhooks/step3validate" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Verify and Validate an Event Notification</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Manage Operations"}" href="/docs/webhooks/step4manage" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Manage Operations</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Move Event Notifications to Production"}" href="/docs/webhooks/movetoprod" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Move Event Notifications to Production</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Webhook Events Reference"}" href="/docs/webhooks/v2webhook-events-tech-ref" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Webhook Events Reference</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Troubleshooting"}" href="/docs/webhooks/troubleshooting" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Troubleshooting</a></div></div></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Authentication"}" href="/docs/auth" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Authentication</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Postman"}" href="/docs/devtools/postman" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Postman</a></div></div></div><div aria-expanded="false" aria-controls=":Rd9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Square SDKs"}" href="/docs/sdks" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Square SDKs</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":Rd9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div aria-expanded="false" aria-controls=":Rqd9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Java"}" href="/docs/sdks/java" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Java</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":Rqd9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Quickstart"}" href="/docs/sdks/java/quick-start" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Quickstart</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Project Setup"}" href="/docs/sdks/java/setup-project" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Project Setup</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the SDK"}" href="/docs/sdks/java/using-java-sdk" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the SDK</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common API Patterns"}" href="/docs/sdks/java/common-square-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Common API Patterns</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Stay Current with SDK Version"}" href="/docs/sdks/java/stay-current-with-sdk-version" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Stay Current with SDK Version</a></div></div></div><div aria-expanded="false" aria-controls=":R1ad9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":".NET"}" href="/docs/sdks/dotnet" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">.NET</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R1ad9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Quickstart"}" href="/docs/sdks/dotnet/quick-start" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Quickstart</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Project Setup"}" href="/docs/sdks/dotnet/setup-project" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Project Setup</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the SDK"}" href="/docs/sdks/dotnet/using-dot-net-sdk" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the SDK</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common API Patterns"}" href="/docs/sdks/dotnet/common-square-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Common API Patterns</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Stay Current with SDK Version"}" href="/docs/sdks/dotnet/stay-current-with-sdk-version" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Stay Current with SDK Version</a></div></div></div><div aria-expanded="false" aria-controls=":R1qd9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Node.js"}" href="/docs/sdks/nodejs" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Node.js</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R1qd9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Quickstart"}" href="/docs/sdks/nodejs/quick-start" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Quickstart</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Project Setup"}" href="/docs/sdks/nodejs/setup-project" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Project Setup</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the SDK"}" href="/docs/sdks/nodejs/using-nodejs-sdk" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the SDK</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common API Patterns"}" href="/docs/sdks/nodejs/common-square-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Common API Patterns</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Stay Current with SDK Version"}" href="/docs/sdks/nodejs/stay-current-with-sdk-version" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Stay Current with SDK Version</a></div></div></div><div aria-expanded="false" aria-controls=":R2ad9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"PHP"}" href="/docs/sdks/php" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">PHP</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R2ad9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Quickstart"}" href="/docs/sdks/php/quick-start" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Quickstart</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Project Setup"}" href="/docs/sdks/php/setup-project" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Project Setup</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the SDK"}" href="/docs/sdks/php/using-php-sdk" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the SDK</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common API Patterns"}" href="/docs/sdks/php/common-square-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Common API Patterns</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Stay Current with SDK Version"}" href="/docs/sdks/php/stay-current-with-sdk-version" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Stay Current with SDK Version</a></div></div></div><div aria-expanded="false" aria-controls=":R2qd9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Python"}" href="/docs/sdks/python" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Python</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R2qd9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Quickstart"}" href="/docs/sdks/python/quick-start" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Quickstart</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Project Setup"}" href="/docs/sdks/python/setup-project" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Project Setup</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the SDK"}" href="/docs/sdks/python/using-python-sdk" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the SDK</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common API Patterns"}" href="/docs/sdks/python/common-square-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Common API Patterns</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Stay Current with SDK Version"}" href="/docs/sdks/python/stay-current-with-sdk-version" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Stay Current with SDK Version</a></div></div></div><div aria-expanded="false" aria-controls=":R3ad9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Ruby"}" href="/docs/sdks/ruby" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Ruby</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R3ad9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Quickstart"}" href="/docs/sdks/ruby/quick-start" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Quickstart</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Project Setup"}" href="/docs/sdks/ruby/setup-project" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Project Setup</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Using the SDK"}" href="/docs/sdks/ruby/using-ruby-sdk" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Using the SDK</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Common API Patterns"}" href="/docs/sdks/ruby/common-square-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Common API Patterns</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Stay Current with SDK Version"}" href="/docs/sdks/ruby/stay-current-with-sdk-version" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Stay Current with SDK Version</a></div></div></div></div></div><div class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Sample Applications"}" href="/docs/sample-apps" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Sample Applications</a></div><div data-testid="left-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj left-nav-items_divider__up2uZ"></div><div aria-expanded="false" aria-controls=":Rj9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"GraphQL"}" href="/docs/devtools/graphql" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">GraphQL</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":Rj9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"GraphQL Basics"}" href="/docs/graphql/basics" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">GraphQL Basics</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Build your First Query"}" href="/docs/graphql/build-your-first-query" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Build your First Query</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"GraphQL Explorer"}" href="/docs/devtools/graphqlexplorer" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">GraphQL Explorer</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Query Examples"}" href="/docs/graphql/query-examples" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Query Examples</a></div></div></div><div data-testid="left-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj left-nav-items_divider__up2uZ"></div><div aria-expanded="false" aria-controls=":Rn9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"OAuth"}" href="/docs/oauth-api/overview" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">OAuth</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":Rn9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Create Redirect URL and Authorization Page URL"}" href="/docs/oauth-api/create-urls-for-square-authorization" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Create Redirect URL and Authorization Page URL</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Receive Authorization and Manage OAuth Tokens"}" href="/docs/oauth-api/receive-and-manage-tokens" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Receive Authorization and Manage OAuth Tokens</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Refresh and Revoke OAuth Tokens"}" href="/docs/oauth-api/refresh-revoke-limit-scope" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Refresh and Revoke OAuth Tokens</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Token Introspection"}" href="/docs/oauth-api/token-introspection" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Token Introspection</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"OAuth Best Practices"}" href="/docs/oauth-api/best-practices" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">OAuth Best Practices</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"OAuth Walkthrough"}" href="/docs/oauth-api/walkthrough" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">OAuth Walkthrough</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Migrate to the Square API OAuth Flow"}" href="/docs/oauth-api/migrate-to-square-oauth-flow" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Migrate to the Square API OAuth Flow</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Move OAuth to Production"}" href="/docs/oauth-api/movetoprod" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Move OAuth to Production</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Permissions Reference"}" href="/docs/oauth-api/square-permissions" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Permissions Reference</a></div></div></div><div class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Webhook Subscriptions"}" href="/docs/webhooks/webhook-subscriptions-api" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Webhook Subscriptions</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Events"}" href="/docs/events-api/overview" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Events</a></div><div data-testid="left-nav-divider" class="box_m-l-075x__tnNb9 box_m-r-075x__gXUwj left-nav-items_divider__up2uZ"></div><div aria-expanded="false" aria-controls=":Rv9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Migrate from Deprecated APIs"}" href="/docs/migrate-from-v1" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">Migrate from Deprecated APIs</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":Rv9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Deprecated Items"}" href="/docs/migrate-from-v1/current-status" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Deprecated Items</a></div><div aria-expanded="false" aria-controls=":R1av9l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_inner-sub-cat__ngiQT"><div class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 left-nav-items_as-div__lJ859">API Migration Guides</div><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R1av9l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"v1 Payments API"}" href="/docs/migrate-from-v1/guides/v1-payments" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>v1 Payments API</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"v1 Refunds API"}" href="/docs/migrate-from-v1/guides/v1-refunds" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>v1 Refunds API</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Square Transactions API"}" href="/docs/payments-api/migrate-from-transactions-api" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Square Transactions API</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Migrate Employees to Team Members"}" href="/docs/labor-api/migrate-to-teams" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Migrate Employees to Team Members</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Migrate from CreateCheckout to CreatePaymentLink"}" href="/docs/migrate-from-v1/guides/v1-checkout" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0"><span class="left-nav-items_depth-space__b597h"></span>Migrate from CreateCheckout to CreatePaymentLink</a></div></div></div></div></div><div aria-expanded="false" aria-controls=":R119l6:" class="recursive-nav-item_nav-item-wrap__7yT4s recursive-nav-item_top-level__aAjx6"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"International Development"}" href="/docs/international-development" class="text_base__bZ6a4 text_paragraph-30___agDz text_medium-30__U9kB2 left-nav-items_link__skoFI left-nav-items_top-level__zpAn3 focus-ring-styles_focus-ring__5P6v0">International Development</a><button data-testid="expand-nav-items" data-tracking-id="expand-nav-items" aria-label="Expand navigation items" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 recursive-nav-item_expand-button__OaGCd"><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div><div id=":R119l6:" inert="true" role="region" class="recursive-nav-item_items-container__BBrAQ"><div class="recursive-nav-item_content__WNo9i"><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"OAuth and Testing"}" href="/docs/international-development/oauth-testing" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">OAuth and Testing</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"International Payments"}" href="/docs/international-development/payments" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">International Payments</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Regional Differences for International Development"}" href="/docs/international-development/regional-differences" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Regional Differences for International Development</a></div><div class="recursive-nav-item_nav-item-wrap__7yT4s"><a data-tracking-id="left-nav-link" data-tracking-extra="{"title":"Compliance with Japan's Tax Invoice System"}" href="/docs/international-development/japan-invoice-system" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy left-nav-items_link__skoFI left-nav-items_sub-level__bbmd6 focus-ring-styles_focus-ring__5P6v0">Compliance with Japan's Tax Invoice System</a></div></div></div></div></div><div class="grid_dex-grid-container__ZLJnB grid_dex-docs-app-grid-container__k80cL page-layout_page-layout__M2lNk page-layout_static-layout__CfHWZ"><div class="grid-item_grid-item-small__Xb5VI page-layout_left-nav__gfhJ2"></div><div class="box_m-t-6x__LvLNv box_m-b-6x__RhdjX page-layout_page-main__W1JTS grid-item_grid-item-medium__GhKvB"><div data-testid="docs-content-layout" class="grid_dex-grid-container__ZLJnB grid_dex-docs-content-grid-container__diyxN"><div class="page-layout_content-main-grid-item__VRqbw page-layout_grid-item-column-autosizing__PtGh2 grid-item_grid-item-medium__GhKvB page-layout_limit-width__VDAgU"><div data-testid="doc-page-heading-breadcrumbs" class="box_m-b-05x__rKeET doc-breadcrumb_container__l80u_"><a aria-label="Documentation homepage" href="/docs" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 doc-breadcrumb_breadcrumb__xyMjK focus-ring-styles_focus-ring__5P6v0"><svg width="10" height="20" viewBox="0 0 10 22" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M.5 16a.5.5 0 0 1-.5-.5V9.02a1 1 0 0 1 .427-.819l4-2.8a1 1 0 0 1 1.146 0l4 2.8a1 1 0 0 1 .427.82V15.5a.5.5 0 0 1-.5.5H6v-4H4v4H.5Z" fill="#000" fill-opacity="0.55"></path></svg></a><p class="box_m-l-05x__zb9MT box_m-r-05x__m9ODf text_base__bZ6a4 text_paragraph-10__9t3Cn text_color-30__dpPZ4">/</p><a href="/docs/development-essentials" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 doc-breadcrumb_breadcrumb__xyMjK focus-ring-styles_focus-ring__5P6v0">Dev Essentials</a><p class="box_m-l-05x__zb9MT box_m-r-05x__m9ODf text_base__bZ6a4 text_paragraph-10__9t3Cn text_color-30__dpPZ4">/</p><a href="/docs/buildbasics" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 doc-breadcrumb_breadcrumb__xyMjK focus-ring-styles_focus-ring__5P6v0">Build Basics</a><p class="box_m-l-05x__zb9MT box_m-r-05x__m9ODf text_base__bZ6a4 text_paragraph-10__9t3Cn text_color-30__dpPZ4">/</p><a href="/docs/build-basics/common-api-patterns" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 doc-breadcrumb_breadcrumb__xyMjK focus-ring-styles_focus-ring__5P6v0">Common Square API Patterns</a></div><h1 data-testid="doc-page-heading" class="box_m-b-3x__A9ryy heading_base__MS64u heading_display-10__HZsS7 content_heading__9PVgB">Custom Attributes</h1><div><div><article data-testid="markdown-doc" class="text_base__bZ6a4 text_paragraph-30___agDz nodes_article__2nMA2"><p><span class="box_m-t-1x__GR9iT text_base__bZ6a4 text_paragraph-30___agDz markdown-subheading_subheading__g4TR2">Learn about custom attributes, which are a lightweight way to include additional properties in the Square data model.</span></p><div data-testid="toc-narrow" class="box_m-t-3x__rN_qC box_m-b-6x__RhdjX markdown-toc_narrow__ErCJb"><button data-tracking-id="toc-accordion-clicked" aria-expanded="true" aria-controls=":R10mcpddl6:" class="box_m-t-1x__GR9iT box_m-b-1x__b2HHn box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 accordion_accordion__vbQko"><h5 class="box_p-t-1x__1ZOZv box_p-b-1x__E6rAE heading_base__MS64u heading_heading-5__lcRR4">On this page</h5><svg width="20" height="20" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon_icon-color__dAdSt" viewBox="0 0 16 16"><path fill-rule="evenodd" clip-rule="evenodd" d="m12 11.414-4-4-4 4L2.586 10 8 4.586 13.414 10 12 11.414Z" fill="#7B61FF"></path></svg></button><div role="region" id=":R10mcpddl6:" class="accordion_container__Q6e6I accordion_expanded__gzqmt"><div class="accordion_content__zl9fW"><div class="box_m-b-1x__b2HHn"><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#overview" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Overview</a></div><div class="box_m-b-1x__b2HHn"><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#supported-custom-attribute" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Supported custom attribute</a></div><div class="box_m-b-1x__b2HHn"><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#custom-attribute-workflow" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Custom attribute workflow</a></div><div class="box_m-b-1x__b2HHn"><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#access-control" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Access control</a></div><div class="box_m-b-1x__b2HHn"><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#supported-data-types" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Supported data types</a></div><div class="box_m-b-1x__b2HHn"><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#strong-consistency-for-reads" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Strong consistency for reads</a></div><div><a data-tracking-id="sidebar-link-clicked" href="/docs/devtools/customattributes/overview#subscribing-to-webhooks" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_">Subscribing to webhooks</a></div></div></div></div><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#overview" id="overview" aria-label="anchor link for overview" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for overview" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Overview</h2></div></div><p>Custom attributes are a lightweight way to extend the Square data model and add new properties to some objects, thereby making them more specific to the business problem you're solving. You can use custom attributes in a number of scenarios, such as when a seller has certain attributes they want to capture that aren't native to the Square data model. For example, a veterinary clinic could store pet names, breeds, and ages for each customer using several custom attributes or a restaurant could use custom attributes to denote table numbers and server names for in-person orders.</p><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#supported-custom-attribute" id="supported-custom-attribute" aria-label="anchor link for supported-custom-attribute" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for supported-custom-attribute" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Supported custom attribute</h2></div></div><p>The following APIs currently support custom attributes:</p><ul><li><span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/reference/square/booking-custom-attributes-api" class="nodes_markdown-link__1J6_a">Bookings</a></span></li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/reference/square/customer-custom-attributes-api" class="nodes_markdown-link__1J6_a">Customers</a></span></li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/reference/square/location-custom-attributes-api" class="nodes_markdown-link__1J6_a">Locations</a></span> (beta)</li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/reference/square/merchant-custom-attributes-api" class="nodes_markdown-link__1J6_a">Merchants</a></span> (beta)</li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/reference/square/order-custom-attributes-api" class="nodes_markdown-link__1J6_a">Orders</a></span> (beta)</li></ul><p>There are five custom attribute terms to be familiar with:</p><ul><li><strong>Custom attribute definition</strong> - This specifies the characteristics of a custom attribute. It defines the data type, schema, addressable endpoints, and configuration of the custom attribute. The custom attribute definition uses the Square custom attribute <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">schema</code> field to specify the type information for a custom attribute. Every custom attribute has a definition that's associated with a specific seller. After a custom attribute is defined, the values for that attribute are available to the seller. You can also specify the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">visibility</code> of the custom attribute for the seller and to other applications.</li><li><strong>Custom attribute key</strong> - Every custom attribute definition has a key that's unique to each application and seller. The key allows you to define and access a custom attribute for any seller you work with. For example, suppose you create a custom attribute definition called favorite-color. If you work with several sellers, you could use the definition to create Favorite Color custom attributes for each seller. You use the custom attribute <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">key</code> and the parent resource ID to access the custom attribute. Some custom attribute APIs allow you to work with seller-defined custom attributes. When doing so, you use a qualified key.</li><li><strong>Custom attribute</strong> - This is the entity containing the custom attribute data and references to the custom attribute definition that defines it.</li><li><strong>Custom attribute value</strong> - This value is used to distinguish between the custom attribute itself and its value.</li><li><strong>Custom attribute visibility</strong> - When you create a custom attribute definition, you specify the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">visibility</code> of the custom attribute. This determines not only whether other applications and sellers can see the custom attribute, but it also determines what actions other applications can take regarding the custom attribute. Visibility is described in greater detail in the following sections.</li></ul><p>There are also several behaviors that apply to custom attributes that you should know:</p><ul><li>For any Square API you work with, the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">Retrieve{ResourceType}</code> and <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">List{ResourceTypes}</code> endpoint responses don't include custom attribute values. Use the custom attributes endpoint that's specific to the API you're working with to list the available custom attributes.</li><li>If the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">visibility</code> of a custom attribute definition is updated, the change is propagated within a few seconds to its corresponding custom attributes.</li><li>If a custom attribute definition is deleted, all corresponding custom attributes are also deleted.</li><li>Square validates custom attribute selections on upsert operations, so any changes that you make to the definition schema apply only to future upsert operations. They don't affect custom attributes that have already been set. For example, a selection definition can be changed from allowing a maximum number of three items to only allowing a maximum number of one item. Any value with more than one item remains in place and can still be retrieved, but the value cannot be saved until the value is changed to match the current custom attribute definition.</li></ul><div data-testid="aside" data-test-type="important" class="box_m-t-4x__FOwYa box_m-b-4x__jr_IJ box_p-l-2x__0A2_9 box_p-r-2x__z29W6 box_p-t-2x__M5RH8 box_p-b-2x__bSkd6 box_b-r-6__eFn6m box_sh-10__rHmX2 aside_aside__hEkR5 aside_important__lujns"><h4 class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-30___agDz text_semi-bold-30__Z4S5R">Important</h4><div data-testid="aside-content"><p>Custom attributes are intended to store additional information about a resource or associations with an entity in another system. Don't use custom attributes to store any PCI data (such as card details). PII data is supported in custom attribute values, but applications that create or read this data should observe applicable privacy laws and data regulations such as avoiding logging custom attribute data when a deletion request is received.</p></div></div><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#custom-attribute-workflow" id="custom-attribute-workflow" aria-label="anchor link for custom-attribute-workflow" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for custom-attribute-workflow" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Custom attribute workflow</h2></div></div><p>For a high-level understanding of how to work with custom attributes, it's helpful to focus on three common workflows:</p><ul><li>Define the properties and create a custom attribute definition for a seller.</li><li>Set custom attributes.</li><li>Assign custom attribute values.</li></ul><p>For details about how to perform these actions for each of the supported APIs, see the following:</p><ul><li><span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/booking-custom-attributes-api/overview" class="nodes_markdown-link__1J6_a">Custom Attributes for Bookings</a></span></li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/customer-custom-attributes-api/overview" class="nodes_markdown-link__1J6_a">Custom Attributes for Customers</a></span></li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/orders-custom-attributes-api/overview" class="nodes_markdown-link__1J6_a">Custom Attributes for Orders</a></span></li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/location-custom-attributes-api/overview" class="nodes_markdown-link__1J6_a">Custom Attributes for Locations</a></span></li><li><span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/merchant-custom-attributes-api/overview" class="nodes_markdown-link__1J6_a">Custom Attributes for Merchants</a></span></li></ul><span class="markdown-anchor_container__0qZni"><a id="access-control" class="markdown-anchor_anchor__lBAV_"></a></span><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#access-control" id="access-control" aria-label="anchor link for access-control" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for access-control" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Access control</h2></div></div><p>The application that creates a custom attribute definition is the definition owner. The definition owner always has <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">READ</code> and <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">WRITE</code> permissions to the definition and all instances of the corresponding custom attributes.</p><p>The <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">visibility</code> setting specified by a custom attribute definition determines how other applications can access the definition and corresponding custom attributes:</p><ul><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_HIDDEN</code> (default) - The definition and corresponding custom attributes are only visible to the definition owner.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_ONLY</code> - Allows other applications to view the custom attribute definition and corresponding custom attributes.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_WRITE_VALUES</code> - Allows other applications to set or delete the custom attribute.</li></ul><p>The following table shows access control permissions for other applications that make calls on behalf of a seller, including Square products:</p><div class="box_m-t-5x__L06CC box_m-b-5x__RvXTy table_outer__9zV2D"><div data-testid="table" class="table_container__Ze6L1"><table class="table_table__wDx_x"><thead><tr><th class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_"></th><th colSpan="2" class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_">Custom attribute<br/>definition</th><th colSpan="2" class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_"><br/>Custom attribute</th><th class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_"></th><th class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_"></th></tr></thead><tbody><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><strong>Visibility setting</strong></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><strong>READ</strong></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><strong>WRITE</strong></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><strong>READ</strong></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><strong>WRITE</strong></td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_HIDDEN</code> (default)</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_ONLY</code></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Yes</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Yes</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_"><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_WRITE_VALUES</code></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Yes</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">No</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Yes</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Yes</td></tr></tbody></table></div></div><div data-markdown-heading="4" class="box_m-t-3x__rN_qC box_m-b-05x__rKeET"><a href="#accessing-custom-attributes-owned-by-other-applications" id="accessing-custom-attributes-owned-by-other-applications" aria-label="anchor link for accessing-custom-attributes-owned-by-other-applications" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for accessing-custom-attributes-owned-by-other-applications" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h4 class="heading_base__MS64u heading_heading-10__p_aLg">Accessing custom attributes owned by other applications</h4></div></div><p>To access custom attribute definitions created by other applications or their corresponding custom attributes, the following conditions must be true:</p><ul><li>The <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">visibility</code> field of the definition must be set to one of the following:<ul><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_ONLY</code> - Allows other applications to view the custom attribute definition and corresponding custom attributes.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_WRITE_VALUES</code> - Additionally allows other applications to set or delete the custom attribute.</li></ul></li></ul><div data-testid="aside" data-test-type="info" class="box_m-t-4x__FOwYa box_m-b-4x__jr_IJ box_p-l-2x__0A2_9 box_p-r-2x__z29W6 box_p-t-2x__M5RH8 box_p-b-2x__bSkd6 box_b-r-6__eFn6m box_sh-10__rHmX2 aside_aside__hEkR5 aside_info__6S1z3"><h4 class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-30___agDz text_semi-bold-30__Z4S5R">Note</h4><div data-testid="aside-content"><p>If the visibility of a custom attribute definition is updated, the change is propagated within a few seconds to its corresponding custom attributes.</p><p>If a custom attribute definition is deleted, all corresponding custom attributes are also deleted.</p></div></div><span class="markdown-anchor_container__0qZni"><a id="data-types" class="markdown-anchor_anchor__lBAV_"></a></span><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#supported-data-types" id="supported-data-types" aria-label="anchor link for supported-data-types" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for supported-data-types" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Supported data types</h2></div></div><p>The data type of a custom attribute is specified by the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">schema</code> field of the custom attribute definition. Square uses the schema to validate the custom attribute value when it's assigned to a resource, such as a customer or location. All data types except <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">Selection</code> are specified using a simple URL reference to an object hosted on the Square CDN. For more information, see <span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/devtools/customattributes/overview#selection-type" class="nodes_markdown-link__1J6_a">Selection data type</a></span>.</p><p>Custom attributes support the following data types. Note that not all APIs support all the data types.</p><div class="box_m-t-5x__L06CC box_m-b-5x__RvXTy table_outer__9zV2D"><div data-testid="table" class="table_container__Ze6L1"><table class="table_table__wDx_x"><thead><tr><th class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_">Data type</th><th style="width:300px" class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_">Description</th><th class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-std__q5XI3 text_base__bZ6a4 text_paragraph-20__2lYBq text_medium-20__UlBGy table_left__1NzD_">$ref value</th></tr></thead><tbody><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">String</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A string with up to 1000 UTF-8 characters. Empty strings are allowed.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.String</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Number</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A string representation of an integer or decimal with up to five digits of precision that matches the following regular expression: <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">^-?[0-9]*(\.[0-9]{0,5})?$</code>. This limit might vary by API. Negative numbers are denoted using a <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">-</code> prefix.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.Number</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Boolean</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">true</code> or <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">false</code> value.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.Boolean</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">PhoneNumber</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A string representation of a phone number in <span slot="trigger"><a data-tracking-id="markdown-link" href="https://en.wikipedia.org/wiki/E.164" class="nodes_markdown-link__1J6_a">E.164 format.</a></span> For example, <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">+17895551234</code>.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.PhoneNumber</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Email</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">An email address consisting of ASCII characters that matches the <span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#basic_validation" class="nodes_markdown-link__1J6_a">regular expression</a></span> for the HTML5 <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">email</code> type.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.Email</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Date</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A date in ISO 8601 format: <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">YYYY-MM-DD</code>.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.Date</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">DateTime</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A string representation of the date and time in the ISO 8601 format, starting with the year, followed by the month, day, hour, minutes, seconds, and milliseconds. For example, <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">2022-07-10 15:00:00.000</code>.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.DateTime</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Duration</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A duration as defined by the ISO 8601 ABNF. For example, "P3Y6M4DT12H30M5S".</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.Duration</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Address</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">An <span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/reference/square/objects/Address" class="nodes_markdown-link__1J6_a">Address</a></span> object. For information about <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">Address</code> fields, see <span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/build-basics/common-data-types/working-with-addresses" class="nodes_markdown-link__1J6_a">Working with Addresses.</a></span></td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">https://developer-production-s.squarecdn.com/<br/>schemas/v1/common.json#squareup.common.Address</td></tr><tr><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">Selection</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">A selection from a set of named values specified in the custom attribute definition.</td><td class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN box_p-t-15x__Jahzv box_p-b-15x__1eVvO box_b-b-l-20__JXIoJ text_base__bZ6a4 text_paragraph-20__2lYBq table_left__1NzD_">See <span slot="trigger"><a data-tracking-id="markdown-link" href="/docs/devtools/customattributes/overview#selection-type" class="nodes_markdown-link__1J6_a">JSON meta-schema object.</a></span></td></tr></tbody></table></div></div><span class="markdown-anchor_container__0qZni"><a id="selection-type" class="markdown-anchor_anchor__lBAV_"></a></span><div data-markdown-heading="3" class="box_m-t-3x__rN_qC box_m-b-2x__nVJGZ"><a href="#selection-data-type-json-meta-schema-object" id="selection-data-type-json-meta-schema-object" aria-label="anchor link for selection-data-type-json-meta-schema-object" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for selection-data-type-json-meta-schema-object" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h3 class="heading_base__MS64u heading_heading-20__RIpnh">Selection data type (JSON meta-schema object)</h3></div></div><p>For a <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">Selection</code> data type, the schema contains a <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">$schema</code> field that references a JSON meta-schema object, as well as additional fields. Note the following:</p><ul><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">$schema</code> references the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">https://developer-production-s.squarecdn.com/meta-schemas/v1/selection.json meta-schema</code> hosted on the Square CDN.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">type</code> must be <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">array</code>.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">items</code> must include a <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">names</code> array that contains strings representing the display names of the predefined options that can be selected. Note that the order of the options might not be respected by all UIs.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">maxItems</code> is an integer that represents the maximum number of allowed selections. Corresponding custom attributes can have zero or more selected values, up to the specified maximum. The minimum value is 1 and cannot exceed the number of options in the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">names</code> field.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">uniqueItems</code> must be <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">true</code>.</li></ul><p>The following call to the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">CreateCustomerCustomAttributeDefinition</code> endpoint creates a <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">Selection</code>-type customer custom attribute definition. The definition contains three named options and allows for one selection.</p><div tabindex="-1" class="box_m-t-3x__rN_qC box_p-l-2x__0A2_9 box_p-r-1x__PmqSN box_p-t-1x__1ZOZv box_p-b-1x__E6rAE box_b-l-std__hNqJW box_b-tl-r-6__3cnv8 box_b-tr-r-6__P9jUr code-block_header__urOUF code-block_request__DDmE0 dark-mode-theme"><div><p class="text_base__bZ6a4 text_paragraph-20__2lYBq text_semi-bold-20__pPQeH">Create customer custom attribute definition</p></div><div><div class="code-block-action-button-group_button-group__QsOaL"><div><div class="box_p-l-1x__RpeQN box_p-r-1x__PmqSN"><button data-testid="code-block-ignition-language-dropdown" data-tracking-id="code-block-actions-list" aria-haspopup="true" aria-expanded="false" aria-controls=":R1ipucpddl6:" aria-label="Coding language dropdown selection" aria-description="A dropdown to select what coding language the request code block should be in." class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0"><p class="box_m-r-05x__m9ODf text_base__bZ6a4 text_paragraph-10__9t3Cn text_semi-bold-10__HOPCI">cURL</p><svg width="16" height="16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon_icon-color__dAdSt"><path fill-rule="evenodd" clip-rule="evenodd" d="m4 4.586 4 4 4-4L13.414 6 8 11.414 2.586 6 4 4.586Z" fill="#7B61FF"></path></svg></button></div></div><div><div class="icon-button_dropdown__e8K_5"><button data-testid="copy-code-block" data-tracking-id="copy-code-block" slot="trigger" aria-label="Copy code" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 icon-button_icon__Iew7h"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon_icon-color__dAdSt"><path fill-rule="evenodd" clip-rule="evenodd" d="M11 6a1 1 0 1 0 0 2h5v6a1 1 0 1 0 2 0V8a2 2 0 0 0-2-2h-5ZM9 16v-5h4v5H9Zm-2-6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-7Z" fill="#7B61FF"></path></svg></button></div></div><div></div></div></div></div><div data-testid="code-block" data-language="curl" class="box_m-b-3x__A9ryy box_b-b-l-std__q5XI3 box_b-l-l-std__REGyC box_b-r-l-std__Q4dy4 box_b-bl-r-6__Z_gEo box_b-br-r-6__rpqJb code-block_code-block__7vruq code-block_request__DDmE0 dark-mode-theme markdown-code-block_limit-height__WOJUw"><pre tabindex="-1" class="box_p-l-2x__0A2_9 box_p-r-2x__z29W6 box_p-t-2x__M5RH8 box_p-b-2x__bSkd6 code-block_main__7BHb4 code-block_loading__crLab markdown-code-block_loading__dPYof"><svg class="icon_icon-spinner__I22SD" width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg"><path d="M15 8C15 4.13401 11.866 1 8 1C4.13401 1 1 4.13401 1 8C1 11.866 4.13401 15 8 15" stroke="black" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"></path></svg></pre><div class="markdown-code-block_bottom-bar___1uwP"><div class="markdown-code-block_bar-position__B59Cr markdown-code-block_footer-action__9cq8l"></div></div></div><p>The following is an example response. For each named option, Square generates a UUID and adds it to the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">enum</code> field. The options in the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">names</code> field map by index to the UUIDs in the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">enum</code> field. The first option maps to the first UUID, the second option maps to the second UUID, and so on.</p><p>These UUIDs are used to set the value of the custom attribute or update the option names.</p><div class="box_m-t-3x__rN_qC code-block_header__urOUF code-block_floating__ocyWk code-block_request__DDmE0 dark-mode-theme"><div></div><div class="box_m-r-1x__uw0iY box_m-t-5x__L06CC"><div class="code-block-action-button-group_button-group__QsOaL"><div></div><div><div class="icon-button_dropdown__e8K_5"><button data-testid="copy-code-block" data-tracking-id="copy-code-block" slot="trigger" aria-label="Copy code" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 icon-button_icon__Iew7h"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon_icon-color__dAdSt"><path fill-rule="evenodd" clip-rule="evenodd" d="M11 6a1 1 0 1 0 0 2h5v6a1 1 0 1 0 2 0V8a2 2 0 0 0-2-2h-5ZM9 16v-5h4v5H9Zm-2-6a1 1 0 0 1 1-1h6a1 1 0 0 1 1 1v7a1 1 0 0 1-1 1H8a1 1 0 0 1-1-1v-7Z" fill="#7B61FF"></path></svg></button></div></div><div><div class="icon-button_dropdown__e8K_5"><button data-testid="expand-code-block" data-tracking-id="expand-code-block" slot="trigger" aria-label="Expand code" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 icon-button_icon__Iew7h"><svg width="16" height="16" viewBox="0 0 16 16" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon_icon-color__dAdSt"><path fill-rule="evenodd" clip-rule="evenodd" d="M7 3H13V9H11V6.414L6.414 11H9V13H3V7H5V9.586L9.586 5H7V3Z" fill="#7B61FF"></path></svg></button></div></div></div></div></div><div data-testid="code-block" data-language="json" data-test-expanded="false" aria-expanded="false" class="box_m-b-3x__A9ryy box_b-b-l-std__q5XI3 box_b-l-l-std__REGyC box_b-r-l-std__Q4dy4 box_b-r-6__eFn6m code-block_code-block__7vruq code-block_request__DDmE0 dark-mode-theme markdown-code-block_limit-height__WOJUw"><pre tabindex="-1" class="box_p-l-2x__0A2_9 box_p-r-2x__z29W6 box_p-t-2x__M5RH8 box_p-b-2x__bSkd6 code-block_main__7BHb4"><div data-testid="code-block-contents" data-line-numbers-active="true" style="--line-number-length:2ch" class="text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 code_code__4FNSr highlight_code-highlight___caZ6 highlight_json__n86A_ code_line-numbers___xHrc"><span data-line-number=""></span>{ <span data-line-number=""></span> <span class="hljs-attr">"custom_attribute_definition"</span>: { <span data-line-number=""></span> <span class="hljs-attr">"key"</span>: <span class="hljs-string">"shirt-size"</span>, <span data-line-number=""></span> <span class="hljs-attr">"name"</span>: <span class="hljs-string">"Default shirt size"</span>, <span data-line-number=""></span> <span class="hljs-attr">"description"</span>: <span class="hljs-string">"The default shirt size ordered by the customer."</span>, <span data-line-number=""></span> <span class="hljs-attr">"version"</span>: <span class="hljs-number">1</span>, <span data-line-number=""></span> <span class="hljs-attr">"updated_at"</span>: <span class="hljs-string">"2022-05-20T02:41:37Z"</span>, <span data-line-number=""></span> <span class="hljs-attr">"schema"</span>: { <span data-line-number=""></span> <span class="hljs-attr">"$schema"</span>: <span class="hljs-string">"https://developer-production-s.squarecdn.com/meta-schemas/v1/selection.json"</span>, <span data-line-number=""></span> <span class="hljs-attr">"maxItems"</span>: <span class="hljs-number">1</span>, <span data-line-number=""></span> <span class="hljs-attr">"type"</span>: <span class="hljs-string">"array"</span>, <span data-line-number=""></span> <span class="hljs-attr">"uniqueItems"</span>: <span class="hljs-literal">true</span>, <span data-line-number=""></span> <span class="hljs-attr">"items"</span>: { <span data-line-number=""></span> <span class="hljs-attr">"names"</span>: [ <span data-line-number=""></span> <span class="hljs-string">"Small"</span>, <span data-line-number=""></span> <span class="hljs-string">"Medium"</span>, <span data-line-number=""></span> <span class="hljs-string">"Large"</span> <span data-line-number=""></span> ], <span data-line-number=""></span> <span class="hljs-attr">"enum"</span>: [ <span data-line-number=""></span> <span class="hljs-string">"a5fc0632-b5cf-4855-af35-7bfc88bdc9f5"</span>, <span class="hljs-comment">// UUID for "Small"</span> <span data-line-number=""></span> <span class="hljs-string">"e875633f-a5d8-4872-aef4-6b96fba78c3e"</span>, <span class="hljs-comment">// UUID for "Medium"</span> <span data-line-number=""></span> <span class="hljs-string">"30528ff7-b11b-425a-aa11-26ff5cf1996f"</span> <span class="hljs-comment">// UUID for "Large"</span> <span data-line-number=""></span> ] <span data-line-number=""></span> } <span data-line-number=""></span> }, <span data-line-number=""></span> <span class="hljs-attr">"created_at"</span>: <span class="hljs-string">"2022-05-20T02:41:37Z"</span>, <span data-line-number=""></span> <span class="hljs-attr">"visibility"</span>: <span class="hljs-string">"VISIBILITY_READ_WRITE_VALUES"</span> <span data-line-number=""></span> } <span data-line-number=""></span>}</div></pre><div class="markdown-code-block_bottom-bar___1uwP"><button data-testid="expand-bottom-code-block" data-tracking-id="expand-bottom-code-block" class="native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 code-block-footer_button__TNCq_ code-block-footer_round__rqS_d markdown-code-block_bar-position__B59Cr"><svg width="24" height="24" fill="none" xmlns="http://www.w3.org/2000/svg" class="icon_icon-color__dAdSt"><path fill-rule="evenodd" clip-rule="evenodd" d="M16.414 13 12 17.414 7.586 13 9 11.586l2 2V7h2v6.586l2-2L16.414 13Z" fill="#7B61FF"></path></svg></button><div class="markdown-code-block_bar-position__B59Cr markdown-code-block_footer-action__9cq8l"></div></div></div><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#strong-consistency-for-reads" id="strong-consistency-for-reads" aria-label="anchor link for strong-consistency-for-reads" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for strong-consistency-for-reads" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Strong consistency for reads</h2></div></div><p>You can enforce strong consistency when reading a custom attribute by using the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">version</code> field. When you set the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">version</code> field on a custom attribute to a given value, you receive custom attribute data with that version or later. For example, if your read request asks for version 5, you get data from version 5 or later. If you don't specify a version in your request, you could get an earlier version containing stale data if the current version hasn't been replicated to the data store you're reading from. Most replication typically completes quickly, but to ensure consistency, you should provide a value for the <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">version</code> field when reading data.</p><div data-markdown-heading="2" class="box_m-t-5x__L06CC box_m-b-2x__nVJGZ"><a href="#subscribing-to-webhooks" id="subscribing-to-webhooks" aria-label="anchor link for subscribing-to-webhooks" class="anchored-heading_anchor__JhuiX"></a><div class="anchored-heading_heading__2wlPu"><div class="anchored-heading_container__rfGXv"><market-tooltip popover-placement="top-start"><a data-tracking-id="heading-anchor" role="link" tabindex="0" slot="trigger" aria-label="click to copy link for subscribing-to-webhooks" class="box_b-r-6__eFn6m native-button_button__Iabj1 native-button_no-border__LHOho native-button_button-padding__xncbB focus-ring-styles_focus-ring__5P6v0 anchored-heading_trigger__XOE12 anchored-heading_button__TMpy8"><svg width="16" height="16" viewBox="0 0 16 16" class="anchored-heading_icon__4HlYl"><path d="M10.432 1.032c-.641.093-.887.239-1.099.649-.056.109-.07.184-.071.391-.001.229.009.276.097.455a.921.921 0 0 0 .486.471c.198.092.446.102.849.035.807-.133 1.657.312 2.034 1.065.161.321.212.538.212.9 0 .361-.05.573-.216.916-.122.254-.131.262-1.778 1.91C9.299 9.471 9.29 9.48 9.036 9.602c-.375.182-.572.223-.988.207-.538-.021-.887-.163-1.303-.533-.259-.23-.453-.312-.741-.313a.971.971 0 0 0-.681.263c-.2.18-.29.382-.304.684-.017.354.065.54.365.829.502.484 1.096.81 1.797.986.424.107 1.137.133 1.589.059.366-.06.832-.209 1.141-.364.549-.276.665-.378 2.46-2.172 1.462-1.462 1.725-1.738 1.886-1.982.483-.732.692-1.417.692-2.269 0-1.11-.398-2.063-1.189-2.844a3.97 3.97 0 0 0-2.019-1.074 4.553 4.553 0 0 0-1.309-.047M6.93 3.694a4.276 4.276 0 0 0-1.955.778c-.103.074-.931.877-1.839 1.786C1.352 8.041 1.242 8.167.959 8.75c-.171.354-.25.583-.336.974-.083.379-.088 1.156-.011 1.518.34 1.59 1.458 2.767 2.996 3.155.256.065.401.081.835.093 1.025.028 1.494-.153 1.731-.666a.786.786 0 0 0 .082-.411.753.753 0 0 0-.098-.426 1.004 1.004 0 0 0-.482-.476c-.157-.077-.462-.089-.897-.036-.628.078-1.179-.115-1.645-.575a1.563 1.563 0 0 1-.354-.495c-.3-.608-.3-1.185-.001-1.799l.14-.285 1.64-1.639c1.567-1.566 1.65-1.644 1.88-1.761.34-.173.568-.228.946-.228.525 0 .954.164 1.36.522.293.257.404.307.714.323.234.012.277.005.442-.069.226-.101.452-.331.533-.54.084-.22.078-.58-.014-.787-.128-.287-.727-.792-1.249-1.053-.64-.319-1.553-.48-2.241-.395" fill-rule="evenodd"></path></svg></a><span slot="content">Link to section</span></market-tooltip></div><h2 class="heading_base__MS64u heading_heading-30__MH4YZ">Subscribing to webhooks</h2></div></div><p>Two types of webhook event notifications are generated for custom attributes:</p><ul><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">.owned</code> event notifications are sent when changes are made to custom attribute definitions and custom attributes that are owned by your application. A custom attribute definition is owned by the application that created it. A custom attribute is owned by the application that created the corresponding custom attribute definition.</li><li><code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">.visible</code> event notifications are sent when changes are made to custom attribute definitions and custom attributes that are visible to your application. These changes apply to:<ul><li>All custom attribute definitions and custom attributes owned by your application.</li><li>All other custom attribute definitions or custom attributes whose <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">visibility</code> setting is <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_ONLY</code> or <code class="box_p-l-05x__pvvKi box_p-r-05x__PX6jO box_b-r-4__1LPp7 text_base__bZ6a4 text_paragraph-20__2lYBq text_code-field___GL_9 nodes_inline-code__HksNY">VISIBILITY_READ_WRITE_VALUES</code>.</li></ul></li></ul></article></div></div></div><div class="box_m-t-8x__7Ip7V grid-item_grid-item-small__Xb5VI page-layout_sidebar-floating-toc__oeaXi"><div data-testid="ftoc" class="sticky-container_container__FNSI1 floating-toc_docs-floating-toc__UfFM_"><h5 data-testid="docs-heading" class="heading_base__MS64u heading_heading-5__lcRR4">On this page</h5><div data-testid="ftoc-scroll" class="box_m-t-1x__GR9iT box_m-b-1x__b2HHn floating-toc_docs-scrollable-el__7yERK"><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Overview"}" href="/docs/devtools/customattributes/overview#overview" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Overview</a><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Supported custom attribute"}" href="/docs/devtools/customattributes/overview#supported-custom-attribute" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Supported custom attribute</a><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Custom attribute workflow"}" href="/docs/devtools/customattributes/overview#custom-attribute-workflow" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Custom attribute workflow</a><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Access control"}" href="/docs/devtools/customattributes/overview#access-control" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Access control</a><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Supported data types"}" href="/docs/devtools/customattributes/overview#supported-data-types" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Supported data types</a><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Strong consistency for reads"}" href="/docs/devtools/customattributes/overview#strong-consistency-for-reads" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Strong consistency for reads</a><a data-tracking-id="floating-toc-item" data-tracking-extra="{"title":"Subscribing to webhooks"}" href="/docs/devtools/customattributes/overview#subscribing-to-webhooks" class="box_m-b-1x__b2HHn text_base__bZ6a4 text_paragraph-20__2lYBq text_color-20__myvq7 sidebar-link_sidebar-link__hvuMG sidebar-link_sidebar-container__NFtV_ floating-toc_docs-item__J_ik3">Subscribing to webhooks</a></div></div></div><div class="grid-item_grid-item-full__LsU8d"><div data-testid="docs-feedback-prompt" class="box_p-t-8x__SI6nV box_p-b-2x__bSkd6 box_b-t-l-10__Aa_Rv doc-feedback-prompt_container__E7_8O"><div class="box_m-b-2x__nVJGZ"><div class="feedback-widget_large__PmiLi"><div></div></div></div><article data-testid="markdown-doc" class="text_base__bZ6a4 text_paragraph-30___agDz nodes_article__2nMA2"><p>If you need more assistance, contact <span slot="trigger"><a data-tracking-id="markdown-link" href="https://squareup.com/help/contact?panel=BF53A9C8EF68" class="nodes_markdown-link__1J6_a">Developer and App Marketplace Support</a></span> or ask for help in the <span slot="trigger"><a data-tracking-id="markdown-link" href="https://developer.squareup.com/forums" class="nodes_markdown-link__1J6_a">Developer Forums</a></span>.</p></article></div></div></div><div class="grid_dex-grid-container__ZLJnB grid_dex-docs-content-grid-container__diyxN"><div class="box_m-t-10x__IyRMt box_m-b-10x__CM1Qo page-layout_footer__qY_8T"><div><div class="footer-wrapper svelte-ytvx2v"><footer class="dex-site-footer svelte-ytvx2v" data-swiftype-index="false"><div class="dex-site-footer__section svelte-ytvx2v"><div class="dex-site-footer__section__heading__title svelte-ytvx2v" data-test-site-footer-section-title="Development">Development </div> <ul class="dex-site-footer__section__links svelte-ytvx2v"><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="/docs" data-test-site-footer-section-link="Guides" class="svelte-ytvx2v">Guides</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="/reference/square" data-test-site-footer-section-link="API Reference" class="svelte-ytvx2v">API Reference</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="/explorer" data-test-site-footer-section-link="API Explorer" class="svelte-ytvx2v">API Explorer</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="/docs/sdks" data-test-site-footer-section-link="SDKs" class="svelte-ytvx2v">SDKs</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="/docs/sample-apps" data-test-site-footer-section-link="Sample apps" class="svelte-ytvx2v">Sample apps</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://www.issquareup.com/" data-test-site-footer-section-link="System status" class="svelte-ytvx2v">System status</a> </li></ul></div> <div class="dex-site-footer__section svelte-ytvx2v"><div class="dex-site-footer__section__heading__title svelte-ytvx2v" data-test-site-footer-section-title="Support">Support </div> <ul class="dex-site-footer__section__links svelte-ytvx2v"><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://developer.squareup.com/forums/" data-test-site-footer-section-link="Developer forums" class="svelte-ytvx2v">Developer forums</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/help/contact?panel=BF53A9C8EF68" data-test-site-footer-section-link="Contact support" class="svelte-ytvx2v">Contact support</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="/blog" data-test-site-footer-section-link="Developer blog" class="svelte-ytvx2v">Developer blog</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://discord.gg/squaredev" data-test-site-footer-section-link="Discord community" class="svelte-ytvx2v">Discord community</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://www.youtube.com/channel/UC1N2X6PEMGo2xjJY1Pm0vng" data-test-site-footer-section-link="YouTube" class="svelte-ytvx2v">YouTube</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://twitter.com/SquareDev" data-test-site-footer-section-link="X" class="svelte-ytvx2v">X</a> </li></ul></div> <div class="dex-site-footer__section svelte-ytvx2v"><div class="dex-site-footer__section__heading__title svelte-ytvx2v" data-test-site-footer-section-title="More">More </div> <ul class="dex-site-footer__section__links svelte-ytvx2v"><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com" data-test-site-footer-section-link="Square Home" class="svelte-ytvx2v">Square Home</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://developer.squareup.com" data-test-site-footer-section-link="Square Developer" class="svelte-ytvx2v">Square Developer</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/app-marketplace" data-test-site-footer-section-link="App Marketplace" class="svelte-ytvx2v">App Marketplace</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/partnerships" data-test-site-footer-section-link="Partner with Square" class="svelte-ytvx2v">Partner with Square</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/partnerships/solutions-partner-program" data-test-site-footer-section-link="Solutions Partner Program" class="svelte-ytvx2v">Solutions Partner Program</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/pricing" data-test-site-footer-section-link="Pricing" class="svelte-ytvx2v">Pricing</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/sales" data-test-site-footer-section-link="Sales" class="svelte-ytvx2v">Sales</a> </li></ul></div> <div class="dex-site-footer__square-container svelte-ytvx2v"><p class="dex-site-footer__square-text svelte-ytvx2v">漏 2024 Square, Inc. </p> <ul class="dex-site-footer__section__links svelte-ytvx2v"><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/legal/general/developers" data-test-site-footer-section-link="Developer terms of service" class="svelte-ytvx2v">Developer terms of service</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/legal/general/global-developer-integration-marketing-agreement" data-test-site-footer-section-link="Developer Integration and Marketing Agreement" class="svelte-ytvx2v">Developer Integration and Marketing Agreement</a> </li><li class="dex-site-footer__section__links__item svelte-ytvx2v"><a href="https://squareup.com/legal/general/privacy" data-test-site-footer-section-link="Privacy policy" class="svelte-ytvx2v">Privacy policy</a> </li> </ul></div></footer> </div></div></div></div></div></div></div></div></div><script id="__NEXT_DATA__" type="application/json">{"props":{"pageProps":{"data":{"getFlags":{"data":{"addons_page_devs_console":false,"api_explorer_in_explorer_ui":false,"api_explorer_input_retention":true,"api_explorer_null_fields":true,"api_explorer_sdk_visibility":true,"api_explorer_share_link":true,"api_explorer_standalone_navigation":true,"api_keys_enabled":false,"api_logger_alpha":true,"api_logs_opt_in_enabled":false,"api_logs_to_explorer_share_link":true,"api_ref_rewrite_proxy_enabled":true,"api_version_migrator_alpha":false,"app_launch_beta":true,"app_launch_comment_history_revamp":true,"app_launch_video_submissions":true,"ccpa_enabled":true,"code_blocks_to_explorer_share_link":true,"dev_portal_app_marketplace_listings":true,"dev_portal_overview_page":false,"developer_data_feedback_param_validation":true,"developer_feedback_phase_one":true,"developer_onboarding":true,"developer_onboarding_questions":true,"developer_onboarding_variant":"V0_0","developer_rbac_permissions":false,"developer_recommendations":true,"devplat/api_explorer_in_explorer_ui":false,"devplat/api_explorer_standalone_navigation":true,"devplat/api_logger_alpha":true,"devplat/dev_portal_app_marketplace_listings":true,"devplat/firestorm_api_explorer":true,"devplat/firestorm_api_explorer_sdk_examples":true,"devplat/firestorm_connect_v1":true,"devplat/firestorm_docs_api_explorer_ga":true,"devplat/firestorm_docs_ga":true,"devplat/firestorm_docs_php_examples":false,"devplat/firestorm_static_lang_examples":true,"devs_console_app_marketplace_reviews_page":true,"devs_console_app_reviews_page":false,"devs_console_app_submissions":false,"devs_console_app_subscription_pages":true,"devs_console_app_subscription_plan_management":true,"devs_console_apps_page":true,"devs_console_incomplete_features":false,"devs_console_locations_page":true,"devs_console_oauth_page":true,"devs_console_settings_pages":false,"devs_console_webhook_subscriptions":false,"dex/addons_page_devs_console":false,"dex/api_explorer_input_retention":true,"dex/api_explorer_null_fields":true,"dex/api_explorer_sdk_visibility":true,"dex/api_explorer_share_link":true,"dex/api_keys_enabled":false,"dex/api_logs_opt_in_enabled":false,"dex/api_logs_to_explorer_share_link":true,"dex/api_ref_rewrite_proxy_enabled":true,"dex/api_version_migrator_alpha":false,"dex/app_launch_beta":true,"dex/app_launch_comment_history_revamp":true,"dex/app_launch_video_submissions":true,"dex/ccpa_enabled":true,"dex/code_blocks_to_explorer_share_link":true,"dex/dev_portal_overview_page":false,"dex/developer_data_feedback_param_validation":true,"dex/developer_feedback_phase_one":true,"dex/developer_onboarding":true,"dex/developer_onboarding_questions":true,"dex/developer_onboarding_variant":"V0_0","dex/developer_rbac_permissions":false,"dex/developer_recommendations":true,"dex/devs_console_app_marketplace_reviews_page":true,"dex/devs_console_app_reviews_page":false,"dex/devs_console_app_submissions":false,"dex/devs_console_app_subscription_pages":true,"dex/devs_console_app_subscription_plan_management":true,"dex/devs_console_apps_page":true,"dex/devs_console_incomplete_features":false,"dex/devs_console_locations_page":true,"dex/devs_console_oauth_page":true,"dex/devs_console_settings_pages":false,"dex/doc_link_preview":false,"dex/docs_link_preview":false,"dex/explorer_to_logger_link":false,"dex/fetch_devs_content_connectv2":true,"dex/fetch_devs_content_files":true,"dex/fetch_devs_content_sparkplug":true,"dex/firestorm_docs_access_token_input_ux_changes":false,"dex/firestorm_docs_changelog":false,"dex/firestorm_docs_links_to_longform":true,"dex/firestorm_docs_multiple_examples":true,"dex/firestorm_docs_new_left_nav":true,"dex/firestorm_docs_sandbox_access_tokens":true,"dex/firestorm_docs_webhooks":true,"dex/global_nav_phase_one":true,"dex/global_search_frontend":true,"dex/graphql_explorer_alpha":true,"dex/graphql_explorer_production":true,"dex/heartbeat_monitor_enabled":true,"dex/ignition_nodejs_examples":true,"dex/ignition_php_examples":true,"dex/lfd_migration_enabled":true,"dex/markdown_link_preview":true,"dex/mobile_payments_sdk_docs_enabled":true,"dex/narrow_property_table":true,"dex/onetrust_enabled":true,"dex/payment_supported_countries":false,"dex/person_based_rbac":false,"dex/remarkability_feb_2022":false,"dex/remarkability_jul_2022":true,"dex/scenario_builder_mvp":false,"dex/smart_code_block_enabled":true,"dex/square_labs_allowed":false,"dex/use_split_users_endpoint":true,"dex/web_app_log_to_cdp":true,"dex/web_app_log_to_es2":true,"dex/web_payments_sdk_ga":true,"doc_link_preview":false,"docs_link_preview":false,"dpw/devs_console_webhook_subscriptions":false,"dpw/flagged_resubmission":false,"dpw/legacy_app_marketplace_partners":false,"explorer_to_logger_link":false,"fetch_devs_content_connectv2":true,"fetch_devs_content_files":true,"fetch_devs_content_sparkplug":true,"firestorm_api_explorer":true,"firestorm_api_explorer_sdk_examples":true,"firestorm_connect_v1":true,"firestorm_docs_access_token_input_ux_changes":false,"firestorm_docs_api_explorer_ga":true,"firestorm_docs_changelog":false,"firestorm_docs_ga":true,"firestorm_docs_links_to_longform":true,"firestorm_docs_multiple_examples":true,"firestorm_docs_new_left_nav":true,"firestorm_docs_php_examples":false,"firestorm_docs_sandbox_access_tokens":true,"firestorm_docs_webhooks":true,"firestorm_static_lang_examples":true,"flagged_resubmission":false,"global_nav_phase_one":true,"global_search_frontend":true,"graphql_explorer_alpha":true,"graphql_explorer_production":true,"heartbeat_monitor_enabled":true,"ignition_nodejs_examples":true,"ignition_php_examples":true,"legacy_app_marketplace_partners":false,"lfd_migration_enabled":true,"markdown_link_preview":true,"mobile_payments_sdk_docs_enabled":true,"narrow_property_table":true,"onetrust_enabled":true,"payment_supported_countries":false,"person_based_rbac":false,"remarkability_feb_2022":false,"remarkability_jul_2022":true,"sandbox_account_limit":"INT64_10","sandcastle/sandbox_account_limit":"INT64_10","scenario_builder_mvp":false,"smart_code_block_enabled":true,"square_labs_allowed":false,"use_split_users_endpoint":true,"web_app_log_to_cdp":true,"web_app_log_to_es2":true,"web_payments_sdk_ga":true},"meta":{"headers":{}}},"doc":{"pageInView":{"page":{"type":"doc-page","id":"53DtccgYFrZolitJtyjUUn","slug":"devtools/customattributes/overview","searchSummary":"An overview of custom attributes, which are a lightweight way to include additional properties in the Square data model.","heading":{"title":"Custom Attributes","browserTitle":"Custom Attributes","releaseStatus":"BETA"},"languagesSupported":["All"],"platforms":["All"],"leftNavId":"iO7IcPwigJctqIkoJ11Zo","content":[{"type":"markdown","name":"devtools/customattributes/overview/content","markdown":"{% subheading %}Learn about custom attributes, which are a lightweight way to include additional properties in the Square data model.{% /subheading %}\n\n{% toc hide=true /%}\n\n## Overview\n\nCustom attributes are a lightweight way to extend the Square data model and add new properties to some objects, thereby making them more specific to the business problem you're solving. You can use custom attributes in a number of scenarios, such as when a seller has certain attributes they want to capture that aren't native to the Square data model. For example, a veterinary clinic could store pet names, breeds, and ages for each customer using several custom attributes or a restaurant could use custom attributes to denote table numbers and server names for in-person orders.\n\n## Supported custom attribute\n\nThe following APIs currently support custom attributes:\n* [Bookings](https://developer.{{SQUARE_DOMAIN}}/reference/square/booking-custom-attributes-api)\n* [Customers](https://developer.{{SQUARE_DOMAIN}}/reference/square/customer-custom-attributes-api)\n* [Locations](https://developer.{{SQUARE_DOMAIN}}/reference/square/location-custom-attributes-api) (beta)\n* [Merchants](https://developer.{{SQUARE_DOMAIN}}/reference/square/merchant-custom-attributes-api) (beta)\n* [Orders](https://developer.{{SQUARE_DOMAIN}}/reference/square/order-custom-attributes-api) (beta)\n\n\nThere are five custom attribute terms to be familiar with:\n\n* **Custom attribute definition** - This specifies the characteristics of a custom attribute. It defines the data type, schema, addressable endpoints, and configuration of the custom attribute. The custom attribute definition uses the Square custom attribute `schema` field to specify the type information for a custom attribute. Every custom attribute has a definition that's associated with a specific seller. After a custom attribute is defined, the values for that attribute are available to the seller. You can also specify the `visibility` of the custom attribute for the seller and to other applications.\n* **Custom attribute key** - Every custom attribute definition has a key that's unique to each application and seller. The key allows you to define and access a custom attribute for any seller you work with. For example, suppose you create a custom attribute definition called favorite-color. If you work with several sellers, you could use the definition to create Favorite Color custom attributes for each seller. You use the custom attribute `key` and the parent resource ID to access the custom attribute. Some custom attribute APIs allow you to work with seller-defined custom attributes. When doing so, you use a qualified key.\n* **Custom attribute** - This is the entity containing the custom attribute data and references to the custom attribute definition that defines it. \n* **Custom attribute value** - This value is used to distinguish between the custom attribute itself and its value.\n* **Custom attribute visibility** - When you create a custom attribute definition, you specify the `visibility` of the custom attribute. This determines not only whether other applications and sellers can see the custom attribute, but it also determines what actions other applications can take regarding the custom attribute. Visibility is described in greater detail in the following sections.\n\nThere are also several behaviors that apply to custom attributes that you should know:\n* For any Square API you work with, the `Retrieve{ResourceType}` and `List{ResourceTypes}` endpoint responses don't include custom attribute values. Use the custom attributes endpoint that's specific to the API you're working with to list the available custom attributes.\n* If the `visibility` of a custom attribute definition is updated, the change is propagated within a few seconds to its corresponding custom attributes.\n* If a custom attribute definition is deleted, all corresponding custom attributes are also deleted.\n* Square validates custom attribute selections on upsert operations, so any changes that you make to the definition schema apply only to future upsert operations. They don't affect custom attributes that have already been set. For example, a selection definition can be changed from allowing a maximum number of three items to only allowing a maximum number of one item. Any value with more than one item remains in place and can still be retrieved, but the value cannot be saved until the value is changed to match the current custom attribute definition.\n\n{% aside type=\"important\" %}\nCustom attributes are intended to store additional information about a resource or associations with an entity in another system. Don't use custom attributes to store any PCI data (such as card details). PII data is supported in custom attribute values, but applications that create or read this data should observe applicable privacy laws and data regulations such as avoiding logging custom attribute data when a deletion request is received.\n{% /aside %} \n\n## Custom attribute workflow\n\nFor a high-level understanding of how to work with custom attributes, it's helpful to focus on three common workflows:\n* Define the properties and create a custom attribute definition for a seller.\n* Set custom attributes.\n* Assign custom attribute values.\n\nFor details about how to perform these actions for each of the supported APIs, see the following:\n\n* [Custom Attributes for Bookings](booking-custom-attributes-api/overview)\n* [Custom Attributes for Customers](customer-custom-attributes-api/overview)\n* [Custom Attributes for Orders](orders-custom-attributes-api/overview)\n* [Custom Attributes for Locations](location-custom-attributes-api/overview)\n* [Custom Attributes for Merchants](merchant-custom-attributes-api/overview)\n\n{% anchor id=\"access-control\" /%}\n## Access control\n\nThe application that creates a custom attribute definition is the definition owner. The definition owner always has `READ` and `WRITE` permissions to the definition and all instances of the corresponding custom attributes. \n\nThe `visibility` setting specified by a custom attribute definition determines how other applications can access the definition and corresponding custom attributes:\n\n* `VISIBILITY_HIDDEN` (default) - The definition and corresponding custom attributes are only visible to the definition owner.\n* `VISIBILITY_READ_ONLY` - Allows other applications to view the custom attribute definition and corresponding custom attributes.\n* `VISIBILITY_READ_WRITE_VALUES` - Allows other applications to set or delete the custom attribute.\n\nThe following table shows access control permissions for other applications that make calls on behalf of a seller, including Square products:\n\n| | Custom attribute{% line-break /%}definition{% colspan=2 %} | {% line-break /%}Custom attribute{% colspan=2 %} | | |\n| ---------- | ---------- | ---------- | ---------- | ---------- |\n| **Visibility setting** | **READ** | **WRITE** | **READ** | **WRITE** |\n| `VISIBILITY_HIDDEN` (default) | No | No | No | No |\n| `VISIBILITY_READ_ONLY` | Yes | No | Yes | No |\n| `VISIBILITY_READ_WRITE_VALUES`| Yes | No | Yes | Yes |\n\n#### Accessing custom attributes owned by other applications\n\nTo access custom attribute definitions created by other applications or their corresponding custom attributes, the following conditions must be true:\n\n* The `visibility` field of the definition must be set to one of the following:\n * `VISIBILITY_READ_ONLY` - Allows other applications to view the custom attribute definition and corresponding custom attributes. \n * `VISIBILITY_READ_WRITE_VALUES` - Additionally allows other applications to set or delete the custom attribute. \n\n{% aside type=\"info\" %}\nIf the visibility of a custom attribute definition is updated, the change is propagated within a few seconds to its corresponding custom attributes.\n\nIf a custom attribute definition is deleted, all corresponding custom attributes are also deleted.\n{% /aside %}\n\n{% anchor id=\"data-types\" /%}\n## Supported data types\n\nThe data type of a custom attribute is specified by the `schema` field of the custom attribute definition. Square uses the schema to validate the custom attribute value when it's assigned to a resource, such as a customer or location. All data types except `Selection` are specified using a simple URL reference to an object hosted on the Square CDN. For more information, see [Selection data type](#selection-type).\n\nCustom attributes support the following data types. Note that not all APIs support all the data types.\n\n| Data type | Description{% width=\"300px\" %}|$ref value| \n|---------|-------------|----|\n| String | A string with up to 1000 UTF-8 characters. Empty strings are allowed. | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.String |\n| Number | A string representation of an integer or decimal with up to five digits of precision that matches the following regular expression: `^-?[0-9]*(\\.[0-9]{0,5})?$`. This limit might vary by API. Negative numbers are denoted using a `-` prefix. | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.Number |\n| Boolean | A `true` or `false` value.| https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.Boolean |\n| PhoneNumber | A string representation of a phone number in [E.164 format.](https://en.wikipedia.org/wiki/E.164) For example, `+17895551234`. | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.PhoneNumber |\n| Email | An email address consisting of ASCII characters that matches the [regular expression](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/email#basic_validation) for the HTML5 `email` type. | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.Email |\n| Date | A date in ISO 8601 format: `YYYY-MM-DD`. | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.Date |\n| DateTime | A string representation of the date and time in the ISO 8601 format, starting with the year, followed by the month, day, hour, minutes, seconds, and milliseconds. For example, `2022-07-10 15:00:00.000`.| https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.DateTime |\n| Duration | A duration as defined by the ISO 8601 ABNF. For example, \"P3Y6M4DT12H30M5S\". | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.Duration |\n| Address | An [Address](https://developer.{{SQUARE_DOMAIN}}/reference/square/objects/Address) object. For information about `Address` fields, see [Working with Addresses.](build-basics/common-data-types/working-with-addresses) | https://developer-production-s.squarecdn.com/{% line-break /%}schemas/v1/common.json#squareup.common.Address |\n| Selection | A selection from a set of named values specified in the custom attribute definition. | See [JSON meta-schema object.](devtools/customattributes/overview#selection-type) | |\n\n{% anchor id=\"selection-type\" /%}\n### Selection data type (JSON meta-schema object)\n\nFor a `Selection` data type, the schema contains a `$schema` field that references a JSON meta-schema object, as well as additional fields. Note the following:\n\n* `$schema` references the `https://developer-production-s.squarecdn.com/meta-schemas/v1/selection.json meta-schema` hosted on the Square CDN.\n* `type` must be `array`.\n* `items` must include a `names` array that contains strings representing the display names of the predefined options that can be selected. Note that the order of the options might not be respected by all UIs.\n* `maxItems` is an integer that represents the maximum number of allowed selections. Corresponding custom attributes can have zero or more selected values, up to the specified maximum. The minimum value is 1 and cannot exceed the number of options in the `names` field.\n* `uniqueItems` must be `true`.\n\nThe following call to the `CreateCustomerCustomAttributeDefinition` endpoint creates a `Selection`-type customer custom attribute definition. The definition contains three named options and allows for one selection.\n\n```endpoint:CustomerCustomAttributes-CreateCustomerCustomAttributeDefinition\n {\n \"authentication\": {\n \"accessToken\": \"{ACCESS_TOKEN}\"\n },\n \"bodyParameters\": {\n \"custom_attribute_definition\": {\n \"key\": \"shirt-size\",\n \"schema\": {\n \"$schema\": \"https://developer-production-s.squarecdn.com/meta-schemas/v1/selection.json\",\n \"maxItems\": 1,\n \"type\": \"array\",\n \"uniqueItems\": true,\n \"items\": {\n \"names\": [\n \"Small\", \n \"Medium\", \n \"Large\"\n ]\n }\n },\n \"name\": \"Default shirt size\",\n \"description\": \"The default shirt size ordered by the customer.\",\n \"visibility\": \"VISIBILITY_READ_WRITE_VALUES\"\n },\n \"idempotency_key\": \"{UNIQUE_KEY}\"\n },\n \"environment\": \"sandbox\"\n }\n ```\n\nThe following is an example response. For each named option, Square generates a UUID and adds it to the `enum` field. The options in the `names` field map by index to the UUIDs in the `enum` field. The first option maps to the first UUID, the second option maps to the second UUID, and so on.\n\nThese UUIDs are used to set the value of the custom attribute or update the option names.\n\n ```json\n {\n \"custom_attribute_definition\": {\n \"key\": \"shirt-size\",\n \"name\": \"Default shirt size\",\n \"description\": \"The default shirt size ordered by the customer.\",\n \"version\": 1,\n \"updated_at\": \"2022-05-20T02:41:37Z\",\n \"schema\": {\n \"$schema\": \"https://developer-production-s.squarecdn.com/meta-schemas/v1/selection.json\",\n \"maxItems\": 1,\n \"type\": \"array\", \n \"uniqueItems\": true,\n \"items\": {\n \"names\": [\n \"Small\",\n \"Medium\",\n \"Large\"\n ],\n \"enum\": [\n \"a5fc0632-b5cf-4855-af35-7bfc88bdc9f5\", // UUID for \"Small\"\n \"e875633f-a5d8-4872-aef4-6b96fba78c3e\", // UUID for \"Medium\"\n \"30528ff7-b11b-425a-aa11-26ff5cf1996f\" // UUID for \"Large\"\n ]\n }\n },\n \"created_at\": \"2022-05-20T02:41:37Z\",\n \"visibility\": \"VISIBILITY_READ_WRITE_VALUES\"\n }\n }\n``` \n\n## Strong consistency for reads\n\nYou can enforce strong consistency when reading a custom attribute by using the `version` field. When you set the `version` field on a custom attribute to a given value, you receive custom attribute data with that version or later. For example, if your read request asks for version 5, you get data from version 5 or later. If you don't specify a version in your request, you could get an earlier version containing stale data if the current version hasn't been replicated to the data store you're reading from. Most replication typically completes quickly, but to ensure consistency, you should provide a value for the `version` field when reading data.\n\n## Subscribing to webhooks\n\nTwo types of webhook event notifications are generated for custom attributes:\n\n* `.owned` event notifications are sent when changes are made to custom attribute definitions and custom attributes that are owned by your application. A custom attribute definition is owned by the application that created it. A custom attribute is owned by the application that created the corresponding custom attribute definition.\n* `.visible` event notifications are sent when changes are made to custom attribute definitions and custom attributes that are visible to your application. These changes apply to:\n * All custom attribute definitions and custom attributes owned by your application.\n * All other custom attribute definitions or custom attributes whose `visibility` setting is `VISIBILITY_READ_ONLY` or `VISIBILITY_READ_WRITE_VALUES`. ","programmingLanguage":"All","platform":"All"}]},"requirementsDomain":null},"navSet":{"value":{"items":[{"type":"link","url":"/","title":"Docs Home"},{"type":"divider","style":"divider"},{"id":"iO7IcPwigJctqIkoJ11Zo","type":"subcategory","items":[{"id":"7dlzvOUwboNqjIqujGxzcq","type":"subcategory","items":[{"type":"link","url":"/get-started/create-account-and-application","title":"Create an Account and App"},{"type":"link","url":"/get-started/make-api-request","title":"Make your First API Call"},{"type":"link","url":"/get-started/view-log","title":"View the API Logs"},{"type":"link","url":"/get-started/verify-transaction-in-seller-dashboard","title":"Verify the Payment"},{"type":"link","url":"/get-started/what-next","title":"What's Next"}],"title":"Get Started","url":"/square-get-started"},{"type":"divider","style":"divider"},{"type":"link","url":"/development-essentials","title":"Overview"},{"id":"2bnJ76IVdWdlJkBxvg7SmH","type":"subcategory","items":[{"type":"link","url":"/build-basics/versioning-overview","title":"Versioning"},{"type":"link","url":"/build-basics/access-tokens","title":"Access Tokens"},{"type":"link","url":"/build-basics/frontend-backend-development","title":"Frontend and Backend Development"},{"id":"4TMGdBKMRZhCtNaE99difL","type":"subcategory","items":[{"type":"link","url":"/build-basics/general-considerations/tls-and-https","title":"TLS and HTTPS"},{"type":"link","url":"/build-basics/general-considerations/using-rest-api","title":"Using the REST API"},{"type":"link","url":"/build-basics/general-considerations/handling-errors","title":"Handling Errors"},{"type":"link","url":"/build-basics/general-considerations/collecting-information","title":"Collecting Information"},{"type":"link","url":"/build-basics/general-considerations/language-preferences","title":"Language Preferences"}],"title":"General Development Concepts","url":"/build-basics/general-considerations"},{"id":"3aMdMffYnkZVVVgdISQxCp","type":"subcategory","items":[{"type":"link","url":"/build-basics/common-data-types/working-with-dates","title":"Working with Dates"},{"type":"link","url":"/build-basics/common-data-types/working-with-monetary-amounts","title":" Working with Monetary Amounts"},{"type":"link","url":"/build-basics/common-data-types/working-with-addresses","title":"Working with Addresses"}],"title":"Common Data Types","url":"/build-basics/common-data-types"},{"id":"3RImgYl86M2FgJQKHeKyoX","type":"subcategory","items":[{"type":"link","url":"/devtools/customattributes/overview","title":"Custom Attributes"},{"type":"link","url":"/build-basics/common-api-patterns/idempotency","title":"Idempotency"},{"type":"link","url":"/build-basics/common-api-patterns/pagination","title":"Pagination"},{"type":"link","url":"/build-basics/common-api-patterns/optimistic-concurrency","title":"Optimistic Concurrency"},{"type":"link","url":"/build-basics/clearing-fields","title":"Clear Object Fields"}],"title":"Common Square API Patterns","url":"/build-basics/common-api-patterns"},{"type":"link","url":"/ecommerce-api","title":"Square eCommerce APIs"},{"type":"link","url":"/build-basics/api-lifecycle","title":"Square API Lifecycle"}],"title":"Build Basics","url":"/buildbasics"},{"id":"3xPiA4blL9jPuuayGJ6MTW","type":"subcategory","items":[{"type":"link","url":"/devtools/developer-dashboard","title":"Developer Console"},{"type":"link","url":"/devtools/seller-dashboard","title":"Square Dashboard"},{"id":"3KRB4IB9BlZtJ6B2m6vUfS","type":"subcategory","items":[{"type":"link","url":"/devtools/sandbox/testing","title":"Test in Sandbox"},{"type":"link","url":"/devtools/sandbox/payments","title":"Sandbox Payments"}],"title":"Sandbox","url":"/devtools/sandbox/overview"},{"type":"link","url":"/devtools/api-explorer","title":"API Explorer"},{"type":"link","url":"/devtools/api-logs","title":"API Logs"},{"type":"link","url":"/devtools/webhook-logs","title":"Webhook Event Logs"},{"id":"gjri5F4fH2T3zkF44a67X","type":"subcategory","items":[{"type":"link","url":"/webhooks/step1createurl","title":"Create a Notification URL"},{"type":"link","url":"/webhooks/step2subscribe","title":"Subscribe to Event Notifications"},{"type":"link","url":"/webhooks/step3validate","title":"Verify and Validate an Event Notification"},{"type":"link","url":"/webhooks/step4manage","title":"Manage Operations"},{"type":"link","url":"/webhooks/movetoprod","title":"Move Event Notifications to Production"},{"type":"link","url":"/webhooks/v2webhook-events-tech-ref","title":"Webhook Events Reference"},{"type":"link","url":"/webhooks/troubleshooting","title":"Troubleshooting"}],"title":"Webhooks","url":"/webhooks/overview"},{"type":"link","url":"/auth","title":"Authentication"},{"type":"link","url":"/devtools/postman","title":"Postman"}],"title":"Developer Tools","url":"/devtools/overview"},{"id":"3Dla3ISAkrXINrZrVMau3d","type":"subcategory","items":[{"id":"2Ca4WvgGRCnQW4KBXsLDjR","type":"subcategory","items":[{"type":"link","url":"/sdks/java/quick-start","title":"Quickstart"},{"type":"link","url":"/sdks/java/setup-project","title":"Project Setup"},{"type":"link","url":"/sdks/java/using-java-sdk","title":"Using the SDK"},{"type":"link","url":"/sdks/java/common-square-api-patterns","title":"Common API Patterns"},{"type":"link","url":"/sdks/java/stay-current-with-sdk-version","title":"Stay Current with SDK Version"}],"title":"Java","url":"/sdks/java"},{"id":"6ioIsulmzIRS1Fp5LbpySx","type":"subcategory","items":[{"type":"link","url":"/sdks/dotnet/quick-start","title":"Quickstart"},{"type":"link","url":"/sdks/dotnet/setup-project","title":"Project Setup"},{"type":"link","url":"/sdks/dotnet/using-dot-net-sdk","title":"Using the SDK"},{"type":"link","url":"/sdks/dotnet/common-square-api-patterns","title":"Common API Patterns"},{"type":"link","url":"/sdks/dotnet/stay-current-with-sdk-version","title":"Stay Current with SDK Version"}],"title":".NET","url":"/sdks/dotnet"},{"id":"TtR5ma1jNu33j5Up3QRZ7","type":"subcategory","items":[{"type":"link","url":"/sdks/nodejs/quick-start","title":"Quickstart"},{"type":"link","url":"/sdks/nodejs/setup-project","title":"Project Setup"},{"type":"link","url":"/sdks/nodejs/using-nodejs-sdk","title":"Using the SDK"},{"type":"link","url":"/sdks/nodejs/common-square-api-patterns","title":"Common API Patterns"},{"type":"link","url":"/sdks/nodejs/stay-current-with-sdk-version","title":"Stay Current with SDK Version"}],"title":"Node.js","url":"/sdks/nodejs"},{"id":"3hWuvXuREAS464rBzFn5S6","type":"subcategory","items":[{"type":"link","url":"/sdks/php/quick-start","title":"Quickstart"},{"type":"link","url":"/sdks/php/setup-project","title":"Project Setup"},{"type":"link","url":"/sdks/php/using-php-sdk","title":"Using the SDK"},{"type":"link","url":"/sdks/php/common-square-api-patterns","title":"Common API Patterns"},{"type":"link","url":"/sdks/php/stay-current-with-sdk-version","title":"Stay Current with SDK Version"}],"title":"PHP","url":"/sdks/php"},{"id":"6wVrPqjTomk2Pg7Y2aPTPX","type":"subcategory","items":[{"type":"link","url":"/sdks/python/quick-start","title":"Quickstart"},{"type":"link","url":"/sdks/python/setup-project","title":"Project Setup"},{"type":"link","url":"/sdks/python/using-python-sdk","title":"Using the SDK"},{"type":"link","url":"/sdks/python/common-square-api-patterns","title":"Common API Patterns"},{"type":"link","url":"/sdks/python/stay-current-with-sdk-version","title":"Stay Current with SDK Version"}],"title":"Python","url":"/sdks/python"},{"id":"1tWDddcaCZLVqVBGIxvs4A","type":"subcategory","items":[{"type":"link","url":"/sdks/ruby/quick-start","title":"Quickstart"},{"type":"link","url":"/sdks/ruby/setup-project","title":"Project Setup"},{"type":"link","url":"/sdks/ruby/using-ruby-sdk","title":"Using the SDK"},{"type":"link","url":"/sdks/ruby/common-square-api-patterns","title":"Common API Patterns"},{"type":"link","url":"/sdks/ruby/stay-current-with-sdk-version","title":"Stay Current with SDK Version"}],"title":"Ruby","url":"/sdks/ruby"}],"title":"Square SDKs","url":"/sdks"},{"type":"link","url":"/sample-apps","title":"Sample Applications"},{"type":"divider","style":"divider"},{"id":"31uVZVus1mPqbgRgRBWk2b","type":"subcategory","items":[{"type":"link","url":"/graphql/basics","title":"GraphQL Basics"},{"type":"link","url":"/graphql/build-your-first-query","title":"Build your First Query"},{"type":"link","url":"/devtools/graphqlexplorer","title":"GraphQL Explorer"},{"type":"link","url":"/graphql/query-examples","title":"Query Examples"}],"title":"GraphQL","url":"/devtools/graphql"},{"type":"divider","style":"divider"},{"id":"1xR5tTBo3FKTtqQB9F8d6J","type":"subcategory","items":[{"type":"link","url":"/oauth-api/create-urls-for-square-authorization","title":"Create Redirect URL and Authorization Page URL"},{"type":"link","url":"/oauth-api/receive-and-manage-tokens","title":"Receive Authorization and Manage OAuth Tokens"},{"type":"link","url":"/oauth-api/refresh-revoke-limit-scope","title":"Refresh and Revoke OAuth Tokens"},{"type":"link","url":"/oauth-api/token-introspection","title":"Token Introspection"},{"type":"link","url":"/oauth-api/best-practices","title":"OAuth Best Practices"},{"type":"link","url":"/oauth-api/walkthrough","title":"OAuth Walkthrough"},{"type":"link","url":"/oauth-api/migrate-to-square-oauth-flow","title":"Migrate to the Square API OAuth Flow"},{"type":"link","url":"/oauth-api/movetoprod","title":"Move OAuth to Production"},{"type":"link","url":"/oauth-api/square-permissions","title":"Permissions Reference"}],"title":"OAuth","url":"/oauth-api/overview"},{"type":"link","url":"/webhooks/webhook-subscriptions-api","title":"Webhook Subscriptions"},{"type":"link","url":"/events-api/overview","title":"Events"},{"type":"divider","style":"divider"},{"id":"2b6GKzXmebfh3NFImkw69V","type":"subcategory","items":[{"type":"link","url":"/migrate-from-v1/current-status","title":"Deprecated Items"},{"id":"2S2I7wKsntsXiMbpEYl1vv","type":"subcategory","items":[{"type":"link","url":"/migrate-from-v1/guides/v1-payments","title":"v1 Payments API"},{"type":"link","url":"/migrate-from-v1/guides/v1-refunds","title":"v1 Refunds API"},{"type":"link","url":"/payments-api/migrate-from-transactions-api","title":"Square Transactions API"},{"type":"link","url":"/labor-api/migrate-to-teams","title":"Migrate Employees to Team Members"},{"type":"link","url":"/migrate-from-v1/guides/v1-checkout","title":"Migrate from CreateCheckout to CreatePaymentLink"}],"title":"API Migration Guides"}],"title":"Migrate from Deprecated APIs","url":"/migrate-from-v1"},{"id":"2FbyzmNmotvJlFa0lkrvGa","type":"subcategory","items":[{"type":"link","url":"/international-development/oauth-testing","title":"OAuth and Testing"},{"type":"link","url":"/international-development/payments","title":"International Payments"},{"type":"link","url":"/international-development/regional-differences","title":"Regional Differences for International Development"},{"type":"link","url":"/international-development/japan-invoice-system","title":"Compliance with Japan's Tax Invoice System"}],"title":"International Development","url":"/international-development"}],"title":"Dev Essentials","url":"/development-essentials"},{"type":"divider","style":"divider"},{"id":"1JxXf5dweJNagXLkQOFGsh","type":"subcategory","items":[{"type":"link","url":"/payments-overview","title":"Overview"},{"id":"7zfhvbp4AghuyT3BkoJd1v","type":"subcategory","items":[{"type":"link","url":"/payments/scenarios/tip-reporting","title":"Build a Tip Report"},{"type":"link","url":"/payments/scenarios/split-online-payment","title":"Split an Online Payment"},{"type":"link","url":"/payments/scenarios/simple-sales-report","title":"Build a Sales Report"}],"title":"Technical Scenarios","url":"/payments/scenarios"},{"id":"uUZ9NoDit8f9tVTf5zSRm","type":"subcategory","items":[{"id":"1gxFZ2zjIW9IxVIOVrlHsi","type":"subcategory","items":[{"id":"cX9mbMbYzJRiexfbw1HuZ","type":"subcategory","items":[{"type":"link","url":"/payments-api/take-payments/card-payments/delayed-capture","title":"Delayed Capture"},{"type":"link","url":"/payments-api/take-payments/card-payments/partial-payments-with-gift-cards","title":"Partial Payments"},{"type":"link","url":"/payments-api/take-payments/card-payments/statement-descriptions","title":"Statement Descriptions"}],"title":"Card Payments","url":"/payments-api/take-payments/card-payments"},{"type":"link","url":"/payments-api/take-payments/ach-payments","title":"ACH Bank Transfer Payment"},{"type":"link","url":"/payments-api/take-payments/afterpay-payments","title":"Afterpay and Clearpay Payments"},{"type":"link","url":"/payments-api/take-payments/cash-app-payments","title":"Cash App Payments"},{"type":"link","url":"/payments-api/take-payments/cash-payments","title":"Cash Payments"},{"type":"link","url":"/payments-api/take-payments/external-payments","title":"External Payments"},{"type":"link","url":"/payments-api/take-payments/house-accounts","title":"House Accounts"}],"title":"Take Payments","url":"/payments-api/take-payments"},{"type":"link","url":"/payments-api/take-payments-and-collect-fees","title":"Collect Application Fees"},{"type":"link","url":"/payments-api/update-payments","title":"Update Payment and Tip Amounts"},{"type":"link","url":"/payments-api/retrieve-payments","title":"Retrieve Payments"},{"type":"link","url":"/payments-api/error-codes","title":"Troubleshoot"},{"type":"link","url":"/payments-api/webhooks","title":"Webhooks"}],"title":"Payments","url":"/payments-refunds"},{"id":"2zvmrqXp2ajTw6sZprzRpu","type":"subcategory","items":[{"type":"link","url":"/payments-api/refund-payments","title":"Refund Payments"},{"type":"link","url":"/payments-api/collect-fees/payment-with-app-fee-refund","title":"Refund a Payment with an App Fee"},{"type":"link","url":"/refunds-api/retrieve-refunds","title":"Retrieve Refunds"},{"type":"link","url":"/refunds-api/unlinked-refunds","title":"Process an Unlinked Refund"},{"type":"link","url":"/refunds-api/webhooks","title":"Webhooks"}],"title":"Refunds","url":"/refunds-api/overview"},{"id":"zsWHyi2OOINzGoMk3KheJ","type":"subcategory","items":[{"type":"link","url":"/disputes-api/process-disputes","title":"Process Disputes"},{"type":"link","url":"/disputes-api/sandbox-testing","title":"Test in the Sandbox"}],"title":"Disputes","url":"/disputes-api/overview"},{"type":"divider","style":"divider"},{"id":"3QI4Ij83kOJO4XY5vg44ec","type":"subcategory","items":[{"id":"4qST1Mhcut4CEO49Ymx2wJ","type":"subcategory","items":[{"type":"link","url":"/terminal-api/quickstart","title":"Quickstart"},{"type":"link","url":"/terminal-api/square-terminal-payments","title":"Take Payments"},{"type":"link","url":"/terminal-api/pos-integration","title":"POS App Pairing with Square Terminal"},{"type":"link","url":"/terminal-api/dismiss-checkouts-and-refunds","title":"Dismiss Terminal Checkouts and Refunds"},{"type":"link","url":"/terminal-api/terminal-device-monitoring","title":"Monitor Square Terminals"},{"type":"link","url":"/terminal-api/advanced-features","title":"Manage Terminal Actions"},{"type":"link","url":"/terminal-api/advanced-features/save-card-on-file","title":"Save Card on File"},{"type":"link","url":"/terminal-api/advanced-features/check-device-information","title":"Check Device Information"},{"type":"link","url":"/terminal-api/advanced-features/issue-receipts","title":"Print or Issue Receipts"},{"type":"link","url":"/terminal-api/advanced-features/customize-idle-screen","title":"Customize the Idle Screen"},{"id":"5csDnJcAAfXw1PIO507K5i","type":"subcategory","items":[{"type":"link","url":"/terminal-api/advanced-features/custom-workflows/confirmation","title":"Confirmation Screen"},{"type":"link","url":"/terminal-api/advanced-features/custom-workflows/signature","title":"Signature Capture Screen"},{"type":"link","url":"/terminal-api/advanced-features/custom-workflows/data-collection","title":"Data Collection Screen"},{"type":"link","url":"/terminal-api/advanced-features/custom-workflows/menu-select","title":"Menu Selection List Screen"},{"type":"link","url":"/terminal-api/advanced-features/custom-workflows/qr-code-display","title":"QR Code Screen"},{"type":"link","url":"/terminal-api/advanced-features/custom-workflows/link-and-dismiss-actions","title":"Link and Dismiss Actions"}],"title":"Custom Screen Workflows","url":"/terminal-api/advanced-features/custom-workflows"},{"id":"1diR890qlxltZJ0tUr6fPB","type":"subcategory","items":[{"type":"link","url":"/terminal-api/square-terminal-refunds","title":"Refund Interac Payments"},{"type":"link","url":"/terminal-api/e-money-payments","title":"Take E-Money Payments"},{"type":"link","url":"/terminal-api/international-payment-methods/paypay-qr-code-payments","title":"Take PayPay QR Code Payments"}],"title":"International Payment Methods","url":"/terminal-api/international-payment-methods"}],"title":"Terminal API","url":"/terminal-api/overview"},{"id":"4sRkVAYqVuVcsx5Xht8EIO","type":"subcategory","items":[{"id":"V2EiCWkS7R7XRjihKoGRJ","type":"subcategory","items":[{"type":"link","url":"/mobile-payments-sdk/android/configure-authorize","title":"Authorize the Mobile Payments SDK"},{"type":"link","url":"/mobile-payments-sdk/android/pair-manage-readers","title":"Pair and Manage Card Readers"},{"type":"link","url":"/mobile-payments-sdk/android/take-payments","title":"Take a Payment"},{"type":"link","url":"/mobile-payments-sdk/android/offline-payments","title":"Offline Payments"},{"type":"link","url":"/mobile-payments-sdk/android/handling-errors","title":"Handling Errors"}],"title":"Build on Android","url":"/mobile-payments-sdk/android"},{"id":"184IwlKxX3dToiJCIgybi7","type":"subcategory","items":[{"type":"link","url":"/mobile-payments-sdk/ios/configure-authorize","title":"Authorize the Mobile Payments SDK"},{"type":"link","url":"/mobile-payments-sdk/ios/pair-manage-readers","title":"Pair and Manage Card Readers"},{"type":"link","url":"/mobile-payments-sdk/ios/take-payments","title":"Take a Payment"},{"type":"link","url":"/mobile-payments-sdk/ios/offline-payments","title":"Offline Payments"},{"type":"link","url":"/mobile-payments-sdk/ios/square-stand","title":"Configure for Square Stand"},{"type":"link","url":"/mobile-payments-sdk/ios/handling-errors","title":"Handling Errors"}],"title":"Build on iOS","url":"/mobile-payments-sdk/ios"},{"type":"link","url":"/mobile-payments-sdk/migrate","title":"Migrate from Reader SDK"}],"title":"Mobile Payments SDK","url":"/mobile-payments-sdk"},{"id":"41VWCwHuOVzHNHKVQOT41","type":"subcategory","items":[{"id":"4xNhvuBpEO78hn0xLFBiJp","type":"subcategory","items":[{"type":"link","url":"/reader-sdk/quick-start/step-1","title":"Get Credentials"},{"type":"link","url":"/reader-sdk/quick-start/step-2","title":"Configure the Sample Application"},{"type":"link","url":"/reader-sdk/quick-start/step-3","title":"Take a Cash Payment"},{"type":"link","url":"/reader-sdk/quick-start/step-4","title":"Customize the Checkout Amount"},{"type":"link","url":"/reader-sdk/quick-start/step-5","title":"Take a Credit Card Payment"}],"title":"Quickstart","url":"/reader-sdk/quick-start/start"},{"type":"link","url":"/reader-sdk/how-it-works","title":"How It Works"},{"type":"link","url":"/reader-sdk/build-on-android","title":"Build on Android"},{"type":"link","url":"/reader-sdk/build-on-ios","title":"Build on iOS"},{"type":"link","url":"/reader-sdk/cookbook/contactless-reader","title":"Connect a Contactless Reader"},{"type":"link","url":"/reader-sdk/cookbook/charge-cards-on-file","title":"Charge a Card on File"},{"type":"link","url":"/reader-sdk/cookbook/save-cards-on-file","title":"Save a Card on File"},{"type":"link","url":"/reader-sdk/cookbook/square-stand","title":"Configure on iOS for Square Stand"},{"type":"link","url":"/reader-sdk/cookbook/deauthorize-reader-sdk","title":"Deauthorize Reader SDK"},{"type":"link","url":"/reader-sdk/cookbook/capture-a-transaction","title":"Capture a Transaction"},{"type":"link","url":"/reader-sdk/cookbook/delay-capture-of-payment","title":"Delay the Capture of Payments"},{"type":"link","url":"/reader-sdk/cookbook/configure-apk-splits","title":"Configure APK Splits"},{"type":"link","url":"/reader-sdk/upgrade-reader-sdk","title":"Update to New Reader SDK Version"},{"type":"link","url":"/reader-sdk/flutter","title":"Flutter Plugin"},{"type":"link","url":"/reader-sdk/react-native","title":"React Native Plugin"}],"title":"Reader SDK","url":"/reader-sdk/what-it-does"},{"id":"3afip77TiGS5ECyUYIRM96","type":"subcategory","items":[{"type":"link","url":"/pos-api/how-it-works","title":"How It Works"},{"type":"link","url":"/pos-api/build-on-android","title":"Build on Android"},{"type":"link","url":"/pos-api/build-on-ios","title":"Build on iOS"},{"type":"link","url":"/pos-api/build-mobile-web","title":"Build on Mobile Web"},{"type":"link","url":"/pos-api/cookbook/find-your-android-fingerprint","title":"Find Your Android Fingerprint"},{"type":"link","url":"/pos-api/cookbook/offline-mode","title":"Use the API in Offline Mode"},{"type":"link","url":"/pos-api/cookbook/alert-dialog-helper","title":"Add an Alert Dialog Helper Class"},{"type":"link","url":"/pos-api/cookbook/electronic-payments","title":"Accept E-Money Payments"},{"type":"link","url":"/pos-api/qr-code-payments-paypay","title":"Accept PayPay Payments"},{"type":"link","url":"/pos-api/web-technical-reference","title":"Mobile Web Technical Reference"},{"type":"link","url":"/pos-api/payments-integration","title":"Payments API Integration"}],"title":"Point of Sale API","url":"/pos-api/what-it-does"}],"title":"Take Payments on Hardware","url":"/in-person-payment-options"},{"id":"6sXAr41iJBMDHea2l3Z8gv","type":"subcategory","items":[{"id":"7jyjtk6YX9Vvjr6IB3nf2J","type":"subcategory","items":[{"id":"50fRf1DljbdST7WDPNFEwv","type":"subcategory","items":[{"type":"link","url":"/web-payments/quickstart/clone-quickstart-project","title":"Clone the Quickstart Project Template"},{"type":"link","url":"/web-payments/quickstart/add-sdk-to-web-client","title":"Add the SDK to the Web Client"},{"type":"link","url":"/web-payments/quickstart/verify-the-payment","title":"Verify the Payment"},{"type":"link","url":"/web-payments/quickstart/add-sca","title":"Add Strong Customer Authentication"},{"type":"link","url":"/web-payments/quickstart/deploy-app","title":"Deploy the Application"}],"title":"Quickstart","url":"/web-payments/quickstart"},{"type":"link","url":"/web-payments/take-card-payment","title":"Take a Card Payment"},{"id":"76vVgo6CnCmx5Xt8tJJnS8","type":"subcategory","items":[{"type":"link","url":"/web-payments/apple-pay","title":"Apple Pay"},{"type":"link","url":"/web-payments/google-pay","title":"Google Pay"},{"type":"link","url":"/web-payments/payment-requests","title":"Digital Wallet Payment Requests"}],"title":"Integrate Digital Wallets","url":"/web-payments/digital-wallets"},{"type":"link","url":"/web-payments/add-ach","title":"ACH Bank Transfer"},{"type":"link","url":"/web-payments/add-afterpay","title":"Afterpay"},{"type":"link","url":"/web-payments/add-cash-app-pay","title":"Cash App Pay"},{"id":"UmgjQ7AynheCEMWohcGmp","type":"subcategory","items":[{"type":"link","url":"/web-payments/gift-card","title":"Take a Gift Card Payment"},{"type":"link","url":"/web-payments/gift-card-walkthrough","title":"Take Partial Payments"}],"title":"Square Gift Card Payments","url":"/web-payments/gift-cards-intro"},{"type":"link","url":"/web-payments/customize-styles","title":"Customize the Card Entry Form"},{"type":"link","url":"/web-payments/sca","title":"Add SCA to a Card Payment"},{"type":"link","url":"/web-payments/sca-add-card","title":"Store Card on File with SCA"},{"type":"link","url":"/web-payments/sca-charge-card-on-file","title":"Charge Card on File with SCA"},{"type":"link","url":"/web-payments/sca-charge-and-store-card-on-file","title":"Charge and Store Card on File with SCA"}],"title":"Web Payments SDK","url":"/web-payments/overview"},{"id":"3kx6yG9fmBAdJZbbO6F1yD","type":"subcategory","items":[{"id":"61aUeKzNEGAElKXXrUTg3x","type":"subcategory","items":[{"type":"link","url":"/in-app-payments-sdk/quick-start/generate-token","title":"Set up the Client"},{"type":"link","url":"/in-app-payments-sdk/quick-start/deploy-server-backend","title":"Deploy the Server"}],"title":"Quickstart","url":"/in-app-payments-sdk/quick-start"},{"type":"link","url":"/in-app-payments-sdk/installation","title":"Install the SDK"},{"type":"link","url":"/in-app-payments-sdk/build-on-android","title":"Build on Android"},{"type":"link","url":"/in-app-payments-sdk/build-on-ios","title":"Build on iOS"},{"id":"1YvixWOltemNhXC61aCNfc","type":"subcategory","items":[{"type":"link","url":"/in-app-payments-sdk/add-digital-wallets/google-pay","title":"Google Pay"},{"type":"link","url":"/in-app-payments-sdk/add-digital-wallets/apple-pay","title":"Apple Pay"},{"type":"link","url":"/in-app-payments-sdk/add-digital-wallets/src/android","title":"Enable SRC for Android"},{"type":"link","url":"/in-app-payments-sdk/add-digital-wallets/src/ios","title":"Enable SRC for iOS"}],"title":"Integrate Digital Wallets","url":"/in-app-payments-sdk/add-digital-wallets"},{"type":"link","url":"/in-app-payments/localize-ios","title":"Localize an Application "},{"type":"link","url":"/in-app-payments-sdk/cookbook/giftcards","title":"Gift Card Payments"},{"type":"link","url":"/in-app-payments-sdk/flutter","title":"Flutter Plugin"},{"type":"link","url":"/in-app-payments-sdk/react-native","title":"React Native Plugin"},{"type":"link","url":"/in-app-payments-sdk/cookbook/customize-payment-form","title":"Customize the Payment Entry Form"},{"type":"link","url":"/in-app-payments-sdk/cookbook/connect-to-a-backend-service","title":"Connect to a Backend Service"},{"type":"link","url":"/in-app-payments-sdk/cookbook/disable-postal-code","title":"Remove the Postal Code Requirement"},{"type":"link","url":"/in-app-payments-sdk/troubleshooting","title":"Troubleshoot"},{"type":"link","url":"/in-app-payments-sdk/how-it-works","title":"How It Works"},{"id":"6CxT0SjYvqtIoHogrU592e","type":"subcategory","items":[{"type":"link","url":"/in-app-payments-sdk/verify-buyer","title":"Verify a Buyer"}],"title":"Strong Customer Authentication","url":"/sca-overview-iap"}],"title":"In-App Payments SDK","url":"/in-app-payments-sdk/what-it-does"},{"id":"V4hkw0bOYUpdBadmYBHr0","type":"subcategory","items":[{"type":"link","url":"/checkout-api/quick-pay-checkout","title":"Quick Pay Checkout"},{"type":"link","url":"/checkout-api/square-order-checkout","title":"Square Order Checkout"},{"type":"link","url":"/checkout-api/subscription-plan-checkout","title":"Subscription Plan Checkout"},{"type":"link","url":"/checkout-api/checkout-settings","title":"Checkout Settings"},{"type":"link","url":"/checkout-api/optional-checkout-configurations","title":"Checkout Configurations"},{"type":"link","url":"/checkout-api/manage-checkout","title":"Manage Checkout"},{"type":"link","url":"/checkout-api/guidelines-and-limitations","title":"Guidelines and Limitations"}],"title":"Checkout API","url":"/checkout-api"},{"id":"48IHue04VlAsOncIA5GupV","type":"subcategory","items":[{"type":"link","url":"/subscriptions-api/plans-and-variations","title":"Subscription Plans and Variations"},{"type":"link","url":"/subscriptions-api/manage-subscriptions","title":"Manage Subscriptions"},{"type":"link","url":"/subscriptions-api/actions-events","title":"Subscription Actions and Events"},{"type":"link","url":"/subscriptions-api/pause-resume-cancel-subscriptions","title":"Pause, Resume, or Cancel Subscriptions"},{"type":"link","url":"/subscriptions-api/subscription-billing","title":"Subscription Billing and Invoices"},{"type":"link","url":"/subscriptions-api/swap-plan-variations","title":"Swap Subscription Plan Variations"}],"title":"Subscriptions API","url":"/subscriptions/overview"},{"id":"56mq1PzSktrD9m24himiW5","type":"subcategory","items":[{"type":"link","url":"/invoices-api/create-publish-invoices","title":"Create and Publish Invoices"},{"type":"link","url":"/invoices-api/retrieve-list-search-invoices","title":"Retrieve, List, or Search Invoices"},{"type":"link","url":"/invoices-api/attachments","title":"Create or Delete Invoice Attachments"},{"type":"link","url":"/invoices-api/update-invoices","title":"Update Invoices"},{"type":"link","url":"/invoices-api/cancel-delete-invoices","title":"Cancel or Delete Invoices"},{"type":"link","url":"/invoices-api/pay-refund-invoices","title":"Pay or Refund Invoices"},{"type":"link","url":"/invoices-api/walkthrough","title":"Walkthrough: Create and Publish Invoices"}],"title":"Invoices API","url":"/invoices-api/overview"}],"title":"Take Payments Online","url":"/online-payment-options"},{"type":"divider","style":"divider"},{"id":"3crTgQawiMx30ZW42kX5w8","type":"subcategory","items":[{"type":"link","url":"/cards-api/manage-cards","title":"Manage Cards"},{"type":"link","url":"/cards-api/walkthrough/card-from-payment-id","title":"Create a Card on File from Payment ID"},{"type":"link","url":"/cards-api/walkthrough-seller-card","title":"Create a Card on File and Make a Payment"},{"type":"link","url":"/cards-api/walkthrough-shared-card","title":"Create a Shared Card on File and Make a Payment"}],"title":"Cards","url":"/cards-api/overview"},{"id":"3oWs4JO3JfhkfDcUEhNGeJ","type":"subcategory","items":[{"type":"link","url":"/payouts-api/list-payouts","title":"List Payouts"},{"type":"link","url":"/payouts-api/get-payout","title":"Get Payout"},{"type":"link","url":"/payouts-api/list-payout-entries","title":"List Payout Entries"}],"title":"Payouts","url":"/payouts-api/overview"},{"type":"link","url":"/bank-accounts-api","title":"Bank Accounts"},{"id":"7re5dyp7kQZpvvwAJUee93","type":"subcategory","items":[{"type":"link","url":"/mobile-authz/how-it-works","title":"How It Works"},{"type":"link","url":"/mobile-authz/build-with-mobile-authz","title":"Build with Mobile Authorization"},{"type":"link","url":"/mobile-authz/cookbook/mobile-code-with-curl","title":"Get Authorization Code on Command Line"}],"title":"Mobile Authorization","url":"/mobile-authz/what-it-does"},{"type":"divider","style":"divider"},{"type":"link","url":"/payment-card-support-by-country","title":"Payment Methods by Country"},{"type":"link","url":"/payments-pricing","title":"Payments Pricing"},{"type":"link","url":"/sca-overview","title":"Strong Customer Authentication"},{"type":"link","url":"/payment-minimums","title":"Payment Minimums"}],"title":"Payments","url":"/payments-overview"},{"id":"3NKV9K0UfSbHh8odPIJR1c","type":"subcategory","items":[{"type":"link","url":"/commerce","title":"Overview"},{"id":"4F79mKtS4eqZigce67OxFF","type":"subcategory","items":[{"type":"link","url":"/commerce/scenarios/tip-reporting","title":"Build a Tip Report"},{"type":"link","url":"/commerce/scenarios/split-online-payment","title":"Split an Online Payment"},{"type":"link","url":"/commerce/scenarios/simple-sales-report","title":"Build a Sales Report"}],"title":"Technical Scenarios","url":"/commerce-scenarios"},{"id":"1fQKpXBuZJnPgVRaDRKLg0","type":"subcategory","items":[{"type":"link","url":"/orders-api/create-orders","title":"Create Orders"},{"type":"link","url":"/orders-api/manage-orders/update-orders","title":"Update Orders"},{"type":"link","url":"/orders-api/manage-orders/search-orders","title":"Search Orders"},{"type":"link","url":"/orders-api/manage-orders/retrieve-orders","title":"Retrieve Orders"},{"id":"3actPvHZPDJZx122xWJpED","type":"subcategory","items":[{"type":"link","url":"/orders-api/apply-taxes-and-discounts/auto-apply-discounts","title":"Apply Square-Defined Discounts"},{"type":"link","url":"/orders-api/apply-taxes-and-discounts/auto-apply-taxes","title":"Apply Catalog Taxes to Orders"}],"title":"Apply Catalog Taxes and Discounts","url":"/orders-api/apply-taxes-and-discounts"},{"id":"ebWImqVQwkBx3xfF0lbvb","type":"subcategory","items":[{"type":"link","url":"/orders-api/discounts","title":"Order Discounts"},{"type":"link","url":"/orders-api/taxes","title":"Order Taxes"},{"type":"link","url":"/orders-api/service-charges","title":"Order Service Charges"}],"title":"Order Price Adjustments","url":"/orders-api/price-adjustments"},{"type":"link","url":"/orders-api/pay-for-orders","title":"Pay for Orders"},{"type":"divider","style":"divider"},{"type":"link","url":"/orders-api/order-returns-exchanges","title":"Refunds and Exchanges"},{"type":"link","url":"/orders-api/fulfillments","title":"Manage Fulfillments"},{"type":"link","url":"/orders-api/how-it-works","title":"How It Works"},{"type":"link","url":"/orders-api/order-ahead-usecase","title":"Order-Ahead Use Case"},{"id":"7zVLALaKpsa7uX7WLYhQ8e","type":"subcategory","items":[{"type":"link","url":"/orders-api/quick-start/step-1","title":"Get Developer Credentials"},{"type":"link","url":"/orders-api/quick-start/step-2","title":"Configure the Sample Application"},{"type":"link","url":"/orders-api/quick-start/step-3","title":"Generate Test Catalog Items"},{"type":"link","url":"/orders-api/quick-start/step-4","title":"Take a Pickup Order"},{"type":"link","url":"/orders-api/quick-start/step-5","title":"Verify a Pickup Order"}],"title":"Order-Ahead Sample App","url":"/orders-api/quick-start"},{"type":"link","url":"/orders-api/metadata","title":"Metadata"}],"title":"Orders","url":"/orders-api/what-it-does"},{"id":"7uE6hgqgUI1iKEWFxYKPYb","type":"subcategory","items":[{"type":"link","url":"/orders-custom-attributes-api/custom-attribute-definitions","title":"Define Custom Attributes"},{"type":"link","url":"/orders-custom-attributes-api/custom-attributes","title":"Use Custom Attributes"}],"title":"Order Custom Attributes","url":"/orders-custom-attributes-api/overview"},{"id":"5uzyfjmBfADM23ka1K1pWH","type":"subcategory","items":[{"type":"link","url":"/catalog-api/design-a-catalog","title":"Design a Catalog"},{"type":"link","url":"/catalog-api/build-with-catalog","title":"Build a Catalog"},{"type":"link","url":"/catalog-api/update-catalog-objects","title":"Update Catalog Objects"},{"type":"link","url":"/catalog-api/retrieve-catalog-objects","title":"Retrieve Catalog Objects"},{"id":"XauByVgbcHPakYrcVm4lx","type":"subcategory","items":[{"type":"link","url":"/catalog-api/search-catalog-items","title":"Call SearchCatalogItems"},{"type":"link","url":"/catalog-api/search-catalog-objects","title":"Call SearchCatalogObjects"}],"title":"Search a Catalog","url":"/catalog-api/search-catalog"},{"type":"link","url":"/catalog-api/sync-with-external-system","title":"Synchronize Catalog With External Platform"},{"type":"link","url":"/catalog-api/archive-catalog-items","title":"Archive Catalog Items"},{"type":"link","url":"/catalog-api/delete-catalog-objects","title":"Delete Catalog Objects"},{"type":"link","url":"/catalog-api/categorize-catalog-items","title":"Categorize Catalog Items"},{"type":"link","url":"/catalog-api/enable-modifiers-on-items","title":"Enable Modifiers on Items"},{"type":"link","url":"/catalog-api/item-options","title":"Use Item Options"},{"id":"6lb9Ids2YTwmZdYSSWo9ZU","type":"subcategory","items":[{"type":"link","url":"/catalog-api/upload-and-attach-images","title":"Upload and Attach Images"},{"type":"link","url":"/catalog-api/manage-images","title":"Manage Images"}],"title":"Work with Images","url":"/catalog-api/cookbook/create-catalog-image"},{"type":"link","url":"/catalog-api/add-custom-attributes","title":"Add Custom Attributes"},{"id":"4uO79DXTpBj486wRLPVjD9","type":"subcategory","items":[{"type":"link","url":"/catalog-api/cookbook/auto-apply-discounts/volume-discounts","title":"Create Volume Discounts"},{"type":"link","url":"/catalog-api/cookbook/auto-apply-discounts/bundle-discounts","title":"Create Bundled Discounts"},{"type":"link","url":"/catalog-api/cookbook/auto-apply-discounts/timeframe-discounts","title":"Create Time-Based Discounts"},{"type":"link","url":"/catalog-api/configure-customer-group-discounts","title":"Create Customer Group Discounts"}],"title":"Configure Discounts","url":"/catalog-api/cookbook/auto-apply-discounts"},{"type":"link","url":"/catalog-api/cookbook/set-quick-amounts","title":"Configure Quick Payments"},{"type":"link","url":"/catalog-api/webhooks","title":"Use Webhooks"}],"title":"Catalog","url":"/catalog-api/what-it-does"},{"id":"1VGd8FbxwmjW0KMaajkmro","type":"subcategory","items":[{"type":"link","url":"/inventory-api/how-it-works","title":"How It Works"},{"type":"link","url":"/inventory-api/build-with-inventory","title":"Build an Inventory"},{"type":"link","url":"/inventory-api/enable-stock-conversion","title":"Enable Stock Conversion"},{"type":"link","url":"/inventory-api/cookbook/reconcile-computed-quantity","title":"Reconcile Inventory Counts"},{"type":"link","url":"/inventory-api/cookbook/retrieve-specific-instock-quantity","title":"Retrieve Inventory Counts"},{"type":"link","url":"/inventory-api/cookbook/inventory-change-history","title":"Inspect Inventory Changes"},{"type":"link","url":"/inventory-api/monitor-sold-out-status-on-item-variation","title":"Monitor Sold-out Item Variations"},{"type":"link","url":"/inventory-api/webhooks","title":"Handle Inventory Events"},{"type":"link","url":"/inventory-api/migrate-to-updated-api-entities","title":"Migrate to Updated API Entities"}],"title":"Inventory","url":"/inventory-api/what-it-does"},{"id":"1oCvFBbwIfvkgSqzjsVtl2","type":"subcategory","items":[{"type":"link","url":"/bookings-api/get-ready-to-use-the-api","title":"Basic Concepts"},{"type":"link","url":"/bookings-api/onboard-to-the-api","title":"Onboard to Square Appointments"},{"type":"link","url":"/bookings-api/use-the-api","title":"Create and Manage Bookings"},{"type":"link","url":"/bookings-api/use-webhooks","title":"Handle Event Notifications"}],"title":"Bookings","url":"/bookings-api/what-it-is"},{"id":"3IFs9Vd3B5uWf4LFR7k8EL","type":"subcategory","items":[{"type":"link","url":"/booking-custom-attributes-api/custom-attribute-definitions","title":"Manage Custom Attribute Definitions for Bookings"},{"type":"link","url":"/booking-custom-attributes-api/custom-attributes","title":"Manage Custom Attributes for Bookings"}],"title":"Booking Custom Attributes","url":"/booking-custom-attributes-api/overview"},{"id":"5XXuzzOGN1H5FPRGJcikVN","type":"subcategory","items":[{"type":"link","url":"/vendors-api/create-vendors","title":"Create Vendors"},{"type":"link","url":"/vendors-api/update-vendors","title":"Update Vendors"},{"type":"link","url":"/vendors-api/retrieve-vendors","title":"Retrieve Vendors"},{"type":"link","url":"/vendors-api/search-for-vendors","title":"Search for Vendors"},{"type":"link","url":"/vendors-api/receive-vendors-events","title":"Receive Vendors Events"}],"title":"Vendors","url":"/vendors-api/manage-vendors-in-apps"},{"id":"1mKQKHnvTn1nAsKsA2JRCl","type":"subcategory","items":[{"id":"6bKuXUnDxmCCuIR7ihe7jW","type":"subcategory","items":[{"type":"link","url":"/sites-api/use-the-api","title":"Use the Sites API"}],"title":"Sites API","url":"/sites-api/overview"},{"id":"5Cl3kPc7CUDPgqnbaJBDVJ","type":"subcategory","items":[{"type":"link","url":"/snippets-api/use-the-api","title":"Use the Snippets API"},{"type":"link","url":"/snippets-api/add-a-snippet","title":"Add a Snippet to a Site"}],"title":"Snippets API","url":"/snippets-api/overview"}],"title":"Square Online","url":"/online-api"},{"type":"link","url":"/cashdrawershift-api/reporting","title":"Cash Drawer Shifts"}],"title":"Commerce","url":"/commerce"},{"id":"4URmYFehLwquxQBCQKBKSx","type":"subcategory","items":[{"type":"link","url":"/customers","title":"Overview"},{"id":"5A6vAFRO33giYriws2hfBB","type":"subcategory","items":[{"type":"link","url":"/customers/scenarios/tip-reporting","title":"Build a Tip Report"},{"type":"link","url":"/customers/scenarios/split-online-payment","title":"Split an Online Payment"},{"type":"link","url":"/customers/scenarios/simple-sales-report","title":"Build a Sales Report"}],"title":"Technical Scenarios","url":"/customers/scenarios"},{"id":"15dy7EMFV93TibH1VXLeuV","type":"subcategory","items":[{"type":"link","url":"/customers-api/how-it-works","title":"Customers API Workflows"},{"type":"link","url":"/customers-api/use-the-api/keep-records","title":"Manage Customer Profiles"},{"type":"link","url":"/customers-api/use-the-api/retrieve-profiles","title":"Retrieve Customer Profiles"},{"type":"link","url":"/customers-api/use-the-api/search-customers","title":"Search for Customer Profiles"},{"type":"link","url":"/customers-api/use-the-api/integrate-with-other-services","title":"Integrate with Other Services"},{"type":"link","url":"/customers-api/use-the-api/customer-webhooks","title":"Use Customer Webhooks"}],"title":"Customers","url":"/customers-api/what-it-does"},{"id":"76835s9ZeAgwsAQ3g4bAGW","type":"subcategory","items":[{"type":"link","url":"/customer-custom-attributes-api/custom-attribute-definitions","title":"Manage Customer Custom Attribute Definitions"},{"type":"link","url":"/customer-custom-attributes-api/custom-attributes","title":"Manage Customer Custom Attributes"}],"title":"Customer Custom Attributes","url":"/customer-custom-attributes-api/overview"},{"id":"3o5YnQHQmUFb3JPaTZB1DC","type":"subcategory","items":[{"type":"link","url":"/customer-groups-api/how-to-use-it","title":"Use Customer Groups"}],"title":"Customer Groups","url":"/customer-groups-api/what-it-does"},{"id":"1sYaoLP7iJ1tVaklA24liK","type":"subcategory","items":[{"type":"link","url":"/customer-segments-api/how-to-use-it","title":"Use Customer Segments"}],"title":"Customer Segments","url":"/customer-segments-api/what-it-does"},{"id":"JVl8yM8tzLNaxzj7qZtMM","type":"subcategory","items":[{"type":"link","url":"/loyalty/overview","title":"Loyalty Program Overview"},{"type":"link","url":"/loyalty-api/loyalty-programs","title":"Retrieve Loyalty Program"},{"type":"link","url":"/loyalty-api/loyalty-promotions","title":"Manage Loyalty Promotions"},{"type":"link","url":"/loyalty-api/loyalty-accounts","title":"Create and Retrieve Loyalty Accounts"},{"type":"link","url":"/loyalty-api/loyalty-points","title":"Manage Loyalty Points"},{"type":"link","url":"/loyalty-api/loyalty-rewards","title":"Manage Loyalty Rewards"},{"type":"link","url":"/loyalty-api/loyalty-events","title":"Search for Loyalty Events"},{"id":"1y9o6Z4aUBI2x7iBbs7dem","type":"subcategory","items":[{"type":"link","url":"/loyalty-api/walkthrough1/setup-loyalty-program","title":"Set up a Loyalty Program"},{"type":"link","url":"/loyalty-api/walkthrough1/enroll-buyer","title":"Enroll a Buyer"},{"type":"link","url":"/loyalty-api/walkthrough1/accrue-points","title":"Accumulate Points"},{"type":"link","url":"/loyalty-api/walkthrough1/redeem-points","title":"Redeem Points"}],"title":"Loyalty Walkthrough 1","url":"/loyalty-api/walkthrough1"},{"id":"11C6YxWjq6Ln0oPvOntZIE","type":"subcategory","items":[{"type":"link","url":"/loyalty-api/walkthrough2-setup-loyalty-program","title":"Set up a Loyalty Program"},{"type":"link","url":"/loyalty-api/walkthrough2-enroll-buyer","title":"Enroll a Buyer"},{"type":"link","url":"/loyalty-api/walkthrough2-accrue-points","title":"Adjust Points"},{"type":"link","url":"/loyalty-api/walkthrough2-redeem-points","title":"Redeem Points"}],"title":"Loyalty Walkthrough 2","url":"/loyalty-api/walkthrough2"}],"title":"Loyalty","url":"/loyalty-api/overview"},{"id":"SkbBIiQbMBmohDyoTixOJ","type":"subcategory","items":[{"type":"link","url":"/gift-cards/sell-gift-cards","title":"Sell Gift Cards"},{"type":"link","url":"/gift-cards/reload-gift-cards","title":"Reload Gift Cards"},{"type":"link","url":"/gift-cards/redeem-gift-cards","title":"Redeem Gift Cards"},{"type":"link","url":"/gift-cards/retrieve-gift-cards-and-activities","title":"Retrieve Gift Cards and Track Activity"},{"type":"link","url":"/gift-cards/manage-gift-cards-on-file","title":"Manage Gift Cards on File"},{"id":"6jk6v9WCq58u7FwD9THjoZ","type":"subcategory","items":[{"type":"link","url":"/gift-cards/walkthrough-1-with-orders-api","title":"Sell a Gift Card (Orders API Integration)"},{"type":"link","url":"/gift-cards/walkthrough-1-without-orders-api","title":"Sell a Gift Card (Custom Processing System)"}],"title":"Walkthrough 1: Sell a Gift Card","url":"/gift-cards/walkthrough-1"},{"id":"3dKyCAtUVMdrXS6NlwDLHz","type":"subcategory","items":[{"type":"link","url":"/gift-cards/walkthrough-2-orders-and-payments-integration","title":"Use a Gift Card (Orders and Payments APIs Integration)"},{"type":"link","url":"/gift-cards/walkthrough-2-custom-processing-system","title":"Use a Gift Card (Custom Processing System)"}],"title":"Walkthrough 2: Use a Gift Card","url":"/gift-cards/walkthrough-2"},{"type":"link","url":"/gift-cards/webhooks","title":"Webhooks"}],"title":"Gift Cards","url":"/gift-cards/using-gift-cards-api"}],"title":"Customers","url":"/customers"},{"id":"1ThKdZQl6m1Eioed7ZwOsS","type":"subcategory","items":[{"type":"link","url":"/staff","title":"Overview"},{"id":"6mOVdvn1uSAoAb8iJaDzEo","type":"subcategory","items":[{"type":"link","url":"/staff/scenarios/tip-reporting","title":"Build a Tip Report"},{"type":"link","url":"/staff/scenarios/split-online-payment","title":"Split an Online Payment"},{"type":"link","url":"/staff/scenarios/simple-sales-report","title":"Build a Sales Report"}],"title":"Technical Scenarios","url":"/staff/scenarios"},{"id":"2nH2TMoml4cRDkyaLvM892","type":"subcategory","items":[{"type":"link","url":"/team/integration","title":"Integration Guide"},{"type":"link","url":"/team/troubleshooting","title":"Troubleshoot Team API"}],"title":"Team","url":"/team/overview"},{"id":"4onB3obwWl1foVPal7Sq8X","type":"subcategory","items":[{"type":"link","url":"/labor-api/build-with-labor","title":"Build with Labor"},{"type":"link","url":"/labor-api/cookbook/add-shift-breaks","title":"Add Shift Breaks"},{"type":"link","url":"/labor-api/cookbook/get-completed-shifts","title":"Get Completed Shifts"},{"type":"link","url":"/labor-api/how-it-works","title":"How It Works"},{"type":"link","url":"/labor-api/troubleshooting","title":"Troubleshoot"},{"type":"link","url":"/labor-api/webhooks","title":"Webhooks"}],"title":"Labor","url":"/labor-api/what-it-does"}],"title":"Staff","url":"/staff"},{"id":"5BHWPSspAJWZD75mfWezwx","type":"subcategory","items":[{"type":"link","url":"/merchant-details","title":"Overview"},{"id":"3OwozWeQAYofh9tmoyrEPq","type":"subcategory","items":[{"type":"link","url":"/merchants/scenarios/tip-reporting","title":"Build a Tip Report"},{"type":"link","url":"/merchants/scenarios/split-online-payment","title":"Split an Online Payment"},{"type":"link","url":"/merchants/scenarios/simple-sales-report","title":"Build a Sales Report"}],"title":"Technical Scenarios","url":"/merchants/scenarios"},{"type":"link","url":"/merchants-api","title":"Merchants"},{"id":"3busOpLCt9zKcYBv4DnkxZ","type":"subcategory","items":[{"type":"link","url":"/merchant-custom-attributes-api/custom-attribute-definitions","title":"Define Custom Attributes for Merchants"},{"type":"link","url":"/merchant-custom-attributes-api/custom-attributes","title":"Use Custom Attributes for Merchants"}],"title":"Merchant Custom Attributes","url":"/merchant-custom-attributes-api/overview"},{"type":"link","url":"/locations-api","title":"Locations"},{"id":"3OtQbV9DLTefjKNm185T2k","type":"subcategory","items":[{"type":"link","url":"/location-custom-attributes-api/custom-attribute-definitions","title":"Define Custom Attributes for Locations"},{"type":"link","url":"/location-custom-attributes-api/custom-attributes","title":"Use Custom Attributes for Locations"}],"title":"Location Custom Attributes","url":"/location-custom-attributes-api/overview"}],"title":"Merchants","url":"/merchant-details"},{"type":"divider","style":"divider"},{"id":"2FhNpYU8iPn0qCJYFJureL","type":"subcategory","items":[{"id":"4dMAnH4WGqOuZx7AQsbW6W","type":"subcategory","items":[{"type":"link","url":"/app-marketplace/what-should-i-build","title":"What Should I Build?"},{"id":"PkhOF4kBMi8AcjqYu6NjO","type":"subcategory","items":[{"type":"link","url":"/app-marketplace/requirements/general","title":"General"},{"type":"link","url":"/app-marketplace/requirements/oauth-api","title":"OAuth API"},{"type":"link","url":"/app-marketplace/requirements/locations-api","title":"Locations API"},{"type":"divider","style":"divider"},{"type":"link","url":"/app-marketplace/requirements/app-subscriptions","title":"App Subscriptions"},{"type":"link","url":"/app-marketplace/requirements/bookings-api","title":"Bookings API"},{"type":"link","url":"/app-marketplace/requirements/catalog-api","title":"Catalog and Inventory API"},{"type":"link","url":"/app-marketplace/requirements/customers-api","title":"Customers API"},{"type":"link","url":"/app-marketplace/requirements/invoices-api","title":"Invoices API"},{"type":"link","url":"/app-marketplace/requirements/gift-cards-api","title":"Gift Cards API"},{"type":"link","url":"/app-marketplace/requirements/labor-api","title":"Labor API"},{"type":"link","url":"/app-marketplace/requirements/loyalty-api","title":"Loyalty API"},{"type":"link","url":"/app-marketplace/requirements/orders-api","title":"Orders API"},{"type":"link","url":"/app-marketplace/requirements/payments-api","title":"Payments"},{"type":"link","url":"/app-marketplace/requirements/payouts-api","title":"Payouts API"},{"type":"link","url":"/app-marketplace/requirements/snippets-api","title":"Snippets API"},{"type":"link","url":"/app-marketplace/requirements/subscriptions-api","title":"Subscriptions API"},{"type":"link","url":"/app-marketplace/requirements/team-api","title":"Team API"},{"type":"link","url":"/app-marketplace/requirements/terminal-api","title":"Terminal API"},{"type":"link","url":"/app-marketplace/requirements/webhooks","title":"Webhooks"}],"title":"Requirements","url":"/app-marketplace/requirements"},{"type":"link","url":"/app-marketplace/video-submission","title":"Video Submission Requirements"},{"id":"24UhdFmhHPDXsMEzIJ6OG4","type":"subcategory","items":[{"type":"link","url":"/app-marketplace/listing-best-practices/basics","title":"Basic Information"},{"type":"link","url":"/app-marketplace/listing-best-practices/details","title":"Details"},{"type":"link","url":"/app-marketplace/listing-best-practices/get-started","title":"Get Started"},{"type":"link","url":"/app-marketplace/listing-best-practices/pricing","title":"Pricing"},{"type":"link","url":"/app-marketplace/listing-best-practices/brand-and-images","title":"Brand and Images"},{"type":"link","url":"/app-marketplace/listing-best-practices/support-information","title":"Support Information"}],"title":"Create an App Marketplace Listing","url":"/app-marketplace/listing-best-practices"},{"type":"link","url":"/app-marketplace/app-reviews","title":"App Marketplace Reviews"},{"type":"link","url":"/app-marketplace/rev-share","title":"App Marketplace Revenue Sharing"},{"type":"link","url":"/app-marketplace/faq","title":"App Marketplace Frequently Asked Questions"},{"id":"1el38dmWf4nbVIBAf60U2Q","type":"subcategory","items":[{"type":"link","url":"/app-marketplace/app-subscriptions/billing","title":"App Subscriptions Billing"}],"title":"App Subscriptions","url":"/app-marketplace/app-subscriptions"}],"title":"App Marketplace","url":"/app-marketplace"}],"title":"Publish","url":"/app-marketplace"},{"type":"divider","style":"space"},{"type":"divider","style":"divider"},{"id":"347zcabrwZkdfbgVsDmSBO","type":"subcategory","items":[{"type":"link","url":"/release-notes","title":"Overview"},{"type":"link","url":"/changelog/connect","title":"Square APIs and SDKs"},{"type":"link","url":"/changelog/mobile","title":"Mobile SDKs"},{"id":"6QrXNH8opd01JmuzgLjUXU","type":"subcategory","items":[{"type":"link","url":"/changelog/webpaymentsdk","title":"Web Payments SDK"},{"type":"link","url":"/changelog/paymentform","title":"Payment Form"}],"title":"Web SDKs","url":"/changelog/websdks"},{"type":"link","url":"/changelog/requirements","title":"App Marketplace Requirements"}],"title":"Release notes","url":"/release-notes"}]}},"notFound":false,"preview":false,"didRedirect":false}},"_sentryTraceData":"ea101f97fd59435da434ad1f74d0a19d-896aa33fca591fdb-1","_sentryBaggage":"sentry-environment=production,sentry-release=b19e9bf6c2e7608b1a09ca60e575f7c7a0540e24,sentry-public_key=94d09c8eb5834eb282d762cecbbd40e6,sentry-trace_id=ea101f97fd59435da434ad1f74d0a19d,sentry-sample_rate=1,sentry-transaction=%2Fdocs%2F%5B%5B...slug%5D%5D,sentry-sampled=true"}},"page":"/docs/[[...slug]]","query":{"slug":["devtools","customattributes","overview"]},"buildId":"b19e9bf6c2e7608b1a09ca60e575f7c7a0540e24","assetPrefix":"https://dex-tech-fe-production-c.squarecdn.com/main","isFallback":false,"gip":true,"scriptLoader":[]}</script></body></html>