Skip to main content
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

Only three fields are required — 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 in scopes[] 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.
Request the minimum. The merchant sees exactly these on the consent screen — every extra action is one more thing they have to trust you with, and one more reason to hesitate before installing. Your API key is minted to match, so anything you didn’t ask for, you can’t do. The example above requests read on 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 a checkout 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 under webhooks.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

Run sentralbee 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