Skip to content
PlugPlayground
Curated vendor-hosted apps. No third-party code runs on PlugPlayground.
Developer platform

Build the app. Reuse the marketplace layer.

Keep your application vendor-hosted while PlugPlayground handles discovery, consent, organization installation, entitlements, billing, and lifecycle events.

plug.json
{
  "$schema": "https://plugplayground.com/schemas/plug-v1.json",
  "schemaVersion": "1.0",
  "appId": "com.acme.project-insights",
  "version": "1.4.0",
  "vendor": {
    "domain": "acme.example",
    "jwksUri": "https://acme.example/.well-known/jwks.json"
  },
  "oauth": {
    "redirectUris": [
      "https://app.acme.example/oauth/plugplayground/callback"
    ],
    "tokenEndpointAuthMethod": "private_key_jwt"
  },
  "permissions": [
    {
      "scope": "projects:read",
      "reason": "Display selected project summaries"
    }
  ]
}

Platform primitives

The distribution infrastructure most apps should not rebuild

Use open standards and familiar tooling, with security controls enforced at marketplace boundaries.

Signed app manifest

A versioned, immutable declaration of endpoints, permissions, compatibility, and data handling.

Standards-based authorization

Authorization Code with PKCE, exact redirect matching, audience restriction, and asymmetric client authentication.

Lifecycle webhooks

Signed installation, entitlement, suspension, and uninstall events with replay protection.

Entitlements

Short-lived signed assertions and server APIs for plan, feature, and status checks.

Review automation

Manifest, redirect, endpoint, scope-diff, TLS, asset, and policy validation before human review.

Distribution and billing

Curated listing, trials, hosted checkout, subscriptions, vendor onboarding, fees, and payouts.

Publish safely

A manifest that becomes a reviewed contract

The approved manifest is canonicalized, hashed, and immutable for the life of a published version.

Only HTTPS vendor endpoints and exact redirect URIs are accepted.

All endpoint domains must be verified and are screened against internal network targets.

Every permission requires a plain-language reason visible to administrators.

Adding permissions, redirect URIs, or data handling requires review; permission increases require re-consent.

Published versions can be deprecated or revoked, but cannot be silently rewritten.

CLI workflow

plug login
plug init
plug manifest validate
plug app create
plug version push
plug version submit
plug version status
plug webhooks listen

The repository includes a typed manifest contract and API surface. The production CLI is intentionally versioned separately so vendor automation can evolve without coupling to the web release cycle.

API design

Predictable contracts for automation

Consistent problem responses, idempotency keys, cursor pagination, request IDs, scoped credentials, and explicit versions.

GET/api/v1/appsSearch published apps
POST/api/v1/vendor/appsCreate an app draft
POST/api/v1/vendor/apps/{appId}/versionsCreate an immutable version draft
POST/api/v1/installationsRequest or create an installation
GET/api/v1/installations/{id}/entitlementRetrieve a signed entitlement
DELETE/api/v1/installations/{id}Revoke and uninstall