AppbrewDevelopers
Reference
For partner devs

Manifest schema

Field-by-field reference for the integration manifest.

Every integration package declares a manifest under the appbrew key of its package.json. The manifest is what surfaces your integration to merchants: the settings form they fill in, where those values land in app config, and whether enabling the integration needs an app release. The integrations model explains how it fits together.

Manifest fields

Prop

Type

Setting fields

Each entry in settings:

Prop

Type

A complete example

package.json
{
  "name": "@app-brew/acme-reviews",
  "appbrew": {
    "configKey": "acme-reviews",
    "requiresNativeBuild": false,
    "settings": [
      { "key": "apiKey", "title": "API key", "type": "text", "secret": true },
      { "key": "storeId", "title": "Store ID", "type": "text" },
      {
        "key": "widgetPosition",
        "title": "Widget position",
        "type": "select",
        "required": false,
        "options": [
          { "id": "above-description", "label": "Above description" },
          { "id": "below-description", "label": "Below description" }
        ]
      }
    ]
  }
}

Your code reads the values merchants enter through useIntegrationSettings('<configKey>'). See Build an integration.

Validating

Validate your manifest with the platform schema before publishing:

import { IntegrationManifestSchema } from '@gauntlet/schemas'

IntegrationManifestSchema.parse(require('./package.json').appbrew)

On this page