---
title: "Manage plan"
method: POST
path: "/manage-plan"
tags: ["checkout"]
---

# Manage plan

`POST /manage-plan`

## Request body

- ManagePlanRequest
  - `activate_on_payment` boolean, nullable — If true, the company gets the plan only once the first invoice is paid. Only applies to an invoiced subscription. Defaults to false.
  - `add_on_selections` PlanSelection[], required
    - `plan_id` string, required
    - `price_id` string, nullable
    - `version_id` string, nullable
  - `base_plan_id` string, nullable
  - `base_plan_price_id` string, nullable
  - `base_plan_version_id` string, nullable
  - `billing_cycle_anchor` string, date-time, nullable — The date the subscription's billing period renews on. Only honored when starting a new subscription; changing the anchor on an existing subscription is not supported.
  - `billing_email` string, nullable — Address the invoice is sent to. Required when collection_method is send_invoice.
  - `billing_entity_id` string, nullable — The company that pays for this subscription. Must already have a Stripe customer. Only honored when starting a new subscription.
  - `cancel_immediately` boolean, nullable — If false, subscription cancels at period end. Only applies when removing all plans. Defaults to true.
  - `collection_method` 'charge_automatically' | 'send_invoice'
  - `company_id` string, required
  - `coupon_external_id` string, nullable
  - `credit_bundles` UpdateCreditBundleRequestBody[], required
    - `bundle_id` string, required
    - `quantity` integer, required
  - `custom_field_values` CheckoutFieldValue[], required
    - `id` string, required
    - `value` string, required
  - `days_until_due` integer, nullable — Payment terms in days for an invoiced subscription. Defaults to 30.
  - `pay_in_advance_entitlements` UpdatePayInAdvanceRequestBody[], required
    - `price_id` string, required
    - `quantity` integer, required
  - `payment_method_external_id` string, nullable
  - `promo_code` string, nullable
  - `prorate` boolean, nullable — If true and cancel_immediately is true, issue prorated credit. Only applies when removing all plans. Defaults to true.
  - `prorate_first_period` boolean, nullable — When true, the partial period between the subscription starting and its renewal date is billed pro rata straight away. When false that period is free and no invoice is raised until the renewal date. Only applies alongside billing_cycle_anchor. Defaults to true.
  - `send_invoice` boolean, nullable — Whether Stripe emails the invoice when it is finalized. Only applies to an invoiced subscription. Defaults to true.
  - `trial_end` string, date-time, nullable

## Response `200`

OK

- object
  - `data` ManagePlanResponseResponseData, required
    - `company` CompanyDetailResponseData
      - `add_ons` CompanyPlanWithBillingSubView[], required
        - `added_on` string, date-time, nullable
        - `billing_product_external_id` string, nullable
        - `billing_product_id` string, nullable
        - `description` string, nullable
        - `id` string, required
        - `image_url` string, nullable
        - `included_credit_grants` CompanyPlanCreditGrantView[], required
          - `billing_credit_auto_topup_amount` integer, nullable
          - `billing_credit_auto_topup_amount_type` string, nullable
          - `billing_credit_auto_topup_availability` 'off' | 'automatic' | 'user_controlled'
          - `billing_credit_auto_topup_enabled` boolean, required
          - `billing_credit_auto_topup_expiry_type` 'duration' | 'end_of_billing_period' | 'end_of_next_billing_period' | 'end_of_trial' | 'no_expiry'
          - `billing_credit_auto_topup_expiry_unit` 'billing_periods' | 'days'
          - `billing_credit_auto_topup_expiry_unit_count` integer, nullable
          - `billing_credit_auto_topup_self_service` boolean, required
          - `billing_credit_auto_topup_threshold_credits` integer, nullable
          - `billing_credit_auto_topup_threshold_percent` integer, nullable
          - `billing_credit_can_buy_bundles` boolean, required
          - `company_auto_topup_amount` integer, nullable
          - `company_auto_topup_enabled` boolean, nullable
          - `company_auto_topup_threshold_credits` integer, nullable
          - `company_credit_amount` integer, required
          - `created_at` string, date-time, required
          - `credit` BillingCreditView
            - `account_id` string, required
            - `burn_strategy` 'expiration_priority' | 'first_in_first_out' | 'last_in_first_out' | 'plan_first_then_credit_bundles_first_in_first_out', required
            - `cost_editable` boolean, required
            - `created_at` string, date-time, required
            - `currency_prices` CreditCurrencyPrice[], required
              - …
            - `default_expiry_unit` 'billing_periods' | 'days', required
            - `default_expiry_unit_count` integer, nullable
            - `default_rollover_policy` 'expire' | 'none' | 'rollover', required
            - `description` string, required
            - `environment_id` string, required
            - `icon` string, nullable
            - `id` string, required
            - `ledger_authority` 'schematic_authoritative' | 'external_mirror' | 'external_rated', required
            - `name` string, required
            - `plural_name` string, nullable
            - `price` BillingPriceView
              - …
            - `price_per_unit` integer, nullable
            - `price_per_unit_decimal` string, nullable
            - `product` BillingProductRecordResponseData
              - …
            - `singular_name` string, nullable
            - `updated_at` string, date-time, required
          - `credit_amount` integer, required
          - `credit_description` string, required — Deprecated field, will be removed in the future. Use Credit.Description instead.
          - `credit_icon` string, nullable — Deprecated field, will be removed in the future. Use Credit.Icon instead.
          - `credit_id` string, required
          - `credit_name` string, required — Deprecated field, will be removed in the future. Use Credit.Name instead.
          - `expiry_type` 'duration' | 'end_of_billing_period' | 'end_of_next_billing_period' | 'end_of_trial' | 'no_expiry'
          - `expiry_unit` 'billing_periods' | 'days'
          - `expiry_unit_count` integer, nullable
          - `id` string, required
          - `license_id` string, nullable
          - `plan` GenericPreviewObject
            - `description` string, nullable
            - `id` string, required
            - `image_url` string, nullable
            - `name` string, required
          - `plan_id` string, required
          - `plan_version_id` string, nullable
          - `plural_name` string, nullable — Deprecated field, will be removed in the future. Use Credit.PluralName instead.
          - `reset_cadence` 'daily' | 'every_6_months' | 'monthly' | 'quarterly' | 'weekly' | 'yearly'
          - `reset_start` 'billing_period' | 'first_of_month'
          - `reset_type` 'no_reset' | 'plan_period', required
          - `rollover_percentage` integer, required
          - `scaling` 'fixed' | 'per_license', required
          - `singular_name` string, nullable — Deprecated field, will be removed in the future. Use Credit.SingularName instead.
          - `updated_at` string, date-time, required
        - `name` string, required
        - `plan_period` string, nullable
        - `plan_price` integer, nullable
        - `plan_version_id` string, nullable
      - `billing_credit_balances` object, nullable
      - `billing_subscription` BillingSubscriptionView
        - `application_id` string, nullable
        - `cancel_at` integer, nullable
        - `cancel_at_period_end` boolean, required
        - `company_id` string, nullable
        - `created_at` string, date-time, required
        - `currency` string, required
        - `customer_external_id` string, required
        - `default_payment_method_id` string, nullable
        - `discounts` BillingSubscriptionDiscountView[], required
          - `amount_off` integer, nullable
          - `coupon_id` string, required
          - `coupon_name` string, required
          - `currency` string, nullable
          - `customer_facing_code` string, nullable
          - `discount_external_id` string, required
          - `duration` string, required
          - `duration_in_months` integer, nullable
          - `ended_at` string, date-time, nullable
          - `is_active` boolean, required
          - `percent_off` number, double, nullable
          - `promo_code_external_id` string, nullable
          - `started_at` string, date-time, required
          - `subscription_external_id` string, required
        - `expired_at` string, date-time, nullable
        - `id` string, required
        - `interval` string, required
        - `latest_invoice` InvoiceResponseData
          - `amount_due` integer, required
          - `amount_paid` integer, required
          - `amount_remaining` integer, required
          - `collection_method` string, required
          - `company_id` string, nullable
          - `created_at` string, date-time, required
          - `currency` string, required
          - `customer_external_id` string, required
          - `due_date` string, date-time, nullable
          - `ending_balance` integer, required
          - `environment_id` string, required
          - `external_id` string, nullable
          - `id` string, required
          - `payment_method_external_id` string, nullable
          - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
          - `starting_balance` integer, required
          - `status` 'draft' | 'open' | 'paid' | 'uncollectible' | 'void'
          - `subscription_external_id` string, nullable
          - `subtotal` integer, required
          - `updated_at` string, date-time, required
          - `url` string, nullable
        - `metadata` object
        - `payment_method` PaymentMethodResponseData
          - `account_last4` string, nullable
          - `account_name` string, nullable
          - `bank_name` string, nullable
          - `billing_email` string, nullable
          - `billing_name` string, nullable
          - `card_brand` string, nullable
          - `card_exp_month` integer, nullable
          - `card_exp_year` integer, nullable
          - `card_last4` string, nullable
          - `company_id` string, nullable
          - `created_at` string, date-time, required
          - `customer_external_id` string, required
          - `environment_id` string, required
          - `external_id` string, required
          - `id` string, required
          - `payment_method_type` string, required
          - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
          - `updated_at` string, date-time, required
        - `period_end` integer, required
        - `period_start` integer, required
        - `products` BillingProductForSubscriptionResponseData[], required
          - `billing_scheme` 'per_unit' | 'tiered', required
          - `billing_threshold` integer, nullable
          - `created_at` string, date-time, required
          - `currency` string, required
          - `environment_id` string, required
          - `external_id` string, required
          - `id` string, required
          - `interval` string, required
          - `interval_count` integer, nullable
          - `meter_id` string, nullable
          - `name` string, required
          - `package_size` integer, required
          - `price` integer, required
          - `price_decimal` string, nullable
          - `price_external_id` string, required
          - `price_id` string, required
          - `price_tier` BillingProductPriceTierResponseData[], required
            - `flat_amount` integer, nullable
            - `per_unit_price` integer, nullable
            - `per_unit_price_decimal` string, nullable
            - `up_to` integer, nullable
          - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
          - `quantity` number, double, required
          - `subscription_id` string, required
          - `subscription_item_external_id` string, nullable
          - `updated_at` string, date-time, required
          - `usage_type` 'licensed' | 'metered', required
        - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
        - `status` string, required
        - `subscription_external_id` string, required
        - `total_price` integer, required
        - `trial_end` integer, nullable
        - `trial_end_setting` 'cancel' | 'subscribe'
      - `billing_subscriptions` BillingSubscriptionView[], required
        - `application_id` string, nullable
        - `cancel_at` integer, nullable
        - `cancel_at_period_end` boolean, required
        - `company_id` string, nullable
        - `created_at` string, date-time, required
        - `currency` string, required
        - `customer_external_id` string, required
        - `default_payment_method_id` string, nullable
        - `discounts` BillingSubscriptionDiscountView[], required
          - `amount_off` integer, nullable
          - `coupon_id` string, required
          - `coupon_name` string, required
          - `currency` string, nullable
          - `customer_facing_code` string, nullable
          - `discount_external_id` string, required
          - `duration` string, required
          - `duration_in_months` integer, nullable
          - `ended_at` string, date-time, nullable
          - `is_active` boolean, required
          - `percent_off` number, double, nullable
          - `promo_code_external_id` string, nullable
          - `started_at` string, date-time, required
          - `subscription_external_id` string, required
        - `expired_at` string, date-time, nullable
        - `id` string, required
        - `interval` string, required
        - `latest_invoice` InvoiceResponseData
          - `amount_due` integer, required
          - `amount_paid` integer, required
          - `amount_remaining` integer, required
          - `collection_method` string, required
          - `company_id` string, nullable
          - `created_at` string, date-time, required
          - `currency` string, required
          - `customer_external_id` string, required
          - `due_date` string, date-time, nullable
          - `ending_balance` integer, required
          - `environment_id` string, required
          - `external_id` string, nullable
          - `id` string, required
          - `payment_method_external_id` string, nullable
          - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
          - `starting_balance` integer, required
          - `status` 'draft' | 'open' | 'paid' | 'uncollectible' | 'void'
          - `subscription_external_id` string, nullable
          - `subtotal` integer, required
          - `updated_at` string, date-time, required
          - `url` string, nullable
        - `metadata` object
        - `payment_method` PaymentMethodResponseData
          - `account_last4` string, nullable
          - `account_name` string, nullable
          - `bank_name` string, nullable
          - `billing_email` string, nullable
          - `billing_name` string, nullable
          - `card_brand` string, nullable
          - `card_exp_month` integer, nullable
          - `card_exp_year` integer, nullable
          - `card_last4` string, nullable
          - `company_id` string, nullable
          - `created_at` string, date-time, required
          - `customer_external_id` string, required
          - `environment_id` string, required
          - `external_id` string, required
          - `id` string, required
          - `payment_method_type` string, required
          - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
          - `updated_at` string, date-time, required
        - `period_end` integer, required
        - `period_start` integer, required
        - `products` BillingProductForSubscriptionResponseData[], required
          - `billing_scheme` 'per_unit' | 'tiered', required
          - `billing_threshold` integer, nullable
          - `created_at` string, date-time, required
          - `currency` string, required
          - `environment_id` string, required
          - `external_id` string, required
          - `id` string, required
          - `interval` string, required
          - `interval_count` integer, nullable
          - `meter_id` string, nullable
          - `name` string, required
          - `package_size` integer, required
          - `price` integer, required
          - `price_decimal` string, nullable
          - `price_external_id` string, required
          - `price_id` string, required
          - `price_tier` BillingProductPriceTierResponseData[], required
            - `flat_amount` integer, nullable
            - `per_unit_price` integer, nullable
            - `per_unit_price_decimal` string, nullable
            - `up_to` integer, nullable
          - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
          - `quantity` number, double, required
          - `subscription_id` string, required
          - `subscription_item_external_id` string, nullable
          - `updated_at` string, date-time, required
          - `usage_type` 'licensed' | 'metered', required
        - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
        - `status` string, required
        - `subscription_external_id` string, required
        - `total_price` integer, required
        - `trial_end` integer, nullable
        - `trial_end_setting` 'cancel' | 'subscribe'
      - `created_at` string, date-time, required
      - `custom_plan_billings` CustomPlanBillingResponseData[], required
        - `activation_strategy` 'on_payment' | 'on_publish', required
        - `billing_cycle_anchor` string, date-time, nullable — The billing period renewal date pinned when the subscription started, when one was set. When no invoice exists yet, the first invoice is raised on this date.
        - `company_id` string, required
        - `created_at` string, date-time, required
        - `days_until_due` integer, required
        - `external_invoice_id` string, nullable
        - `id` string, required
        - `paid_at` string, date-time, nullable
        - `plan_billing_source` 'custom_plan' | 'manage_plan', required
        - `plan_id` string, required
        - `published_at` string, date-time, nullable
        - `send_invoice` boolean, required
        - `status` 'active' | 'expired' | 'paid' | 'pending', required
        - `stripe_invoice_url` string, nullable
        - `updated_at` string, date-time, required
      - `default_payment_method` PaymentMethodResponseData
        - `account_last4` string, nullable
        - `account_name` string, nullable
        - `bank_name` string, nullable
        - `billing_email` string, nullable
        - `billing_name` string, nullable
        - `card_brand` string, nullable
        - `card_exp_month` integer, nullable
        - `card_exp_year` integer, nullable
        - `card_last4` string, nullable
        - `company_id` string, nullable
        - `created_at` string, date-time, required
        - `customer_external_id` string, required
        - `environment_id` string, required
        - `external_id` string, required
        - `id` string, required
        - `payment_method_type` string, required
        - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
        - `updated_at` string, date-time, required
      - `entitlements` FeatureEntitlement[], required
        - `allocation` integer, nullable — If the company has a numeric entitlement for this feature, the allocated amount
        - `consumption_rate` number, double, nullable — If the company has a credit-based entitlement for this feature, the credit cost per unit of usage
        - `credit_id` string, nullable — If the company has a credit-based entitlement for this feature, the ID of the credit
        - `credit_remaining` number, double, nullable — If the company has a credit-based entitlement for this feature, the credit available to fund new consumption or a new lease hold — open lease holds are excluded. Clients that hold a lease should gate on this plus their own unspent hold; clients with no lease awareness should use credit_settled instead
        - `credit_reserved` number, double, nullable — If the company has a credit-based entitlement for this feature, the unspent amount held by an open credit lease. Returns to credit_remaining when the lease is released
        - `credit_settled` number, double, nullable — If the company has a credit-based entitlement for this feature, the balance net of actual consumption, unaffected by open lease holds (credit_remaining plus credit_reserved). The number to display to end users
        - `credit_total` number, double, nullable — If the company has a credit-based entitlement for this feature, the total credit amount
        - `credit_used` number, double, nullable — If the company has a credit-based entitlement for this feature, the amount of credit used
        - `event_name` string, nullable — If the feature is event-based, the name of the event tracked for usage
        - `event_subtype` string, nullable — For event-based or credit-metered feature entitlements, the event subtype whose usage is tracked
        - `feature_id` string, required — The ID of the feature
        - `feature_key` string, required — The key of the flag associated with the feature
        - `metric_period` 'all_time' | 'current_day' | 'current_month' | 'current_week'
        - `metric_reset_at` string, date-time, nullable — For event-based feature entitlements, when the usage period will reset
        - `month_reset` 'billing_cycle' | 'first_of_month'
        - `soft_limit` integer, nullable — For usage-based pricing, the soft limit for overage charges or the next tier boundary
        - `usage` integer, nullable — If the company has a numeric entitlement for this feature, the current usage amount
        - `value_type` 'boolean' | 'credit' | 'numeric' | 'trait' | 'unknown' | 'unlimited', required
        - `warning_tiers` WarningTier[] — Customer-defined usage warning thresholds configured on this entitlement
          - `key` string, required — A customer-defined identifier for the warning tier
          - `value` integer, required — The warning threshold, in the entitlement's usage units
      - `entity_traits` EntityTraitDetailResponseData[], required
        - `created_at` string, date-time, required
        - `definition` EntityTraitDefinitionResponseData
          - `created_at` string, date-time, required
          - `display_name` string, required
          - `entity_type` 'company' | 'user', required
          - `hierarchy` string[], required
          - `id` string, required
          - `trait_type` 'boolean' | 'currency' | 'date' | 'number' | 'string' | 'url', required
          - `updated_at` string, date-time, required
        - `definition_id` string, required
        - `environment_id` string, required
        - `id` string, required
        - `updated_at` string, date-time, required
        - `value` string, required
      - `environment_id` string, required
      - `id` string, required
      - `keys` EntityKeyDetailResponseData[], required
        - `created_at` string, date-time, required
        - `definition` EntityKeyDefinitionResponseData
          - `created_at` string, date-time, required
          - `entity_type` 'company' | 'user', required
          - `id` string, required
          - `key` string, required
          - `updated_at` string, date-time, required
        - `definition_id` string, required
        - `entity_id` string, required
        - `entity_type` 'company' | 'user', required
        - `environment_id` string, required
        - `id` string, required
        - `key` string, required
        - `updated_at` string, date-time, required
        - `value` string, required
      - `last_seen_at` string, date-time, nullable
      - `logo_url` string, nullable
      - `metrics` CompanyEventPeriodMetricsResponseData[], required
        - `account_id` string, required
        - `captured_at_max` string, date-time, required
        - `captured_at_min` string, date-time, required
        - `company_id` string, required
        - `created_at` string, date-time, required
        - `environment_id` string, required
        - `event_subtype` string, required
        - `month_reset` 'billing_cycle' | 'first_of_month', required
        - `period` 'all_time' | 'current_day' | 'current_month' | 'current_week', required
        - `valid_until` string, date-time, nullable
        - `value` integer, required
      - `name` string, required
      - `payment_methods` PaymentMethodResponseData[], required
        - `account_last4` string, nullable
        - `account_name` string, nullable
        - `bank_name` string, nullable
        - `billing_email` string, nullable
        - `billing_name` string, nullable
        - `card_brand` string, nullable
        - `card_exp_month` integer, nullable
        - `card_exp_year` integer, nullable
        - `card_last4` string, nullable
        - `company_id` string, nullable
        - `created_at` string, date-time, required
        - `customer_external_id` string, required
        - `environment_id` string, required
        - `external_id` string, required
        - `id` string, required
        - `payment_method_type` string, required
        - `provider_type` 'metronome' | 'orb' | 'schematic' | 'stripe', required
        - `updated_at` string, date-time, required
      - `plan` CompanyPlanWithBillingSubView
        - `added_on` string, date-time, nullable
        - `billing_product_external_id` string, nullable
        - `billing_product_id` string, nullable
        - `description` string, nullable
        - `id` string, required
        - `image_url` string, nullable
        - `included_credit_grants` CompanyPlanCreditGrantView[], required
          - `billing_credit_auto_topup_amount` integer, nullable
          - `billing_credit_auto_topup_amount_type` string, nullable
          - `billing_credit_auto_topup_availability` 'off' | 'automatic' | 'user_controlled'
          - `billing_credit_auto_topup_enabled` boolean, required
          - `billing_credit_auto_topup_expiry_type` 'duration' | 'end_of_billing_period' | 'end_of_next_billing_period' | 'end_of_trial' | 'no_expiry'
          - `billing_credit_auto_topup_expiry_unit` 'billing_periods' | 'days'
          - `billing_credit_auto_topup_expiry_unit_count` integer, nullable
          - `billing_credit_auto_topup_self_service` boolean, required
          - `billing_credit_auto_topup_threshold_credits` integer, nullable
          - `billing_credit_auto_topup_threshold_percent` integer, nullable
          - `billing_credit_can_buy_bundles` boolean, required
          - `company_auto_topup_amount` integer, nullable
          - `company_auto_topup_enabled` boolean, nullable
          - `company_auto_topup_threshold_credits` integer, nullable
          - `company_credit_amount` integer, required
          - `created_at` string, date-time, required
          - `credit` BillingCreditView
            - `account_id` string, required
            - `burn_strategy` 'expiration_priority' | 'first_in_first_out' | 'last_in_first_out' | 'plan_first_then_credit_bundles_first_in_first_out', required
            - `cost_editable` boolean, required
            - `created_at` string, date-time, required
            - `currency_prices` CreditCurrencyPrice[], required
              - …
            - `default_expiry_unit` 'billing_periods' | 'days', required
            - `default_expiry_unit_count` integer, nullable
            - `default_rollover_policy` 'expire' | 'none' | 'rollover', required
            - `description` string, required
            - `environment_id` string, required
            - `icon` string, nullable
            - `id` string, required
            - `ledger_authority` 'schematic_authoritative' | 'external_mirror' | 'external_rated', required
            - `name` string, required
            - `plural_name` string, nullable
            - `price` BillingPriceView
              - …
            - `price_per_unit` integer, nullable
            - `price_per_unit_decimal` string, nullable
            - `product` BillingProductRecordResponseData
              - …
            - `singular_name` string, nullable
            - `updated_at` string, date-time, required
          - `credit_amount` integer, required
          - `credit_description` string, required — Deprecated field, will be removed in the future. Use Credit.Description instead.
          - `credit_icon` string, nullable — Deprecated field, will be removed in the future. Use Credit.Icon instead.
          - `credit_id` string, required
          - `credit_name` string, required — Deprecated field, will be removed in the future. Use Credit.Name instead.
          - `expiry_type` 'duration' | 'end_of_billing_period' | 'end_of_next_billing_period' | 'end_of_trial' | 'no_expiry'
          - `expiry_unit` 'billing_periods' | 'days'
          - `expiry_unit_count` integer, nullable
          - `id` string, required
          - `license_id` string, nullable
          - `plan` GenericPreviewObject
            - `description` string, nullable
            - `id` string, required
            - `image_url` string, nullable
            - `name` string, required
          - `plan_id` string, required
          - `plan_version_id` string, nullable
          - `plural_name` string, nullable — Deprecated field, will be removed in the future. Use Credit.PluralName instead.
          - `reset_cadence` 'daily' | 'every_6_months' | 'monthly' | 'quarterly' | 'weekly' | 'yearly'
          - `reset_start` 'billing_period' | 'first_of_month'
          - `reset_type` 'no_reset' | 'plan_period', required
          - `rollover_percentage` integer, required
          - `scaling` 'fixed' | 'per_license', required
          - `singular_name` string, nullable — Deprecated field, will be removed in the future. Use Credit.SingularName instead.
          - `updated_at` string, date-time, required
        - `name` string, required
        - `plan_period` string, nullable
        - `plan_price` integer, nullable
        - `plan_version_id` string, nullable
      - `plans` GenericPreviewObject[], required
        - `description` string, nullable
        - `id` string, required
        - `image_url` string, nullable
        - `name` string, required
      - `rules` Rule[], required
        - `account_id` string, required
        - `condition_groups` ConditionGroup[], required
          - `conditions` Condition[], required
            - `account_id` string, required
            - `comparison_trait_definition` TraitDefinition
              - …
            - `condition_type` 'base_plan' | 'billing_product' | 'company' | 'credit' | 'metric' | 'plan' | 'plan_version' | 'trait' | 'user', required
            - `consumption_rate` number, double, nullable
            - `credit_id` string, nullable
            - `environment_id` string, required
            - `event_subtype` string, nullable
            - `id` string, required
            - `metric_period` 'all_time' | 'current_day' | 'current_month' | 'current_week'
            - `metric_period_month_reset` 'billing_cycle' | 'first_of_month'
            - `metric_value` integer, nullable
            - `operator` 'eq' | 'gt' | 'gte' | 'is_empty' | 'lt' | 'lte' | 'not_empty' | 'ne', required
            - `resource_ids` string[], required
            - `trait_definition` TraitDefinition
              - …
            - `trait_value` string, required
        - `conditions` Condition[], required
          - `account_id` string, required
          - `comparison_trait_definition` TraitDefinition
            - `comparable_type` 'bool' | 'date' | 'int' | 'string', required
            - `entity_type` 'company' | 'user', required
            - `id` string, required
          - `condition_type` 'base_plan' | 'billing_product' | 'company' | 'credit' | 'metric' | 'plan' | 'plan_version' | 'trait' | 'user', required
          - `consumption_rate` number, double, nullable
          - `credit_id` string, nullable
          - `environment_id` string, required
          - `event_subtype` string, nullable
          - `id` string, required
          - `metric_period` 'all_time' | 'current_day' | 'current_month' | 'current_week'
          - `metric_period_month_reset` 'billing_cycle' | 'first_of_month'
          - `metric_value` integer, nullable
          - `operator` 'eq' | 'gt' | 'gte' | 'is_empty' | 'lt' | 'lte' | 'not_empty' | 'ne', required
          - `resource_ids` string[], required
          - `trait_definition` TraitDefinition
            - `comparable_type` 'bool' | 'date' | 'int' | 'string', required
            - `entity_type` 'company' | 'user', required
            - `id` string, required
          - `trait_value` string, required
        - `environment_id` string, required
        - `flag_id` string, nullable
        - `id` string, required
        - `name` string, required
        - `priority` integer, required
        - `rule_type` 'company_override' | 'company_override_usage_exceeded' | 'default' | 'global_override' | 'plan_entitlement' | 'plan_entitlement_usage_exceeded' | 'standard', required
        - `value` boolean, required
      - `scheduled_downgrade` ScheduledDowngradeResponseData
        - `currency` string, required
        - `effective_after` string, date-time, required
        - `from_plan_id` string, required
        - `from_plan_name` string, required
        - `from_subscription_price` integer, required
        - `id` string, required
        - `interval` string, required
        - `scheduled_interval` string, nullable
        - `scheduled_price` integer, nullable
        - `to_plan_id` string, required
        - `to_plan_name` string, required
      - `traits` object — A map of trait names to trait values
      - `updated_at` string, date-time, required
      - `user_count` integer, required
    - `success` boolean, required
  - `params` object, required — Input parameters

## Other responses

- `400` — Bad request
- `401` — Unauthorized
- `403` — Forbidden
- `404` — Not found
- `500` — Server error

---

[API](https://skmtc.net/schematichq/apis/schematic-api.md) · [All operations](https://skmtc.net/schematichq/apis/schematic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/schematichq/schematic-api/revisions/776228e28d67/schema)
