list_theme_properties
List the design and label properties a checkout page, event or form can override, with their value format and allowed values. A property with a fixed default (every label, and a few other properties) lists it; the others follow the page's theme. Read-only, from a fixed list of about 800 properties: narrow it with group, prefix or a search of one or two words, such as button radius or pay button color, since the whole list, or the whole elements group, is too long to read at once. A search lists the properties that match every word or, when none do, those that match any word, best match first, and at most 40 of them: total counts every match, and note says when to narrow the search or which word matched nothing.
prefix takes the path of the part of the page you are changing. elements.product.* is the product column (title, logo, pricing, pricePicker for the price options), elements.checkout.* the checkout column (cards, variants, ticketGroups, pwyw, confirmation), and elements.checkout.form.* the form (fields, button, priceBreakdown, paymentDetails, discountCode, manualPayments). The tokens, layout and labels groups are small enough to list whole.
Set them under themeOverrides on create_checkout_page, update_checkout_page, create_event, update_event, create_form and update_form, nested by path: tokens.colorPrimary is { "tokens": { "colorPrimary": { "light": "#1A73E8" } } }. Keys you leave out keep their value, and null resets a property, or everything under a key, to the theme default. Labels are the text customers see, so translate a page by setting them. hostedLayoutType (center, double or split) picks the page layout; layout.* properties style the layout they name.
Value formats by type:
color:
{ "light": ..., "dark": ... }, one color for light and one for dark color mode. The page shows the one for its color mode,tokens.colors. Either can be left out. Each is any CSS color value, for example#1A73E8,rgb(26 115 232),hsl(214 82% 51%)or a named color such asnavy. The API refuses;,{,},<and>but doesn't check that the value is a valid color: an invalid one is stored, and the browser ignores it on the page.font: a Google Fonts family name, such as
Inter.size, fontSize: a number of pixels, or
""for Auto whenoptionslists it.fontWeight: 100 to 900 in steps of 100.
toggle:
trueorfalse.image:
{ "file": "<id>" }, the ID of an image uploaded with upload_file.text: plain text or inline markdown, no HTML.
customCsstakes CSS instead.select, shadow, alignment, fontStyle: one of
options. When a property hasoptions, only those values are accepted.
customCss needs a plan that includes custom CSS, and the Powered by Checkout Page and Powered by Stripe badges can only be changed with a paid subscription. A null reset works on any plan.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| group | No | Only list one group. `tokens`: brand colors, fonts and corner radius used across the page. `layout`: backgrounds, images and column settings of each hosted layout. `labels`: the text customers see, which is also where translations go. `elements`: styling of single parts of the page, such as the title, price options, variants, form fields, pay button and trust badges. `customCss`: CSS added to the page, for changes the other properties cannot make. | |
| prefix | No | Only list the properties under this path, matched on whole segments, for example `elements.product.pricePicker` or `elements.checkout.form.button`. The cheapest way to read the properties of one part of the page. | |
| search | No | One or two words for what you are changing, for example `button radius`, `pay button color` or `heading font`, or a path or key such as `colorPrimary`. Each word matches the start of a word in the property path or description, case-insensitively, so `radi` finds `borderRadius`. Common words such as `corner`, `rounded`, `pay button` and `colour` find the properties they mean. Lists the properties that match every word or, when none do, those that match any word, best match first, and at most 40 of them. Words such as `the`, `on` or `make` are ignored. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| data | Yes | The theme properties the page tools accept under `themeOverrides`. | |
| note | No | Set when a search was cut to its best matches, matched only some of its words, or had a word nothing matches: what to change in the next call. | |
| total | Yes | Number of properties that match. A search returns at most the best 40, so `total` can be more than the rows in `data`. |