Schematic componentspublic API

The componentspublic API from Schematic — 1 operation(s) for componentspublic.

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

OpenAPI Specification

schematic-componentspublic-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Schematic accesstokens Componentspublic API
  version: '0.1'
  description: Schematic API
  x-rules-engine-schema-version: v97288f60
servers:
- url: https://api.schematichq.com
security:
- ApiKeyAuth: []
tags:
- name: componentspublic
paths:
  /public/plans:
    get:
      operationId: getPublicPlans
      summary: Get public plans
      tags:
      - componentspublic
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PublicPlansResponseData'
                  params:
                    type: object
                    description: Input parameters
                    title: GetPublicPlansParams
                required:
                - data
                - params
                title: GetPublicPlansResponse
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  schemas:
    ApiError:
      type: object
      properties:
        error:
          type: string
          description: Error message
      required:
      - error
    BillingCreditResponseData:
      type: object
      properties:
        burn_strategy:
          $ref: '#/components/schemas/BillingCreditBurnStrategy'
        cost_editable:
          type: boolean
        created_at:
          type: string
          format: date-time
        currency_prices:
          type: array
          items:
            $ref: '#/components/schemas/CreditCurrencyPriceResponseData'
          maxItems: 256
        default_expiry_unit:
          $ref: '#/components/schemas/BillingCreditExpiryUnit'
        default_expiry_unit_count:
          type:
          - integer
          - 'null'
          format: int64
        default_rollover_policy:
          $ref: '#/components/schemas/BillingCreditRolloverPolicy'
        description:
          type: string
        icon:
          type:
          - string
          - 'null'
        id:
          type: string
        name:
          type: string
        plural_name:
          type:
          - string
          - 'null'
        price:
          $ref: '#/components/schemas/BillingPriceResponseData'
        product:
          $ref: '#/components/schemas/BillingProductResponseData'
        singular_name:
          type:
          - string
          - 'null'
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - name
      - description
      - default_expiry_unit
      - default_rollover_policy
      - burn_strategy
      - cost_editable
      - currency_prices
      - created_at
      - updated_at
      title: BillingCreditResponseData
    EntitlementValueType:
      type: string
      enum:
      - boolean
      - credit
      - numeric
      - trait
      - unknown
      - unlimited
    BillingPriceScheme:
      type: string
      enum:
      - per_unit
      - tiered
    BillingProductDetailResponseData:
      type: object
      properties:
        account_id:
          type: string
        created_at:
          type: string
          format: date-time
        currency:
          type:
          - string
          - 'null'
          description: Deprecated; currencies are associated with prices, not products
          deprecated: true
        environment_id:
          type: string
        external_id:
          type: string
        is_active:
          type: boolean
        name:
          type: string
        price:
          type: number
        price_decimal:
          type:
          - string
          - 'null'
        prices:
          type: array
          items:
            $ref: '#/components/schemas/BillingPriceResponseData'
          maxItems: 1000
        product_id:
          type: string
        provider_type:
          $ref: '#/components/schemas/BillingProviderType'
        quantity:
          type: number
        subscription_count:
          type: integer
          format: int64
        updated_at:
          type: string
          format: date-time
      required:
      - account_id
      - created_at
      - environment_id
      - external_id
      - is_active
      - name
      - price
      - product_id
      - provider_type
      - quantity
      - updated_at
      - prices
      - subscription_count
      title: BillingProductDetailResponseData
    FeatureResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        description:
          type: string
        event_subtype:
          type:
          - string
          - 'null'
        feature_type:
          $ref: '#/components/schemas/FeatureType'
        icon:
          type: string
        id:
          type: string
        lifecycle_phase:
          allOf:
          - $ref: '#/components/schemas/FeatureLifecyclePhase'
        maintainer_account_member_id:
          type:
          - string
          - 'null'
        name:
          type: string
        plural_name:
          type:
          - string
          - 'null'
        singular_name:
          type:
          - string
          - 'null'
        trait_id:
          type:
          - string
          - 'null'
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - name
      - description
      - feature_type
      - icon
      - created_at
      - updated_at
      title: FeatureResponseData
    PlanIcon:
      type: string
      enum:
      - amber
      - blue
      - blueGray
      - blueGreen
      - cyan
      - emerald
      - fuchsia
      - gray
      - green
      - indigo
      - lightBlue
      - lime
      - orange
      - pink
      - purple
      - red
      - redOrange
      - rose
      - sky
      - slate
      - teal
      - trueGray
      - violet
      - warmGray
      - yellow
    RuleType:
      type: string
      enum:
      - company_override
      - company_override_usage_exceeded
      - default
      - global_override
      - plan_entitlement
      - plan_entitlement_usage_exceeded
      - standard
    FeatureInPlanResponseData:
      type: object
      properties:
        billing_linked_resource:
          $ref: '#/components/schemas/BillingLinkedResourceResponseData'
        created_at:
          type: string
          format: date-time
        description:
          type: string
        event_subtype:
          type:
          - string
          - 'null'
        event_summary:
          $ref: '#/components/schemas/EventSummaryResponseData'
        feature_type:
          $ref: '#/components/schemas/FeatureType'
        flags:
          type: array
          items:
            $ref: '#/components/schemas/FlagInPlanResponseData'
          maxItems: 1000
        icon:
          type: string
        id:
          type: string
        lifecycle_phase:
          allOf:
          - $ref: '#/components/schemas/FeatureLifecyclePhase'
        maintainer_account_member_id:
          type:
          - string
          - 'null'
        name:
          type: string
        plans:
          type: array
          items:
            $ref: '#/components/schemas/PreviewObject'
          maxItems: 1000
        plural_name:
          type:
          - string
          - 'null'
        singular_name:
          type:
          - string
          - 'null'
        trait:
          $ref: '#/components/schemas/EntityTraitDefinitionResponseData'
        trait_id:
          type:
          - string
          - 'null'
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - name
      - description
      - feature_type
      - icon
      - created_at
      - updated_at
      - flags
      - plans
      title: FeatureInPlanResponseData
    CreditCurrencyPrice:
      type: object
      properties:
        currency:
          type: string
        price:
          $ref: '#/components/schemas/BillingPriceView'
      required:
      - currency
      title: CreditCurrencyPrice
    PreviewObject:
      type: object
      properties:
        description:
          type:
          - string
          - 'null'
        id:
          type: string
        image_url:
          type:
          - string
          - 'null'
        name:
          type: string
      required:
      - id
      - name
      title: PreviewObject
    BillingProductResponseData:
      type: object
      properties:
        account_id:
          type: string
        created_at:
          type: string
          format: date-time
        currency:
          type:
          - string
          - 'null'
          description: Deprecated; currencies are associated with prices, not products
          deprecated: true
        environment_id:
          type: string
        external_id:
          type: string
        is_active:
          type: boolean
        name:
          type: string
        price:
          type: number
        price_decimal:
          type:
          - string
          - 'null'
        product_id:
          type: string
        provider_type:
          $ref: '#/components/schemas/BillingProviderType'
        quantity:
          type: number
        updated_at:
          type: string
          format: date-time
      required:
      - account_id
      - created_at
      - environment_id
      - external_id
      - is_active
      - name
      - price
      - product_id
      - provider_type
      - quantity
      - updated_at
      title: BillingProductResponseData
    ConditionType:
      type: string
      enum:
      - base_plan
      - billing_product
      - company
      - credit
      - metric
      - plan
      - plan_version
      - trait
      - user
    BillingProductPriceTierResponseData:
      type: object
      properties:
        flat_amount:
          type:
          - integer
          - 'null'
          format: int64
        per_unit_price:
          type:
          - integer
          - 'null'
          format: int64
        per_unit_price_decimal:
          type:
          - string
          - 'null'
        up_to:
          type:
          - integer
          - 'null'
          format: int64
      title: BillingProductPriceTierResponseData
    ComponentDisplaySettings:
      type: object
      properties:
        show_as_monthly_prices:
          type: boolean
        show_credits:
          type: boolean
        show_feature_description:
          type: boolean
        show_hard_limit:
          type: boolean
        show_period_toggle:
          type: boolean
        show_zero_price_as_free:
          type: boolean
      required:
      - show_as_monthly_prices
      - show_credits
      - show_feature_description
      - show_hard_limit
      - show_period_toggle
      - show_zero_price_as_free
      title: ComponentDisplaySettings
    ChargeType:
      type: string
      enum:
      - free
      - one_time
      - recurring
    BillingPriceUsageType:
      type: string
      enum:
      - licensed
      - metered
    PlanViewPublicResponseData:
      type: object
      properties:
        active_version:
          $ref: '#/components/schemas/PlanVersionResponseData'
        audience_type:
          type:
          - string
          - 'null'
          deprecated: true
        billing_linked_resource:
          $ref: '#/components/schemas/BillingLinkedResourceResponseData'
        billing_product:
          $ref: '#/components/schemas/BillingProductDetailResponseData'
        charge_type:
          $ref: '#/components/schemas/ChargeType'
        company_count:
          type: integer
          format: int64
        company_id:
          type:
          - string
          - 'null'
        company_name:
          type:
          - string
          - 'null'
        compatible_plan_ids:
          type: array
          items:
            type: string
          maxItems: 1000
        controlled_by:
          $ref: '#/components/schemas/BillingProviderType'
        copied_from_plan_id:
          type:
          - string
          - 'null'
        created_at:
          type: string
          format: date-time
        currency_prices:
          type: array
          items:
            $ref: '#/components/schemas/PlanCurrencyPricesResponseData'
          maxItems: 1000
        custom:
          type: boolean
        custom_plan_config:
          $ref: '#/components/schemas/CustomPlanConfig'
        description:
          type: string
        draft_version:
          $ref: '#/components/schemas/PlanVersionResponseData'
        entitlements:
          type: array
          items:
            $ref: '#/components/schemas/PlanEntitlementResponseData'
          maxItems: 1000
        features:
          type: array
          items:
            $ref: '#/components/schemas/FeatureInPlanResponseData'
          maxItems: 1000
        icon:
          $ref: '#/components/schemas/PlanIcon'
        id:
          type: string
        included_credit_grants:
          type: array
          items:
            $ref: '#/components/schemas/PlanCreditGrantView'
          maxItems: 1000
        is_custom:
          type: boolean
        is_default:
          type: boolean
          deprecated: true
        is_free:
          type: boolean
        is_trialable:
          type: boolean
        monthly_price:
          $ref: '#/components/schemas/BillingPriceResponseData'
        name:
          type: string
        one_time_price:
          $ref: '#/components/schemas/BillingPriceResponseData'
        plan_type:
          $ref: '#/components/schemas/PlanType'
        trial_days:
          type:
          - integer
          - 'null'
          format: int64
        updated_at:
          type: string
          format: date-time
        versions:
          type: array
          items:
            $ref: '#/components/schemas/PlanVersionResponseData'
          maxItems: 1000
        yearly_price:
          $ref: '#/components/schemas/BillingPriceResponseData'
      required:
      - created_at
      - description
      - icon
      - id
      - name
      - plan_type
      - updated_at
      - charge_type
      - company_count
      - controlled_by
      - currency_prices
      - features
      - is_default
      - is_free
      - is_trialable
      - versions
      - is_custom
      - entitlements
      - compatible_plan_ids
      - custom
      - included_credit_grants
      title: PlanViewPublicResponseData
    EventSummaryResponseData:
      type: object
      properties:
        company_count:
          type: integer
          format: int64
        environment_id:
          type: string
        event_count:
          type: integer
          format: int64
        event_subtype:
          type: string
        last_seen_at:
          type:
          - string
          - 'null'
          format: date-time
        user_count:
          type: integer
          format: int64
      required:
      - company_count
      - environment_id
      - event_count
      - event_subtype
      - user_count
      title: EventSummaryResponseData
    MetricPeriodMonthReset:
      type: string
      enum:
      - billing_cycle
      - first_of_month
    CustomPlanConfig:
      type: object
      properties:
        cta_text:
          type: string
        cta_web_site:
          type: string
        price_text:
          type: string
      required:
      - cta_web_site
      - cta_text
      - price_text
      title: CustomPlanConfig
    CompatiblePlans:
      type: object
      properties:
        compatible_plan_ids:
          type: array
          items:
            type: string
          maxItems: 1000
        source_plan_id:
          type: string
      required:
      - source_plan_id
      - compatible_plan_ids
      title: CompatiblePlans
    RuleDetailResponseData:
      type: object
      properties:
        condition_groups:
          type: array
          items:
            $ref: '#/components/schemas/RuleConditionGroupDetailResponseData'
          maxItems: 1000
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/RuleConditionDetailResponseData'
          maxItems: 1000
        created_at:
          type: string
          format: date-time
        environment_id:
          type: string
        flag_id:
          type:
          - string
          - 'null'
        id:
          type: string
        name:
          type: string
        priority:
          type: integer
          format: int64
        rule_type:
          $ref: '#/components/schemas/RuleType'
        updated_at:
          type: string
          format: date-time
        value:
          type: boolean
      required:
      - id
      - environment_id
      - priority
      - name
      - rule_type
      - value
      - created_at
      - updated_at
      - conditions
      - condition_groups
      title: RuleDetailResponseData
    PlanResponseData:
      type: object
      properties:
        audience_type:
          type:
          - string
          - 'null'
          deprecated: true
        company_id:
          type:
          - string
          - 'null'
        copied_from_plan_id:
          type:
          - string
          - 'null'
        created_at:
          type: string
          format: date-time
        description:
          type: string
        icon:
          $ref: '#/components/schemas/PlanIcon'
        id:
          type: string
        name:
          type: string
        plan_type:
          $ref: '#/components/schemas/PlanType'
        updated_at:
          type: string
          format: date-time
      required:
      - created_at
      - description
      - icon
      - id
      - name
      - plan_type
      - updated_at
      title: PlanResponseData
    FlagInPlanResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        default_value:
          type: boolean
        description:
          type: string
        feature:
          $ref: '#/components/schemas/FeatureResponseData'
        feature_id:
          type:
          - string
          - 'null'
        flag_type:
          $ref: '#/components/schemas/FlagType'
        id:
          type: string
        key:
          type: string
        last_checked_at:
          type:
          - string
          - 'null'
          format: date-time
        maintainer_account_member_id:
          type:
          - string
          - 'null'
        name:
          type: string
        rules:
          type: array
          items:
            $ref: '#/components/schemas/RuleDetailResponseData'
          maxItems: 1000
        updated_at:
          type: string
          format: date-time
      required:
      - created_at
      - default_value
      - description
      - flag_type
      - id
      - key
      - name
      - updated_at
      - rules
      title: FlagInPlanResponseData
    EntitlementPriceBehavior:
      type: string
      enum:
      - credit_burndown
      - overage
      - pay_as_you_go
      - pay_in_advance
      - tier
    BillingPriceView:
      type: object
      properties:
        billing_scheme:
          $ref: '#/components/schemas/BillingPriceScheme'
        created_at:
          type: string
          format: date-time
        currency:
          type: string
        id:
          type: string
        interval:
          $ref: '#/components/schemas/BillingProductPriceInterval'
        is_active:
          type: boolean
        meter_event_name:
          type:
          - string
          - 'null'
        meter_event_payload_key:
          type:
          - string
          - 'null'
        meter_id:
          type:
          - string
          - 'null'
        nickname:
          type:
          - string
          - 'null'
        package_size:
          type: integer
          format: int64
        price:
          type: integer
          format: int64
        price_decimal:
          type:
          - string
          - 'null'
        price_external_id:
          type: string
        price_id:
          type: string
        price_tier:
          type: array
          items:
            $ref: '#/components/schemas/BillingProductPriceTierResponseData'
          maxItems: 100
        product_external_id:
          type: string
        product_id:
          type: string
        product_name:
          type: string
        provider_type:
          $ref: '#/components/schemas/BillingProviderType'
        tiers_mode:
          allOf:
          - $ref: '#/components/schemas/BillingTiersMode'
        updated_at:
          type: string
          format: date-time
        usage_type:
          $ref: '#/components/schemas/BillingPriceUsageType'
      required:
      - id
      - billing_scheme
      - created_at
      - currency
      - interval
      - is_active
      - package_size
      - price
      - price_external_id
      - product_external_id
      - provider_type
      - updated_at
      - usage_type
      - price_id
      - product_id
      - product_name
      - price_tier
      title: BillingPriceView
    PlanVersionStatus:
      type: string
      enum:
      - published
      - draft
      - archived
    FeatureType:
      type: string
      enum:
      - boolean
      - event
      - trait
    BillingPlanCreditGrantResetType:
      type: string
      enum:
      - no_reset
      - plan_period
    PlanType:
      type: string
      enum:
      - plan
      - add_on
    PlanEntitlementResponseData:
      type: object
      properties:
        billing_linked_resource:
          $ref: '#/components/schemas/BillingLinkedResourceResponseData'
        billing_threshold:
          type:
          - integer
          - 'null'
          format: int64
        consumption_rate:
          type:
          - number
          - 'null'
        created_at:
          type: string
          format: date-time
        currency_prices:
          type: array
          items:
            $ref: '#/components/schemas/EntitlementCurrencyPricesResponseData'
          maxItems: 1000
        environment_id:
          type: string
        feature:
          $ref: '#/components/schemas/FeatureResponseData'
        feature_id:
          type: string
        id:
          type: string
        metered_monthly_price:
          $ref: '#/components/schemas/BillingPriceView'
        metered_yearly_price:
          $ref: '#/components/schemas/BillingPriceView'
        metric_period:
          allOf:
          - $ref: '#/components/schemas/MetricPeriod'
        metric_period_month_reset:
          allOf:
          - $ref: '#/components/schemas/MetricPeriodMonthReset'
        plan:
          $ref: '#/components/schemas/PlanResponseData'
        plan_id:
          type: string
        price_behavior:
          allOf:
          - $ref: '#/components/schemas/EntitlementPriceBehavior'
        rule_id:
          type: string
        rule_id_usage_exceeded:
          type:
          - string
          - 'null'
        soft_limit:
          type:
          - integer
          - 'null'
          format: int64
        updated_at:
          type: string
          format: date-time
        usage_based_product:
          $ref: '#/components/schemas/BillingProductResponseData'
        value_bool:
          type:
          - boolean
          - 'null'
        value_credit:
          $ref: '#/components/schemas/BillingCreditResponseData'
        value_numeric:
          type:
          - integer
          - 'null'
          format: int64
        value_trait:
          $ref: '#/components/schemas/EntityTraitDefinitionResponseData'
        value_trait_id:
          type:
          - string
          - 'null'
        value_type:
          $ref: '#/components/schemas/EntitlementValueType'
      required:
      - created_at
      - currency_prices
      - environment_id
      - feature_id
      - id
      - plan_id
      - rule_id
      - updated_at
      - value_type
      title: PlanEntitlementResponseData
    BillingCreditRolloverPolicy:
      type: string
      enum:
      - expire
      - none
      - rollover
    ComponentCapabilities:
      type: object
      properties:
        badge_visibility:
          type: boolean
        checkout:
          type: boolean
      required:
      - checkout
      - badge_visibility
      title: ComponentCapabilities
    BillingPriceResponseData:
      type: object
      properties:
        currency:
          type: string
        external_price_id:
          type: string
        id:
          type: string
        interval:
          $ref: '#/components/schemas/BillingProductPriceInterval'
        nickname:
          type:
          - string
          - 'null'
        price:
          type: integer
          format: int64
        price_decimal:
          type:
          - string
          - 'null'
        provider_type:
          $ref: '#/components/schemas/BillingProviderType'
        scheme:
          $ref: '#/components/schemas/BillingPriceScheme'
      required:
      - currency
      - external_price_id
      - id
      - interval
      - price
      - provider_type
      - scheme
      title: BillingPriceResponseData
    TraitType:
      type: string
      enum:
      - boolean
      - currency
      - date
      - number
      - string
      - url
    BillingProviderType:
      type: string
      enum:
      - orb
      - schematic
      - stripe
    PublicPlansResponseData:
      type: object
      properties:
        active_add_ons:
          type: array
          items:
            $ref: '#/components/schemas/PlanViewPublicResponseData'
          maxItems: 1000
        active_plans:
          type: array
          items:
            $ref: '#/components/schemas/PlanViewPublicResponseData'
          maxItems: 1000
        add_on_compatibilities:
          type: array
          items:
            $ref: '#/components/schemas/CompatiblePlans'
          maxItems: 1000
        capabilities:
          $ref: '#/components/schemas/ComponentCapabilities'
        display_settings:
          $ref: '#/components/schemas/ComponentDisplaySettings'
        show_as_monthly_prices:
          type: boolean
          deprecated: true
        show_credits:
          type: boolean
          deprecated: true
        show_period_toggle:
          type: boolean
          deprecated: true
        show_zero_price_as_free:
          type: boolean
          deprecated: true
      required:
      - active_add_ons
      - active_plans
      - add_on_compatibilities
      - show_as_monthly_prices
      - show_credits
      - show_period_toggle
      - show_zero_price_as_free
      - display_settings
      title: PublicPlansResponseData
    BillingTiersMode:
      type: string
      enum:
      - graduated
      - volume
    EntityType:
      type: string
      enum:
      - company
      - user
    BillingLinkedResourceResponseData:
      type: object
      properties:
        billing_provider:
          $ref: '#/components/schemas/BillingProviderType'
        external_resource_id:
          type: string
        originator:
          $ref: '#/components/schemas/BillingProviderType'
      required:
      - billing_provider
      - external_resource_id
      - originator
      title: BillingLinkedResourceResponseData
    RuleConditionDetailResponseData:
      type: object
      properties:
        comparison_trait:
          $ref: '#/components/schemas/EntityTraitDefinitionResponseData'
        comparison_trait_id:
          type:
          - string
          - 'null'
        condition_group_id:
          type:
          - string
          - 'null'
        condition_type:
          $ref: '#/components/schemas/ConditionType'
        created_at:
          type: string
          format: date-time
        environment_id:
          type: string
        event_subtype:
          type:
          - string
          - 'null'
        flag_id:
          type:
          - string
          - 'null'
        id:
          type: string
        metric_period:
          allOf:
          - $ref: '#/components/schemas/MetricPeriod'
        metric_period_month_reset:
          allOf:
          - $ref: '#/components/schemas/MetricPeriodMonthReset'
        metric_value:
          type:
          - integer
          - 'null'
          format: int64
        operator:
          $ref: '#/components/schemas/ComparableOperator'
        resource_ids:
          type: array
          items:
            type: string
          maxItems: 1000
        resources:
          type: array
          items:
            $ref: '#/components/schemas/PreviewObjectResponseData'
          maxItems: 1000
        rule_id:
          type: string
        trait:
          $ref: '#/components/schemas/EntityTraitDefinitionResponseData'
        trait_entity_type:
          allOf:
          - $ref: '#/components/schemas/EntityType'
        trait_id:
          type:
          - string
          - 'null'
        trait_value:
          type: string
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - environment_id
      - rule_id
      - condition_type
      - operator
      - created_at
      - updated_at
      - resource_ids
      - trait_value
      - resources
      title: RuleConditionDetailResponseData
    EntityTraitDefinitionResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        display_name:
          type: string
        entity_type:
          $ref: '#/components/schemas/EntityType'
        hierarchy:
          type: array
          items:
            type: string
          maxItems: 1000
        id:
          type: string
        trait_type:
          $ref: '#/components/schemas/TraitType'
        updated_at:
          type: string
          format: date-time
      required:
      - created_at
      - display_name
      - entity_type
      - hierarchy
      - id
      - trait_type
      - updated_at
      title: EntityTraitDefinitionResponseData
    RuleConditionGroupDetailResponseData:
      type: object
      properties:
        conditions:
          type: array
          items:
            $ref: '#/components/schemas/RuleConditionDetailResponseData'
          maxItems: 1000
        created_at:
          type: string
          format: date-time
        environment_id:
          type: string
        flag_id:
          type:
          - string
          - 'null'
        id:
          type: string
        rule_id:
          type: string
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - environment_id
      - rule_id
      - created_at
      - updated_at
      - conditions
      title: RuleConditionGroupDetailResponseData
    MetricPeriod:
      type: string
      enum:
      - all_time
      - current_day
      - current_month
      - current_week
    ComparableOperator:
      type: string
      enum:
      - eq
      - gt
      - gte
      - is_empty
      - lt
      - lte
      - not_empty
      - ne
    BillingCreditBurnStrategy:
      type: string
      enum:
      - expiration_priority
      - first_in_first_out
      - last_in_first_out
      - plan_first_then_credit_bundles_first_in_first_out
    PlanVersionResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        description:
          type: string
        environment_id:
          type: string
        icon:
          $ref: '#/components/schemas/PlanIcon'
        id:
          type: string
        name:
          type: string
        original_plan_id:
          type:
          - string
          - 'null'
        plan_type:
          $ref: '#/components/schemas/PlanType'
        status:
          $ref: '#/components/schemas/PlanVersionStatus'
        updated_at:
          type: string
          format: date-time
        version:
          type: integer
          format: int64
      required:
      - created_at
      - description
      - environment_id
      - icon
      - id
      - name
      - plan_type
      - status
      - updated_at
      - version
      title: PlanVersionResponseData
    PlanCreditGrantView:
      type: object
      properties:
        billing_credit_auto_topup_amount:
          type:
          - integer
          - 'null'
          format: int64
        billing_credit_auto

# --- truncated at 32 KB (40 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/schematic/refs/heads/main/openapi/schematic-componentspublic-api-openapi.yml