Schematic checkout API

The checkout API from Schematic — 7 operation(s) for checkout.

Documentation

Specifications

SDKs

Schemas & Data

Other Resources

OpenAPI Specification

schematic-checkout-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Schematic accesstokens checkout API
  version: '0.1'
  description: Schematic API
  x-rules-engine-schema-version: v97288f60
servers:
- url: https://api.schematichq.com
security:
- ApiKeyAuth: []
tags:
- name: checkout
paths:
  /checkout-internal:
    post:
      operationId: checkoutInternal
      summary: Checkout internal
      tags:
      - checkout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeSubscriptionInternalRequestBody'
        required: true
      responses:
        '201':
          description: Created
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/CheckoutSubscription'
                  params:
                    type: object
                    description: Input parameters
                    title: CheckoutInternalParams
                required:
                - data
                - params
                title: CheckoutInternalResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /checkout-internal/data:
    post:
      operationId: getCheckoutData
      summary: Get checkout data
      tags:
      - checkout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CheckoutDataRequestBody'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/CheckoutDataResponseData'
                  params:
                    type: object
                    description: Input parameters
                    title: GetCheckoutDataParams
                required:
                - data
                - params
                title: GetCheckoutDataResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /checkout-internal/preview:
    post:
      operationId: previewCheckoutInternal
      summary: Preview checkout internal
      tags:
      - checkout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ChangeSubscriptionInternalRequestBody'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/PreviewSubscriptionChangeResponseData'
                  params:
                    type: object
                    description: Input parameters
                    title: PreviewCheckoutInternalParams
                required:
                - data
                - params
                title: PreviewCheckoutInternalResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /manage-plan:
    post:
      operationId: managePlan
      summary: Manage plan
      tags:
      - checkout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagePlanRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ManagePlanResponseResponseData'
                  params:
                    type: object
                    description: Input parameters
                    title: ManagePlanParams
                required:
                - data
                - params
                title: ManagePlanResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /manage-plan/preview:
    post:
      operationId: previewManagePlan
      summary: Preview manage plan
      tags:
      - checkout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ManagePlanRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ManagePlanPreviewResponseResponseData'
                  params:
                    type: object
                    description: Input parameters
                    title: PreviewManagePlanParams
                required:
                - data
                - params
                title: PreviewManagePlanResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /manage-plan/subscription/cancel:
    post:
      operationId: cancelSubscription
      summary: Cancel subscription
      tags:
      - checkout
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CancelSubscriptionRequest'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/ManagePlanResponseResponseData'
                  params:
                    type: object
                    description: Input parameters
                    title: CancelSubscriptionParams
                required:
                - data
                - params
                title: CancelSubscriptionResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
  /subscription/{subscription_id}/edit-trial-end:
    put:
      operationId: updateCustomerSubscriptionTrialEnd
      summary: Update customer subscription trial end
      tags:
      - checkout
      parameters:
      - name: subscription_id
        in: path
        description: subscription_id
        required: true
        schema:
          type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateTrialEndRequestBody'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/BillingSubscriptionView'
                  params:
                    type: object
                    description: Input parameters
                    title: UpdateCustomerSubscriptionTrialEndParams
                required:
                - data
                - params
                title: UpdateCustomerSubscriptionTrialEndResponse
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '403':
          $ref: '#/components/responses/Forbidden'
        '404':
          $ref: '#/components/responses/NotFound'
        '500':
          $ref: '#/components/responses/ServerError'
components:
  responses:
    Forbidden:
      description: Forbidden
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    BadRequest:
      description: Bad request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    ServerError:
      description: Server error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
    NotFound:
      description: Not found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ApiError'
  schemas:
    CreditCurrencyPriceResponseData:
      type: object
      properties:
        currency:
          type: string
        price:
          $ref: '#/components/schemas/BillingPriceResponseData'
      required:
      - currency
      title: CreditCurrencyPriceResponseData
    UpdateTrialEndRequestBody:
      type: object
      properties:
        trial_end:
          type: string
          format: date-time
          nullable: true
      title: UpdateTrialEndRequestBody
    BillingProductForSubscriptionResponseData:
      type: object
      properties:
        billing_scheme:
          $ref: '#/components/schemas/BillingPriceScheme'
        billing_threshold:
          type: integer
          format: int64
          nullable: true
        created_at:
          type: string
          format: date-time
        currency:
          type: string
        environment_id:
          type: string
        external_id:
          type: string
        id:
          type: string
        interval:
          type: string
        meter_id:
          type: string
          nullable: true
        name:
          type: string
        package_size:
          type: integer
          format: int64
        price:
          type: integer
          format: int64
        price_decimal:
          type: string
          nullable: true
        price_external_id:
          type: string
        price_id:
          type: string
        price_tier:
          type: array
          items:
            $ref: '#/components/schemas/BillingProductPriceTierResponseData'
          maxItems: 100
        provider_type:
          $ref: '#/components/schemas/BillingProviderType'
        quantity:
          type: number
        subscription_id:
          type: string
        subscription_item_external_id:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
        usage_type:
          $ref: '#/components/schemas/BillingPriceUsageType'
      required:
      - id
      - created_at
      - currency
      - environment_id
      - external_id
      - interval
      - name
      - package_size
      - price
      - price_external_id
      - price_id
      - price_tier
      - provider_type
      - quantity
      - billing_scheme
      - subscription_id
      - updated_at
      - usage_type
      title: BillingProductForSubscriptionResponseData
    BillingPlanCreditGrantResetStart:
      type: string
      enum:
      - billing_period
      - first_of_month
    ChangeSubscriptionInternalRequestBody:
      type: object
      properties:
        add_on_ids:
          type: array
          items:
            $ref: '#/components/schemas/UpdateAddOnRequestBody'
          maxItems: 100
        company_id:
          type: string
        coupon_external_id:
          type: string
          nullable: true
          maxLength: 255
        credit_bundles:
          type: array
          items:
            $ref: '#/components/schemas/UpdateCreditBundleRequestBody'
          maxItems: 100
        new_plan_id:
          type: string
        new_price_id:
          type: string
        pay_in_advance:
          type: array
          items:
            $ref: '#/components/schemas/UpdatePayInAdvanceRequestBody'
          maxItems: 100
        payment_method_id:
          type: string
          nullable: true
          maxLength: 255
        promo_code:
          type: string
          nullable: true
          maxLength: 255
        skip_trial:
          type: boolean
      required:
      - add_on_ids
      - pay_in_advance
      - credit_bundles
      - new_plan_id
      - new_price_id
      - skip_trial
      - company_id
      title: ChangeSubscriptionInternalRequestBody
    FeatureUsageDetailResponseData:
      type: object
      properties:
        features:
          type: array
          items:
            $ref: '#/components/schemas/FeatureUsageResponseData'
          maxItems: 1000
      required:
      - features
      title: FeatureUsageDetailResponseData
    CompanyDetailResponseData:
      type: object
      properties:
        add_ons:
          type: array
          items:
            $ref: '#/components/schemas/CompanyPlanWithBillingSubView'
          maxItems: 1000
        billing_credit_balances:
          additionalProperties:
            type: number
          type: object
          nullable: true
        billing_subscription:
          $ref: '#/components/schemas/BillingSubscriptionView'
        billing_subscriptions:
          type: array
          items:
            $ref: '#/components/schemas/BillingSubscriptionView'
          maxItems: 1000
        created_at:
          type: string
          format: date-time
        custom_plan_billings:
          type: array
          items:
            $ref: '#/components/schemas/CustomPlanBillingResponseData'
          maxItems: 1000
        default_payment_method:
          $ref: '#/components/schemas/PaymentMethodResponseData'
        entitlements:
          type: array
          items:
            $ref: '#/components/schemas/FeatureEntitlement'
          maxItems: 1000
        entity_traits:
          type: array
          items:
            $ref: '#/components/schemas/EntityTraitDetailResponseData'
          maxItems: 1000
        environment_id:
          type: string
        id:
          type: string
        keys:
          type: array
          items:
            $ref: '#/components/schemas/EntityKeyDetailResponseData'
          maxItems: 1000
        last_seen_at:
          type: string
          format: date-time
          nullable: true
        logo_url:
          type: string
          nullable: true
        metrics:
          type: array
          items:
            $ref: '#/components/schemas/CompanyEventPeriodMetricsResponseData'
          maxItems: 1000
        name:
          type: string
        payment_methods:
          type: array
          items:
            $ref: '#/components/schemas/PaymentMethodResponseData'
          maxItems: 1000
        plan:
          $ref: '#/components/schemas/CompanyPlanWithBillingSubView'
        plans:
          type: array
          items:
            $ref: '#/components/schemas/GenericPreviewObject'
          maxItems: 1000
        rules:
          type: array
          items:
            $ref: '#/components/schemas/Rule'
          maxItems: 1000
        scheduled_downgrade:
          $ref: '#/components/schemas/ScheduledDowngradeResponseData'
        traits:
          type: object
          description: A map of trait names to trait values
        updated_at:
          type: string
          format: date-time
        user_count:
          type: integer
          format: int64
      required:
      - created_at
      - environment_id
      - id
      - name
      - updated_at
      - add_ons
      - billing_subscriptions
      - custom_plan_billings
      - entitlements
      - entity_traits
      - keys
      - metrics
      - payment_methods
      - plans
      - rules
      - user_count
      title: CompanyDetailResponseData
    CompanyOverrideNoteResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        external_user_id:
          type: string
        external_user_name:
          type: string
        id:
          type: string
        note:
          type: string
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - external_user_id
      - external_user_name
      - note
      - created_at
      - updated_at
      title: CompanyOverrideNoteResponseData
    BillingCreditGrantReason:
      type: string
      enum:
      - adjustment
      - billing_credit_auto_topup
      - free
      - plan
      - purchased
    BillingPlanCreditGrantResetType:
      type: string
      enum:
      - no_reset
      - plan_period
    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
          format: date-time
          nullable: true
        user_count:
          type: integer
          format: int64
      required:
      - company_count
      - environment_id
      - event_count
      - event_subtype
      - user_count
      title: EventSummaryResponseData
    BillingCreditBurnStrategy:
      type: string
      enum:
      - expiration_priority
      - first_in_first_out
      - last_in_first_out
      - plan_first_then_credit_bundles_first_in_first_out
    PlanCurrencyPricesResponseData:
      type: object
      properties:
        currency:
          type: string
        monthly_price:
          $ref: '#/components/schemas/BillingPriceResponseData'
        one_time_price:
          $ref: '#/components/schemas/BillingPriceResponseData'
        yearly_price:
          $ref: '#/components/schemas/BillingPriceResponseData'
      required:
      - currency
      title: PlanCurrencyPricesResponseData
    BillingPriceResponseData:
      type: object
      properties:
        currency:
          type: string
        external_price_id:
          type: string
        id:
          type: string
        interval:
          $ref: '#/components/schemas/BillingProductPriceInterval'
        nickname:
          type: string
          nullable: true
        price:
          type: integer
          format: int64
        price_decimal:
          type: string
          nullable: true
        provider_type:
          $ref: '#/components/schemas/BillingProviderType'
        scheme:
          $ref: '#/components/schemas/BillingPriceScheme'
      required:
      - currency
      - external_price_id
      - id
      - interval
      - price
      - provider_type
      - scheme
      title: BillingPriceResponseData
    CreditBundlePurchaseResponseData:
      type: object
      properties:
        bundle:
          $ref: '#/components/schemas/BillingCreditBundleResponseData'
        quantity:
          type: integer
          format: int64
        total:
          type: integer
          format: int64
      required:
      - quantity
      - total
      title: CreditBundlePurchaseResponseData
    CustomPlanBillingResponseData:
      type: object
      properties:
        activation_strategy:
          $ref: '#/components/schemas/CustomPlanActivationStrategy'
        company_id:
          type: string
        created_at:
          type: string
          format: date-time
        days_until_due:
          type: integer
          format: int64
        id:
          type: string
        paid_at:
          type: string
          format: date-time
          nullable: true
        plan_id:
          type: string
        published_at:
          type: string
          format: date-time
          nullable: true
        status:
          $ref: '#/components/schemas/CustomPlanBillingStatus'
        stripe_invoice_url:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
      required:
      - activation_strategy
      - company_id
      - created_at
      - days_until_due
      - id
      - plan_id
      - status
      - updated_at
      title: CustomPlanBillingResponseData
    CompanyEventPeriodMetricsResponseData:
      type: object
      properties:
        account_id:
          type: string
        captured_at_max:
          type: string
          format: date-time
        captured_at_min:
          type: string
          format: date-time
        company_id:
          type: string
        created_at:
          type: string
          format: date-time
        environment_id:
          type: string
        event_subtype:
          type: string
        month_reset:
          $ref: '#/components/schemas/MetricPeriodMonthReset'
        period:
          $ref: '#/components/schemas/MetricPeriod'
        valid_until:
          type: string
          format: date-time
          nullable: true
        value:
          type: integer
          format: int64
      required:
      - account_id
      - captured_at_max
      - captured_at_min
      - company_id
      - created_at
      - environment_id
      - event_subtype
      - month_reset
      - period
      - value
      title: CompanyEventPeriodMetricsResponseData
    FeatureEntitlement:
      type: object
      properties:
        allocation:
          type: integer
          description: If the company has a numeric entitlement for this feature, the allocated amount
          format: int64
          nullable: true
        credit_id:
          type: string
          description: If the company has a credit-based entitlement for this feature, the ID of the credit
          nullable: true
        credit_remaining:
          type: number
          description: If the company has a credit-based entitlement for this feature, the remaining credit amount
          nullable: true
        credit_total:
          type: number
          description: If the company has a credit-based entitlement for this feature, the total credit amount
          nullable: true
        credit_used:
          type: number
          description: If the company has a credit-based entitlement for this feature, the amount of credit used
          nullable: true
        event_name:
          type: string
          description: If the feature is event-based, the name of the event tracked for usage
          nullable: true
        feature_id:
          type: string
          description: The ID of the feature
        feature_key:
          type: string
          description: The key of the flag associated with the feature
        metric_period:
          allOf:
          - $ref: '#/components/schemas/MetricPeriod'
          description: For event-based feature entitlements, the period over which usage is tracked
          nullable: true
        metric_reset_at:
          type: string
          description: For event-based feature entitlements, when the usage period will reset
          format: date-time
          nullable: true
        month_reset:
          allOf:
          - $ref: '#/components/schemas/MetricPeriodMonthReset'
          description: For event-based feature entitlements that have a monthly period, whether that monthly reset is based on the calendar month or a billing cycle
          nullable: true
        soft_limit:
          type: integer
          description: For usage-based pricing, the soft limit for overage charges or the next tier boundary
          format: int64
          nullable: true
        usage:
          type: integer
          description: If the company has a numeric entitlement for this feature, the current usage amount
          format: int64
          nullable: true
        value_type:
          allOf:
          - $ref: '#/components/schemas/EntitlementValueType'
          description: The type of the entitlement value
      required:
      - feature_id
      - feature_key
      - value_type
      title: FeatureEntitlement
    FlagType:
      type: string
      enum:
      - boolean
    UpdateAddOnRequestBody:
      type: object
      properties:
        add_on_id:
          type: string
        price_id:
          type: string
      required:
      - add_on_id
      - price_id
      title: UpdateAddOnRequestBody
    CreditCurrencyPrice:
      type: object
      properties:
        currency:
          type: string
        price:
          $ref: '#/components/schemas/BillingPriceView'
      required:
      - currency
      title: CreditCurrencyPrice
    BillingProductResponseData:
      type: object
      properties:
        account_id:
          type: string
        created_at:
          type: string
          format: date-time
        currency:
          type: string
          description: Deprecated; currencies are associated with prices, not products
          nullable: true
          deprecated: true
        environment_id:
          type: string
        external_id:
          type: string
        is_active:
          type: boolean
        name:
          type: string
        price:
          type: number
        price_decimal:
          type: string
          nullable: true
        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
    EntitlementCurrencyPricesResponseData:
      type: object
      properties:
        currency:
          type: string
        monthly_price:
          $ref: '#/components/schemas/BillingPriceView'
        yearly_price:
          $ref: '#/components/schemas/BillingPriceView'
      required:
      - currency
      title: EntitlementCurrencyPricesResponseData
    CustomPlanBillingStatus:
      type: string
      enum:
      - active
      - expired
      - paid
      - pending
    EntityKeyDefinitionResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        entity_type:
          $ref: '#/components/schemas/EntityType'
        id:
          type: string
        key:
          type: string
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - entity_type
      - key
      - created_at
      - updated_at
      title: EntityKeyDefinitionResponseData
    BillingPriceScheme:
      type: string
      enum:
      - per_unit
      - tiered
    BillingProductPriceTierResponseData:
      type: object
      properties:
        flat_amount:
          type: integer
          format: int64
          nullable: true
        per_unit_price:
          type: integer
          format: int64
          nullable: true
        per_unit_price_decimal:
          type: string
          nullable: true
        up_to:
          type: integer
          format: int64
          nullable: true
      title: BillingProductPriceTierResponseData
    ChargeType:
      type: string
      enum:
      - free
      - one_time
      - recurring
    EntitlementValueType:
      type: string
      enum:
      - boolean
      - credit
      - numeric
      - trait
      - unknown
      - unlimited
    BillingCreditBundleStatus:
      type: string
      enum:
      - active
      - inactive
    FeatureResponseData:
      type: object
      properties:
        created_at:
          type: string
          format: date-time
        description:
          type: string
        event_subtype:
          type: string
          nullable: true
        feature_type:
          $ref: '#/components/schemas/FeatureType'
        icon:
          type: string
        id:
          type: string
        lifecycle_phase:
          allOf:
          - $ref: '#/components/schemas/FeatureLifecyclePhase'
          nullable: true
        maintainer_account_member_id:
          type: string
          nullable: true
        name:
          type: string
        plural_name:
          type: string
          nullable: true
        singular_name:
          type: string
          nullable: true
        trait_id:
          type: string
          nullable: true
        updated_at:
          type: string
          format: date-time
      required:
      - id
      - name
      - description
      - feature_type
      - icon
      - created_at
      - updated_at
      title: FeatureResponseData
    BillingCreditBundleType:
      type: string
      enum:
      - fixed
    FeatureUsageResponseData:
      type: object
      properties:
        access:
          type: boolean
          description: Whether further usage is permitted.
        allocation:
          type: integer
          description: The maximum amount of usage that is permitted; a null value indicates that unlimited usage is permitted or that this is a credit-based entitlement (use credit_remaining instead).
          format: int64
          nullable: true
        allocation_type:
          allOf:
          - $ref: '#/components/schemas/EntitlementValueType'
          description: The type of allocation that is being used.
        company_override:
          $ref: '#/components/schemas/CompanyOverrideResponseData'
        credit_consumption_rate:
          type: number
          description: The rate at which credits are consumed per unit of usage
          nullable: true
        credit_grant_counts:
          additionalProperties:
            type: number
          type: object
        credit_grant_details:
          type: array
          items:
            $ref: '#/components/schemas/CreditGrantDetail'
          maxItems: 1000
        credit_grant_reason:
          allOf:
          - $ref: '#/components/schemas/BillingCreditGrantReason'
          description: Reason for the credit grant
          nullable: true
        credit_remaining:
          type: number
          nullable: true
        credit_total:
          type: number
          description: 'Deprecated: Use credit_remaining instead.'
          nullable: true
          deprecated: true
        credit_type_icon:
          type: string
          description: Icon identifier for the credit type
          nullable: true
        credit_usage_aggregation:
          allOf:
          - $ref: '#/components/schemas/CreditUsageAggregation'
          description: Aggregated credit usage by time period (day, week, month, billing period)
        credit_used:
          type: number
          nullable: true
        effective_limit:
          type: integer
          description: Effective limit for usage calculations. For overage pricing, this is the soft limit where overage charges begin. For tiered pricing, this is the first tier boundary. For other pricing models, this is the base allocation. Used to calculate usage percentages and determine access thresholds.
          format: int64
          nullable: true
        effective_price:
          type: number
          description: Per-unit price for current usage scenario
          nullable: true
        entitlement_expiration_date:
          type: string
          format: date-time
          nullable: true
        entitlement_id:
          type: string
        entitlement_source:
          type: string
          description: Source of the entitlement (plan or company_override)
          nullable: true
        entitlement_type:
          $ref: '#/components/schemas/EntitlementType'
        feature:
          $ref: '#/componen

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