Apps

Fields

id

stringrequired

ID of the app, used to identify itself in code. For example, my_app.

name

stringrequired

Name of the app.

type

string

Type of the app. Some configurations apply differently based on the type of app, for example, theme apps cannot define models, content, functions, or settings.

  • admin: Enhances functionality of the Swell Admin dashboard or API.
  • integration: Integrates with an external service. E.g., an email provider or payment gateway.
  • storefront: Implements a storefront experience. E.g., a store website, page builder, or checkout.
  • theme: A theme created for a specific storefront app, for example Proxima.
  • channel: Implements an external sales channel. E.g. Amazon marketplace.

version

string

Semver-formatted version number. This value can be automatically incremented using the swell app version CLI command. Defaults to "1.0.0".

description

string

A brief description of the app.

permissions

array of permission

Restricts access to store data. Defaults to [], meaning full-access permissions.

storefront

object

For storefront apps only, configures storefront properties including menu and theme structure.

theme

object

For theme apps only, configures theme properties including storefront app compatibility and style presets.

preview_src

string

Relative path of an image asset representing the main desktop preview of the app in the App Store catalog. For example, assets/preview-desktop.jpg.

preview_mobile_src

string

Relative path of an image asset representing the main mobile preview of the app in the App Store catalog. For example, assets/preview-mobile.jpg.

highlights

array of highlight

List of feature highlights to display for the app in the App Store catalog.

features

array of features

List of enumerated features to associate with in the App Store catalog. Some features are generally specific to storefronts and themes.

  • multi_currency: Multi-currency apps support selling in multiple currencies.
  • multi_language: Multi-language apps support selling in multiple languages.
  • bulk_pricing: Bulk pricing apps support selling in bulk.
  • account_pricing: Account pricing apps support selling to different customer groups.

More feature enumerations are coming soon.

use_cases

array of use_case

List of enumerated use-cases to associate with in the App Store catalog.

  • direct_to_consumer: Direct to consumer apps are designed for selling directly to consumers.
  • wholesale: Wholesale apps are designed for selling to other businesses.
  • marketplace: Marketplace apps are designed for selling products from multiple vendors.
  • digital_goods: Digital goods apps are designed for selling digital products.

More use-case enumerations are coming soon.

purchase_options

array of purchase_option

For storefront and theme apps only, list of enumerated purchase-options to associate with in the App Store catalog.

  • standard: Sell one-time purchases.
  • subscription: Sell recurring purchases on a schedule.
  • preorder: Sell products before they're available for delivery.

More purchase-option enumerations are coming soon.

The swell.json model
{
  "id": "honest_reviews",
  "name": "Honest Reviews",
  "description": "Honest reviews from honest people",
  "version": "1.0.6",
  "type": "admin",
  "permissions": [
    "public",
    "read_orders",
    "write_products",
    "write_accounts"
  ]
}