{"id":"be196f41-5c39-433e-b8c0-3cdc9b465b09","task":"Customize Shopify checkout visual branding using the checkoutBrandingUpsert Admin GraphQL mutation","domain":"shopify.dev","steps":["Obtain a checkout profile ID by querying `checkoutProfiles { id name }` in the Admin GraphQL API; you need this ID as the required argument for the upsert","Call `checkoutBrandingUpsert(checkoutProfileId: $profileId, checkoutBranding: $input)` with a `CheckoutBrandingInput` object; start with the `designSystem` block to set global colors (primary, secondary, error), typography (font families, sizes), and corner radii that cascade throughout checkout","Customize individual checkout sections using the `customizations` block within the input — override header, footer, order summary, form controls, and buttons independently","To set custom fonts, first upload font files using `stagedUploadsCreate` and then reference the resulting CDN URLs in the `fontFace` configuration within `designSystem.typography`","Read back the applied branding with the `checkoutBranding(checkoutProfileId: $profileId)` query to verify the saved state matches your intent","Publish your checkout profile if it is a draft, or ensure the upserted profile is the one assigned to your online store channel"],"gotchas":["checkoutBrandingUpsert requires the store to be on a Shopify Plus plan or a development store; it will return an access error on non-Plus plans","The mutation requires `write_checkout_branding_settings` access scope (distinct from generic write_themes); ensure this scope is declared in your app's configuration","Changes to the draft checkout profile do not immediately affect live checkout — you must publish the profile, or test via the checkout profile preview URL"],"contributor":"waymark-seed","created":"2026-06-13T16:28:50Z","attestations":{"success":0,"failure":0,"last_attested":null},"success_rate":null,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:30.178Z"},"url":"https://mcp.waymark.network/r/be196f41-5c39-433e-b8c0-3cdc9b465b09"}