subotiz-com · Schema

CreatePriceRequest

Create price request

PaymentsAIBillingSaaSFinTechCompany

Properties

Name Type Description
name string Price name
product_id string Associated product ID
product_version_id string Product version ID
billing_type string Billing type: one_time/recurring
price_val string One-time payment price, required when `billing_type` is one_time
description string Price description
has_trial boolean Whether trial period is enabled
trial_period object Trial period configuration
price_plan object Price plan, required when `billing_type` is recurring
price_type string Price type, one of the following: flat_price | package_price | based_on_usage
usage_amount string Usage amount, required when `price_type` is based_on_usage or package_price
usage_unit string Usage unit, required when `price_type` is based_on_usage or package_price
features array Price features
model_type string Model type, one of the following: per_unit | tiers_price, required when `price_type` is based_on_usage
billing_threshold string Billing threshold, required when `model_type` is per_unit
trial_type integer Trial type, one of the following: 0 - Free trial | 1 - Paid trial
trial_amount string Trial amount, required when `trial_type` is 1 - Paid trial
status string Status: - draft: Draft - active: Activated - frozen: Frozen
payment_timing string Payment timing, one of: prepaid / postpaid. Defaults to prepaid. Mutually exclusive with the billing dimension this release: only (prepaid, quantity) and (postpaid, usage) are allowed; any other combi
billing_dimension string Billing dimension, one of: quantity (by purchased quantity / seats) / usage (by consumption) / mixed (reserved, rejected this release). Defaults to quantity.
usage_threshold string Usage threshold (new semantics, replaces the amount-based billing_threshold). Set it on the postpaid usage route (billing_cycle_unit=over_threshold).
quantity_unit string Quantity unit name (product-level, for display; defaults to "unit")
merchant_price_id string Merchant-side price ID: merchant's own identifier for the price/SKU. Optional; unique per merchant; max length 100. Only allowed at creation time; updates/removals must be performed via Subotiz admin.
View JSON Schema on GitHub

JSON Schema

subotiz-com-create-price-request-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/subotiz-com/json-schema/subotiz-com-create-price-request-schema.json",
  "title": "CreatePriceRequest",
  "description": "Create price request",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/subotiz-com-openapi.yml#/components/schemas/CreatePriceRequest",
  "required": [
    "name",
    "product_id",
    "product_version_id",
    "billing_type",
    "description",
    "price_type"
  ],
  "type": "object",
  "properties": {
    "name": {
      "type": "string",
      "description": "Price name"
    },
    "product_id": {
      "type": "string",
      "description": "Associated product ID"
    },
    "product_version_id": {
      "type": "string",
      "description": "Product version ID"
    },
    "billing_type": {
      "type": "string",
      "description": "Billing type: one_time/recurring"
    },
    "price_val": {
      "type": "string",
      "description": "One-time payment price, required when `billing_type` is one_time"
    },
    "description": {
      "type": "string",
      "description": "Price description"
    },
    "has_trial": {
      "type": "boolean",
      "description": "Whether trial period is enabled"
    },
    "trial_period": {
      "allOf": [
        {
          "$ref": "#/$defs/TrialPeriod"
        }
      ],
      "description": "Trial period configuration"
    },
    "price_plan": {
      "allOf": [
        {
          "$ref": "#/$defs/CreatePricePlan"
        }
      ],
      "description": "Price plan, required when `billing_type` is recurring"
    },
    "price_type": {
      "type": "string",
      "description": "Price type, one of the following: flat_price | package_price | based_on_usage"
    },
    "usage_amount": {
      "type": "string",
      "description": "Usage amount, required when `price_type` is based_on_usage or package_price"
    },
    "usage_unit": {
      "type": "string",
      "description": "Usage unit, required when `price_type` is based_on_usage or package_price"
    },
    "features": {
      "type": "array",
      "items": {
        "$ref": "#/$defs/CreatePriceFeature"
      },
      "description": "Price features"
    },
    "model_type": {
      "type": "string",
      "description": "Model type, one of the following: per_unit | tiers_price, required when `price_type` is based_on_usage"
    },
    "billing_threshold": {
      "type": "string",
      "description": "Billing threshold, required when `model_type` is per_unit"
    },
    "trial_type": {
      "type": "integer",
      "description": "Trial type, one of the following: 0 - Free trial | 1 - Paid trial",
      "format": "int32"
    },
    "trial_amount": {
      "type": "string",
      "description": "Trial amount, required when `trial_type` is 1 - Paid trial"
    },
    "status": {
      "type": "string",
      "description": "Status:\n - draft: Draft\n - active: Activated\n - frozen: Frozen"
    },
    "payment_timing": {
      "type": "string",
      "description": "Payment timing, one of: prepaid / postpaid. Defaults to prepaid.\n Mutually exclusive with the billing dimension this release: only (prepaid, quantity) and (postpaid, usage) are allowed; any other combination is rejected."
    },
    "billing_dimension": {
      "type": "string",
      "description": "Billing dimension, one of: quantity (by purchased quantity / seats) / usage (by consumption) / mixed (reserved, rejected this release). Defaults to quantity."
    },
    "usage_threshold": {
      "type": "string",
      "description": "Usage threshold (new semantics, replaces the amount-based billing_threshold). Set it on the postpaid usage route (billing_cycle_unit=over_threshold)."
    },
    "quantity_unit": {
      "type": "string",
      "description": "Quantity unit name (product-level, for display; defaults to \"unit\")"
    },
    "merchant_price_id": {
      "type": "string",
      "description": "Merchant-side price ID: merchant's own identifier for the price/SKU. Optional; unique per merchant; max length 100.\n Only allowed at creation time; updates/removals must be performed via Subotiz admin.\n Allowed charset: letters, digits, and _ - . : /; leading/trailing whitespace trimmed; inputs with spaces or other characters return 400."
    }
  },
  "$defs": {
    "CreatePriceFeature": {
      "type": "object",
      "properties": {
        "product_feature_id": {
          "type": "string",
          "description": "Product feature ID"
        },
        "value": {
          "type": "string",
          "description": "Feature value, default value is 0"
        },
        "display": {
          "type": "boolean",
          "description": "Whether to display this feature on the price detail page. Defaults to true when omitted"
        }
      },
      "description": "Create price feature"
    },
    "CreatePricePlan": {
      "type": "object",
      "properties": {
        "base_price_val": {
          "type": "string",
          "description": "Base price, base pricing of the plan"
        },
        "billing_cycle_unit": {
          "type": "string",
          "description": "Billing cycle unit, one of the following: week, month, quarter, year, customer-initiated, over_threshold."
        },
        "price_tiers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/CreatePriceTier"
          },
          "description": "Tiered pricing details, specific prices for different cycles"
        },
        "price_usage_tiers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/PriceUsageTier"
          },
          "description": "Tiered pricing details, specific prices for different usage amounts"
        },
        "price_tier_type": {
          "type": "string",
          "description": "price tier type, one of the following: common | volume | grading, common for flat price and package price, volume and grading for based_on_usage price"
        },
        "usage_unit_price": {
          "type": "string",
          "description": "usage unit price"
        },
        "quantity_tier_type": {
          "type": "string",
          "description": "Quantity-side tier subtype, one of: common | volume | grading. Required when price_type=tiers_price and billing_dimension=quantity."
        },
        "quantity_tiers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/QuantityTier"
          },
          "description": "Quantity-side tier configuration. Required when price_type=tiers_price and billing_dimension=quantity."
        },
        "usage_tiers": {
          "type": "array",
          "items": {
            "$ref": "#/$defs/UsageTier"
          },
          "description": "Usage-side tier configuration (includes per-tier flat_amount). Required when price_type=tiers_price and billing_dimension=usage; replaces the legacy price_usage_tiers field."
        },
        "billing_cycle_interval_unit": {
          "type": "string",
          "description": "REQ-7053008206 Custom cycle time unit: day/week/month/quarter/year; empty when not custom"
        },
        "billing_cycle_interval": {
          "type": "integer",
          "description": "REQ-7053008206 Interval multiplier N: always 1 for standard cycles; within [2,365] when custom",
          "format": "int32"
        }
      },
      "description": "Pricing plan for create price"
    },
    "CreatePriceTier": {
      "type": "object",
      "properties": {
        "billing_cycle_index": {
          "type": "integer",
          "description": "Billing cycle index, indicating which cycle",
          "format": "int32"
        },
        "price_val": {
          "type": "string",
          "description": "Price value, specific price for this cycle"
        }
      },
      "description": "Create price tier"
    },
    "PriceUsageTier": {
      "type": "object",
      "properties": {
        "usage_min": {
          "type": "string",
          "description": "Usage minimum"
        },
        "usage_max": {
          "type": "string",
          "description": "Usage maximum"
        },
        "current_tier_amount": {
          "type": "string",
          "description": "Current tier amount"
        }
      },
      "description": "Tiered pricing details for usage"
    },
    "QuantityTier": {
      "type": "object",
      "properties": {
        "quantity_min": {
          "type": "string",
          "description": "Lower bound of this tier (inclusive); maps to the quantity_min column"
        },
        "quantity_max": {
          "type": "string",
          "description": "Upper bound of this tier (inclusive); empty means unlimited (last tier); maps to the quantity_max column"
        },
        "unit_price": {
          "type": "string",
          "description": "Unit price for this tier"
        },
        "flat_amount": {
          "type": "string",
          "description": "Flat fee for this tier, defaults to 0 (same name as the flat_amount column in pricing storage)"
        }
      },
      "description": "Pricing tier for the quantity (seat) dimension"
    },
    "TrialPeriod": {
      "type": "object",
      "properties": {
        "trial_period_unit": {
          "type": "string",
          "description": "Trial period unit, required, such as: day, week, month, etc."
        },
        "trial_period_count": {
          "type": "integer",
          "description": "Trial period count, required, such as: 7 days, 1 month, etc.",
          "format": "int32"
        }
      },
      "description": "TrialPeriod - Trial period configuration"
    },
    "UsageTier": {
      "type": "object",
      "properties": {
        "usage_min": {
          "type": "string",
          "description": "Lower bound of this tier (inclusive); maps to the usage_min column"
        },
        "usage_max": {
          "type": "string",
          "description": "Upper bound of this tier (inclusive); empty means unlimited (last tier); maps to the usage_max column"
        },
        "unit_price": {
          "type": "string",
          "description": "Unit price for this tier"
        },
        "flat_amount": {
          "type": "string",
          "description": "Flat fee for this tier, defaults to 0 (same name as the flat_amount column in pricing storage)"
        }
      },
      "description": "Pricing tier for the usage dimension"
    }
  }
}

Work with this as data

Every JSON Schema here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for schemas

4 MCP tools reach this
  • find_json_schemasBrowse and filter every JSON Schema in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This JSON Schema
curl "https://apis.io/api/v1/json-schemas/subotiz-com-create-price-request"
All schemas
curl "https://apis.io/api/v1/json-schemas?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.