Apps & Plugins
Give Feedback

Manifest

Updated on July 14, 2026

The manifest is the declarative contract for an app/plugin — identity, capabilities, scopes, and Store hints. Platform rejects installs that diverge from the signed manifest version.

Required top-level fields (structure)

Field Purpose
id / slug Stable app identifier
name Display name
version Semver of this manifest
publisher Publisher org id
runtime hosted | https endpoint config
scopes Requested OAuth / install scopes
capabilities UI slots, actions, events
webhooks Event subscriptions
store Listing defaults (category, privacy)

Example (placeholder)

{
  "slug": "rfx-aging-alerts",
  "name": "RFX aging alerts",
  "version": "0.1.0",
  "runtime": {
    "type": "https",
    "base_url": "https://apps.example.com/tradeics/rfx-aging"
  },
  "scopes": ["s2p:read"],
  "capabilities": {
    "ui": [{ "slot": "s2p.rfx.list.toolbar", "entry": "/ui/toolbar" }],
    "actions": [{ "id": "scan_aging", "title": "Scan aging RFXs" }]
  },
  "webhooks": ["rfx.updated"],
  "store": {
    "visibility": "private",
    "pricing": "free"
  }
}

Versioning rules

  • Additive capabilities: minor bump.
  • Scope expansion: requires re-consent on install.
  • Breaking handler URLs: major bump + migration notes.

Next