# MiniApp Document Schema Every MiniApp is a single document with these top-level fields: | Field | Type | Required | Description | | --- | --- | --- | --- | | `ns` | string | ✅ | Unique namespace identifier (lowercase, kebab) | | `name` | string | ✅ | Internal name (usually same as `ns`) | | `type` | string | ✅ | Type identifier (usually same as `ns`) | | `title` | string | ✅ | Display title in the Marketplace | | `label` | string | ✅ | Short label | | `description` | string | ✅ | Full description (supports markdown) | | `shortDescription` | string | ✅ | One-line summary | | `status` | string | ✅ | `'public'` or `'private'` | | `version` | string | ✅ | Semantic version (e.g., `'1.0.0'`) | | `category` | string | ✅ | Category for Marketplace filtering | | `icon` | string | ✅ | Icon URL (SVG recommended) | | `logo` | string | ✅ | Logo URL | | `docsUrl` | string | ✅ | Link to your documentation | | `youtubeId` | string | — | YouTube tutorial video ID | | `auth` | object | ✅ | Authentication configuration | | `actions` | array | — | Executable actions (API calls) | | `triggers` | array | — | Webhook event triggers | | `webhook` | object | — | Webhook processing configuration | | `sync` | object | — | Bulk import + `sync.webhooks` realtime sync | | `source` | object | — | Dynamic data source (RPC) definitions | ### Categories Use one of the following category values: | Category | Description | | --- | --- | | `ecommerce` | E-commerce platforms | | `productivity` | Productivity & project management | | `communication` | Chat, messaging, email | | `marketing` | Marketing & analytics | | `developer` | Developer tools & DevOps | | `payment` | Payment gateways | | `social` | Social media platforms | | `storage` | File storage & management | | `analytics` | Analytics & reporting | | `crm` | CRM & customer management |