List the store's Apps
Every App the caller may see, with where it stands for this store.
List the store's Apps › Responses
The Apps, in catalog order
successGet the Meta App
The store's Meta pixel and conversions setup, or null when the Meta App is not set up. The access token is never returned — only a masked hint.
Get the Meta App › Responses
The Meta App's setup (null when not set up)
successdataMeta pixel tracking configuration for server-side conversion events
Set up the Meta App
Sets up the Meta App, or changes its setup. conversionEvent is required — the merchant chooses whether conversions optimize for Lead (sent at order placement, deduplicated with the browser pixel) or a Purchase stage. An empty accessToken keeps the stored token; omitting perPageTrackingEnabled keeps the stored switch.
Set up the Meta App › Request Body
pixelIdconversionEventadAccountNameaccessTokenMeta access token. Empty string keeps the stored token (it is never sent back).
testEventCodetestModeenabledperPageTrackingEnabledMaster switch for per-landing-page pixels. Omitted keeps the stored value — an unrelated edit must not return every landing page to the store pixel.
Set up the Meta App › Responses
The Meta App's setup
successdataMeta pixel tracking configuration for server-side conversion events
Remove the meta App
Set up the DZVerify App
Sets up DZVerify, or changes its setup. An empty apiKey keeps the stored key; with no key stored or sent, it is refused.
Set up the DZVerify App › Request Body
apiKeydzverify API key. Empty string keeps the stored key (it is never sent back).
languageenabledSet up the DZVerify App › Responses
The DZVerify App's setup
successdataRemove the dzverify App
Set up the Turnstile App
Sets up Turnstile, or changes its setup. An empty siteKey or secretKey keeps the stored one; with either missing altogether, it is refused.
Set up the Turnstile App › Request Body
siteKeyPublic Turnstile site key. Empty string keeps the stored one.
secretKeySiteverify secret key. Empty string keeps the stored one (it is never sent back).
enabledSet up the Turnstile App › Responses
The Turnstile App's setup
successdataRemove the turnstile App
Set up the Sendili App
Sets up Sendili, or changes its setup. An empty apiKey keeps the stored key; with no key stored or sent, it is refused.
Set up the Sendili App › Request Body
fromEmailSender address — its domain must be verified in the Sendili workspace.
apiKeySendili API key. Empty string keeps the stored key (it is never sent back).
fromNameOptional sender display name (e.g. the store name).
enabledSet up the Sendili App › Responses
The Sendili App's setup
successdataRemove the sendili App
Set up the WhatsApp button App
Replaces the whole configuration — a key you omit takes its default rather than keeping the stored value, so what the screen shows is what the store gets.
The number is normalised here, once. Send it however the merchant typed it; it is stored in E.164 and every reader downstream sees the same string.
Switching the button on without a number is refused (PHONE_REQUIRED): it would leave the merchant looking at an "on" switch and a storefront with no button.
Unknown keys are refused rather than ignored, so a typo cannot silently vanish. Every problem is reported at once in context.issues.
Saving the defaults clears the stored configuration entirely, as removing the App does.
Turning every surface off is accepted — it is a deliberate "paused" state and keeps the merchant's text.
Set up the WhatsApp button App › Request Body
Set up the WhatsApp button App › Responses
Its setup
successRemove the whatsapp-button App
Test the DZVerify key
Checks the stored (or sent) dzverify API key against the provider's quota. A key lacking the usage:read scope is valid with its quota unavailable. A refusal is a 200 with ok: false — the check itself worked.
Test the DZVerify key › Request Body
apiKeyTest this key instead of the stored one (before saving it).
Test the DZVerify key › Responses
What dzverify answered
successTest the Sendili key
Checks the stored (or sent) Sendili API key and answers the verified sending domains for the from-address picker. A refusal is a 200 with ok: false — the check itself worked.
Test the Sendili key › Request Body
apiKeyTest this key instead of the stored one (before saving it).
Test the Sendili key › Responses
What Sendili answered
successTranslate a whatsapp button into one language
A JSON Merge Patch (RFC 7396) of one language: a string sets a field, null removes its translation, other fields are untouched. The language must be one the store has added, and not its primary — the resource's own fields hold that.
Translate a whatsapp button into one language › Request Body
localeTranslate a whatsapp button into one language › Responses
Source and translations after the patch
successGet the Telegram App
The store's bot, its connected chat, which events it tells and in which language, or null before a bot was ever saved. The token is never returned — only a masked hint.
Get the Telegram App › Responses
The Telegram App (null when never set up)
successdataChange the Telegram App
Which events the bot tells, in which language, and on or off. A change of events applies to what is recorded from then on.
Change the Telegram App › Request Body
eventsThe Event Types the bot tells, one or more
languageThe language messages are written in; null for the store's primary language
enabledOn or off. Turning it on needs a connected chat.
Change the Telegram App › Responses
The Telegram App
successdataRemove the telegram App
Asks Telegram to stop sending the bot's updates (deleteWebhook), then forgets the bot: its token, its secret and its chat. Its Consumer stays, stopped, with its delivery history. The bot is forgotten even when Telegram cannot be told; updatesStopped: false says so.
Remove the telegram App › Responses
Removed
successSave the Telegram bot
Checks the token with Telegram (getMe), has Telegram send the bot's updates to this server (setWebhook, with a secret), and only then keeps it. Nothing is kept when either step fails. The same bot keeps its connected chat; another bot needs a chat connected again.
Save the Telegram bot › Request Body
tokenThe bot token @BotFather gave. Checked with Telegram before anything is kept; never sent back.
Save the Telegram bot › Responses
The Telegram App
successdataGet the Reviews App
The store's rules for its customers' reviews: whether it takes them, what a shopper may send, and what publishes without checking.
Get the Reviews App › Responses
The review rules
successSet the Reviews App's rules
Changes the rules given and keeps the others. Reviews already received keep the status they have.
Set the Reviews App's rules › Request Body
enabledWhen false, reviews are hidden on the storefront and shoppers cannot send one
maxPhotosPhotos a shopper may add to a review, 0 (none) to 6
Longest voice note a shopper may add, in seconds (30, 60, 90, 120); null = no voice notes
autoPublishWhich shopper reviews publish without checking: none (off), text-only ones (text_only: anything with a photo or voice note waits), or all
Set the Reviews App's rules › Responses
The review rules now in force
success