← Back to the developers overview
Extension manifest fields
code, version, platform, capabilities, entrypoints, settings_schema and the other required fields.
Every field below is required. Unknown fields are not allowed.
- code — 2–120 characters: lowercase latin letters, digits, “.”, “_”, “-”; starts with a letter or digit. E.g. acme.delivery.
- name, vendor — package and developer name, up to 180 characters.
- version — SemVer: 1.4.0 or 2.0.0-beta.1.
- platform — compatible Tobto.shop versions: "^1.0" or ">=1.0.1 <2.0".
- trust_level — community for third-party developers (official and verified are for publishers vetted by Tobto.shop).
- capabilities — 1 to 16 from a closed list: catalog.read, payment.intent.create, payment.webhook.handle, payment.refund.create, payment.reconcile, shipping.quote, shipping.shipment, shipping.labels, shipping.tracking, fiscal.receipt.issue, fiscal.refund.issue, fiscal.reconcile, marketplace.yml.export, marketplace.yml.diagnostics, mcp.catalog.read, mcp.cart.create.
- entrypoints — an object mapping each capability to a fully-qualified PHP class; its keys must equal capabilities exactly.
- permissions — admin permissions the extension adds (up to 100), e.g. settings.fiscal.manage.
- hooks — events the extension subscribes to (up to 100).
- settings_schema — JSON Schema of the settings: type "object", additionalProperties false, types string, integer, number, boolean. Secrets use format "password" together with writeOnly: true.
- migrations — list of *.migration.json paths (may be empty).
- safe_mode_compatible — true when the extension can run in the store’s safe mode.
Example (abridged, from the official Checkbox extension):
{
"code": "checkbox",
"name": "Checkbox",
"vendor": "LaraCart",
"version": "1.0.1",
"platform": "^1.0",
"trust_level": "official",
"capabilities": ["fiscal.receipt.issue", "fiscal.refund.issue", "fiscal.reconcile"],
"permissions": ["settings.fiscal.manage"],
"hooks": ["fiscal.before_issue"],
"entrypoints": {
"fiscal.receipt.issue": "LaraCart\\Official\\Checkbox\\CheckboxProvider",
"...": "..."
},
"settings_schema": {
"type": "object",
"additionalProperties": false,
"required": [],
"properties": {}
},
"migrations": [],
"safe_mode_compatible": false
} Third-party browser scripts (browser_origins) are allowed only for official or verified packages with manifest_contract_version: 3. A community package that declares browser_origins fails the checks.