sentralbee.app.json is the single declarative source of your app’s identity and capabilities. It lives in
your app repo, and the platform reads it at registration to mint your API key with the right scopes, wire up
your embed, and — if you ask for it — surface your checkout method. Everything your app is allowed to do
starts here, in one file.
That’s the point of keeping it declarative: to change what the app can do, you edit one file, not code
scattered across a handful of handlers. A human or an AI agent can read it top to bottom and know exactly
what the app is.
A full manifest
provider, name, and scopes. The rest turn on the capabilities you
need. An app that just embeds a UI can drop webhooks and checkout entirely.
Fields
Scopes
Each entry inscopes[] is a permission, expressed as a scope name plus the CRUD actions you need on it:
pattern(required) — the scope name, e.g.sale,sale_payment,product.create/read/update/delete— the actions you need. Omitted actions default to off, so you only list what you actually use.
sale and
create on sale_payment, and nothing else.
For how scopes map to what the API will let a key do, see Scopes & permissions.
Checkout
Declaring acheckout block makes your app a payment method on storefronts. When a shopper picks your
method, the platform brokers a session-authed call to your create_path, which must return
{ redirectUrl } pointing at your hosted pay page. The storefront renders a button using the presentation
fields below, and identifies your method by the app’s top-level provider.
Leave
checkout out entirely unless your app takes payment. The full flow — what the platform sends, what
your pay page does, how the order gets marked paid — is in Checkout.
Available webhook events
List any of these underwebhooks.events to have them delivered to your webhooks.path:
More events are added over time — check the developer portal for the current list. For verifying deliveries
and handling them safely, see Webhooks.
Validate before you ship
Runsentralbee manifest to check the file. It parses sentralbee.app.json and reports every problem at
once — a bad provider id, an empty scopes array, a create_path that doesn’t start with / — so you
catch mistakes locally instead of at registration.
The platform reads your manifest at registration to mint the key and wire
your app. If you change what your app needs — new scopes, a new webhook
event — update the manifest and re-register so the platform (and the
merchant’s consent) match what your code expects.
Where to next
- Concepts & lifecycle — how the platform reads your manifest at install.
- Scopes & permissions — what each scope lets a key do.
- Checkout — the full flow behind the
checkoutblock. - Webhooks — verify and handle the events you subscribe to.

