Schematic · Schema

Schematic Plan

A subscription plan in Schematic that bundles features and entitlements for customer billing.

BillingEntitlementsFeature FlagsFeature ManagementFinOpsMeteringPricingSaaS

Properties

Name Type Description
id string Unique Schematic plan identifier.
name string Display name of the plan.
description string Human-readable description of the plan.
planType string Whether this is a base subscription plan or an add-on.
current boolean Whether this plan version is the current published version.
entitlements array Feature entitlements included in this plan.
billingProduct object The associated billing product in Stripe or billing provider.
monthlyPrice object
yearlyPrice object
createdAt string
updatedAt string
View JSON Schema on GitHub

JSON Schema

schematic-plan-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://api.schematichq.com/schemas/plan",
  "title": "Schematic Plan",
  "description": "A subscription plan in Schematic that bundles features and entitlements for customer billing.",
  "type": "object",
  "properties": {
    "id": {
      "type": "string",
      "description": "Unique Schematic plan identifier."
    },
    "name": {
      "type": "string",
      "description": "Display name of the plan."
    },
    "description": {
      "type": "string",
      "description": "Human-readable description of the plan."
    },
    "planType": {
      "type": "string",
      "enum": ["base", "add_on"],
      "description": "Whether this is a base subscription plan or an add-on."
    },
    "current": {
      "type": "boolean",
      "description": "Whether this plan version is the current published version."
    },
    "entitlements": {
      "type": "array",
      "description": "Feature entitlements included in this plan.",
      "items": { "$ref": "#/$defs/Entitlement" }
    },
    "billingProduct": {
      "$ref": "#/$defs/BillingProductRef",
      "description": "The associated billing product in Stripe or billing provider."
    },
    "monthlyPrice": {
      "$ref": "#/$defs/BillingPriceRef"
    },
    "yearlyPrice": {
      "$ref": "#/$defs/BillingPriceRef"
    },
    "createdAt": {
      "type": "string",
      "format": "date-time"
    },
    "updatedAt": {
      "type": "string",
      "format": "date-time"
    }
  },
  "required": ["id", "name", "planType"],
  "$defs": {
    "Entitlement": {
      "type": "object",
      "properties": {
        "id": { "type": "string" },
        "feature": {
          "type": "object",
          "properties": {
            "id": { "type": "string" },
            "name": { "type": "string" }
          }
        },
        "valueType": {
          "type": "string",
          "enum": ["boolean", "numeric", "unlimited", "trait"]
        },
        "numericValue": {
          "type": "integer",
          "nullable": true
        }
      }
    },
    "BillingProductRef": {
      "type": "object",
      "properties": {
        "id": { "type": "string" },
        "externalId": { "type": "string" },
        "name": { "type": "string" }
      }
    },
    "BillingPriceRef": {
      "type": "object",
      "properties": {
        "id": { "type": "string" },
        "externalId": { "type": "string" },
        "price": { "type": "integer" },
        "currency": { "type": "string" },
        "interval": { "type": "string", "enum": ["month", "year"] }
      }
    }
  }
}