> ## Documentation Index
> Fetch the complete documentation index at: https://docs.stigg.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Subscription

> Creates a new subscription for an existing customer. When payment is required and no payment method exists, returns a checkout URL.



## OpenAPI

````yaml POST /api/v1/subscriptions
openapi: 3.0.0
info:
  title: Stigg API
  description: Stigg API documentation
  version: 7.93.1
  contact: {}
servers:
  - url: https://api.stigg.io
    description: Production
security:
  - ApiKeyAuth: []
tags:
  - name: Customers
    description: Operations related to customers
  - name: Subscriptions
    description: Operations related to subscriptions
  - name: Coupons
    description: Operations related to coupons
  - name: Bulk Import
    description: Operations related to import of customers and subscriptions
  - name: Usage
    description: Operations related to usage & metering
  - name: Promotional Entitlements
    description: Operations related to promotional entitlements
  - name: Products
    description: Operations related to products
  - name: Features
    description: Operations related to features
  - name: Addons
    description: Operations related to addons
  - name: Plans
    description: Operations related to plans
  - name: Credit grants
    description: Operations related to credit grants
  - name: Credit ledger
    description: Operations related to credit ledger
  - name: Custom currencies
    description: Operations related to custom currencies
paths:
  /api/v1/subscriptions:
    post:
      tags:
        - Subscriptions
      summary: Provision subscription
      description: >-
        Creates a new subscription for an existing customer. When payment is
        required and no payment method exists, returns a checkout URL.
      operationId: SubscriptionController_provisionSubscription
      parameters:
        - name: X-ACCOUNT-ID
          in: header
          description: >-
            Account ID — optional when authenticating with a user JWT (Bearer
            token); falls back to the user's first membership. Ignored for
            API-key auth.
          required: false
          schema:
            type: string
        - name: X-ENVIRONMENT-ID
          in: header
          description: >-
            Environment ID — required when authenticating with a user JWT
            (Bearer token) on environment-scoped endpoints. Ignored for API-key
            auth (env is intrinsic to the key).
          required: false
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ProvisionSubscriptionRequestDto'
      responses:
        '201':
          description: The newly created subscription object.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProvisionSubscriptionResponseDto'
        '400':
          description: bad request.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BadInputErrorResponseDto'
        '401':
          description: User is not authenticated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UnauthenticatedErrorResponseDto'
        '403':
          description: User is not allowed to access this resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ForbiddenErrorResponseDto'
        '409':
          description: Subscription conflict error.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ConflictErrorResponseDto'
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TooManyRequestsErrorResponseDto'
      x-codeSamples:
        - lang: JavaScript
          source: |-
            import Stigg from '@stigg/typescript';

            const client = new Stigg({
              apiKey: process.env['STIGG_API_KEY'], // This is the default and can be omitted
            });

            const response = await client.v1.subscriptions.provision({
              customerId: 'customerId',
              planId: 'planId',
            });

            console.log(response.data);
        - lang: Python
          source: |-
            import os
            from stigg import Stigg

            client = Stigg(
                api_key=os.environ.get("STIGG_API_KEY"),  # This is the default and can be omitted
            )
            response = client.v1.subscriptions.provision(
                customer_id="customerId",
                plan_id="planId",
            )
            print(response.data)
        - lang: Go
          source: "package main\n\nimport (\n\t\"context\"\n\t\"fmt\"\n\n\t\"github.com/stiggio/stigg-go\"\n\t\"github.com/stiggio/stigg-go/option\"\n)\n\nfunc main() {\n\tclient := stigg.NewClient(\n\t\toption.WithAPIKey(\"My API Key\"),\n\t)\n\tresponse, err := client.V1.Subscriptions.Provision(context.TODO(), stigg.V1SubscriptionProvisionParams{\n\t\tCustomerID: \"customerId\",\n\t\tPlanID:     \"planId\",\n\t})\n\tif err != nil {\n\t\tpanic(err.Error())\n\t}\n\tfmt.Printf(\"%+v\\n\", response.Data)\n}\n"
        - lang: Java
          source: >-
            package io.stigg.example;


            import io.stigg.client.StiggClient;

            import io.stigg.client.okhttp.StiggOkHttpClient;

            import io.stigg.models.v1.subscriptions.SubscriptionProvisionParams;

            import
            io.stigg.models.v1.subscriptions.SubscriptionProvisionResponse;


            public final class Main {
                private Main() {}

                public static void main(String[] args) {
                    StiggClient client = StiggOkHttpClient.fromEnv();

                    SubscriptionProvisionParams params = SubscriptionProvisionParams.builder()
                        .customerId("customerId")
                        .planId("planId")
                        .build();
                    SubscriptionProvisionResponse response = client.v1().subscriptions().provision(params);
                }
            }
        - lang: Ruby
          source: >-
            require "stigg"


            stigg = Stigg::Client.new(api_key: "My API Key")


            response = stigg.v1.subscriptions.provision(customer_id:
            "customerId", plan_id: "planId")


            puts(response)
        - lang: C#
          source: |-
            using System;
            using Stigg.Client;
            using Stigg.Client.Models.V1.Subscriptions;

            StiggClient client = new();

            SubscriptionProvisionParams parameters = new()
            {
                CustomerID = "customerId",
                PlanID = "planId",
            };

            var response = await client.V1.Subscriptions.Provision(parameters);

            Console.WriteLine(response);
        - lang: CLI
          source: |-
            stigg v1:subscriptions provision \
              --api-key 'My API Key' \
              --customer-id customerId \
              --plan-id planId
components:
  schemas:
    ProvisionSubscriptionRequestDto:
      type: object
      properties:
        id:
          type: string
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
          description: Unique identifier for the subscription
        customerId:
          type: string
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.@-]*$
          description: Customer ID to provision the subscription for
        planId:
          type: string
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
          description: Plan ID to provision
        payingCustomerId:
          type: string
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.@-]*$
          description: Optional paying customer ID for split billing scenarios
          nullable: true
        resourceId:
          type: string
          maxLength: 255
          minLength: 1
          pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
          description: Optional resource ID for multi-instance subscriptions
          nullable: true
        billingPeriod:
          type: string
          enum:
            - MONTHLY
            - ANNUALLY
          description: Billing period (MONTHLY or ANNUALLY)
        addons:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                maxLength: 255
                minLength: 1
                pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                description: Addon ID
              quantity:
                type: integer
                minimum: 0
                description: Number of addon instances
            required:
              - id
              - quantity
            title: SubscriptionAddon
            description: Addon configuration
        charges:
          type: array
          items:
            type: object
            properties:
              type:
                type: string
                enum:
                  - FEATURE
                  - CREDIT
                description: Charge type
              id:
                type: string
                maxLength: 255
                description: Charge ID
              quantity:
                type: number
                minimum: 0
                description: Charge quantity. Minimum is 0 (zero is allowed).
            required:
              - type
              - id
              - quantity
            additionalProperties: false
            title: SubscriptionCharge
            description: >-
              A charge selection for a subscription (references a catalog charge
              with a quantity).
        startDate:
          type: string
          format: date-time
          description: Subscription start date
        cancellationDate:
          type: string
          format: date-time
          description: Subscription cancellation date
        billingInformation:
          type: object
          properties:
            taxRateIds:
              type: array
              items:
                type: string
                maxLength: 255
                description: Tax rate identifiers to apply
              description: Tax rate identifiers to apply
            taxPercentage:
              type: number
              minimum: 0
              maximum: 100
              description: Tax percentage (0-100)
            billingAddress:
              type: object
              properties:
                city:
                  type: string
                country:
                  type: string
                line1:
                  type: string
                line2:
                  type: string
                postalCode:
                  type: string
                state:
                  type: string
              description: Billing address for the subscription
            metadata:
              type: object
              additionalProperties:
                type: string
              description: Additional metadata for the subscription
            chargeOnBehalfOfAccount:
              type: string
              maxLength: 255
              description: Stripe Connect account to charge on behalf of
              nullable: true
            isBackdated:
              default: false
              type: boolean
              description: Whether the subscription is backdated
            isInvoicePaid:
              default: false
              type: boolean
              description: Whether the invoice is marked as paid
            invoiceDaysUntilDue:
              type: number
              description: Number of days until invoice is due
            integrationId:
              type: string
              maxLength: 255
              description: Billing integration identifier
              nullable: true
            prorationBehavior:
              type: string
              enum:
                - INVOICE_IMMEDIATELY
                - CREATE_PRORATIONS
                - NONE
              description: How to handle proration for billing changes
            taxIds:
              type: array
              items:
                type: object
                properties:
                  type:
                    type: string
                    maxLength: 255
                    description: The type of tax exemption identifier, such as VAT.
                  value:
                    type: string
                    maxLength: 255
                    description: The actual tax identifier value
                required:
                  - type
                  - value
                additionalProperties: false
                title: TaxExemptInput
                description: >-
                  Tax identifier with type and value for customer tax
                  exemptions.
              description: Customer tax identification numbers
          additionalProperties: false
        billingId:
          type: string
          maxLength: 255
          description: External billing system identifier
          nullable: true
        billingCountryCode:
          type: string
          maxLength: 255
          description: The ISO 3166-1 alpha-2 country code for billing
          nullable: true
        entitlements:
          type: array
          items:
            discriminator:
              propertyName: type
            oneOf:
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - FEATURE
                    description: SubscriptionFeatureEntitlementRequest
                  id:
                    type: string
                    maxLength: 255
                    minLength: 1
                    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                    description: The feature ID to attach the entitlement to
                  usageLimit:
                    type: integer
                    minimum: 0
                    description: Maximum allowed usage for the feature
                  hasUnlimitedUsage:
                    type: boolean
                    description: Whether usage is unlimited
                  hasSoftLimit:
                    type: boolean
                    description: Whether the usage limit is a soft limit
                  resetPeriod:
                    type: string
                    enum:
                      - YEAR
                      - MONTH
                      - WEEK
                      - DAY
                      - HOUR
                    description: Period at which usage resets
                  yearlyResetPeriodConfiguration:
                    type: object
                    properties:
                      accordingTo:
                        type: string
                        enum:
                          - SubscriptionStart
                        description: Reset anchor (SubscriptionStart)
                    required:
                      - accordingTo
                    title: YearlyResetPeriodConfig
                    description: Configuration for yearly reset period
                    nullable: true
                  monthlyResetPeriodConfiguration:
                    type: object
                    properties:
                      accordingTo:
                        type: string
                        enum:
                          - SubscriptionStart
                          - StartOfTheMonth
                        description: Reset anchor (SubscriptionStart or StartOfTheMonth)
                    required:
                      - accordingTo
                    title: MonthlyResetPeriodConfig
                    description: Configuration for monthly reset period
                    nullable: true
                  weeklyResetPeriodConfiguration:
                    type: object
                    properties:
                      accordingTo:
                        type: string
                        enum:
                          - SubscriptionStart
                          - EverySunday
                          - EveryMonday
                          - EveryTuesday
                          - EveryWednesday
                          - EveryThursday
                          - EveryFriday
                          - EverySaturday
                        description: Reset anchor (SubscriptionStart or specific day)
                    required:
                      - accordingTo
                    title: WeeklyResetPeriodConfig
                    description: Configuration for weekly reset period
                    nullable: true
                required:
                  - type
                  - id
                title: SubscriptionFeatureEntitlementRequest
                description: Feature entitlement configuration for a subscription
              - type: object
                properties:
                  type:
                    type: string
                    enum:
                      - CREDIT
                    description: SubscriptionCreditEntitlementRequest
                  id:
                    type: string
                    maxLength: 255
                    minLength: 1
                    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                    description: The custom currency ID for the credit entitlement
                  amount:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: Credit grant amount
                  cadence:
                    type: string
                    enum:
                      - MONTH
                      - YEAR
                    description: Credit grant cadence (MONTH or YEAR)
                required:
                  - type
                  - id
                  - amount
                  - cadence
                title: SubscriptionCreditEntitlementRequest
                description: Credit entitlement configuration for a subscription
        trialOverrideConfiguration:
          type: object
          properties:
            isTrial:
              type: boolean
              description: Whether the subscription should start with a trial period
            trialEndBehavior:
              type: string
              enum:
                - CONVERT_TO_PAID
                - CANCEL_SUBSCRIPTION
              description: 'Behavior when trial ends: CONVERT_TO_PAID or CANCEL_SUBSCRIPTION'
            trialEndDate:
              type: string
              format: date-time
              description: Custom trial end date
          required:
            - isTrial
          description: Trial period override settings
        scheduleStrategy:
          type: string
          enum:
            - END_OF_BILLING_PERIOD
            - END_OF_BILLING_MONTH
            - IMMEDIATE
          description: Strategy for scheduling subscription changes
        checkoutOptions:
          type: object
          properties:
            successUrl:
              type: string
              maxLength: 255
              format: uri
              description: URL to redirect to after successful checkout
            cancelUrl:
              type: string
              maxLength: 255
              format: uri
              description: URL to redirect to if checkout is canceled
            allowPromoCodes:
              default: false
              type: boolean
              description: Allow promotional codes during checkout
            allowTaxIdCollection:
              default: false
              type: boolean
              description: Allow tax ID collection during checkout
            collectBillingAddress:
              default: false
              type: boolean
              description: Collect billing address during checkout
            referenceId:
              type: string
              maxLength: 255
              description: Optional reference ID for the checkout session
              nullable: true
            collectPhoneNumber:
              default: false
              type: boolean
              description: Collect phone number during checkout
          required:
            - successUrl
            - cancelUrl
          description: Checkout page configuration for payment collection
        metadata:
          type: object
          additionalProperties:
            type: string
          description: Additional metadata for the subscription
        salesforceId:
          type: string
          maxLength: 255
          description: Salesforce ID
          nullable: true
        budget:
          type: object
          properties:
            limit:
              type: number
              description: Maximum spending limit
            hasSoftLimit:
              type: boolean
              description: Whether the budget is a soft limit
          required:
            - limit
            - hasSoftLimit
          additionalProperties: false
          nullable: true
        minimumSpend:
          type: object
          properties:
            amount:
              type: number
              description: The price amount
            currency:
              description: The price currency
              type: string
              enum:
                - usd
                - aed
                - all
                - amd
                - ang
                - aud
                - awg
                - azn
                - bam
                - bbd
                - bdt
                - bgn
                - bif
                - bmd
                - bnd
                - bsd
                - bwp
                - byn
                - bzd
                - brl
                - cad
                - cdf
                - chf
                - cny
                - czk
                - dkk
                - dop
                - dzd
                - egp
                - etb
                - eur
                - fjd
                - gbp
                - gel
                - gip
                - gmd
                - gyd
                - hkd
                - hrk
                - htg
                - idr
                - ils
                - inr
                - isk
                - jmd
                - jpy
                - kes
                - kgs
                - khr
                - kmf
                - krw
                - kyd
                - kzt
                - lbp
                - lkr
                - lrd
                - lsl
                - mad
                - mdl
                - mga
                - mkd
                - mmk
                - mnt
                - mop
                - mro
                - mvr
                - mwk
                - mxn
                - myr
                - mzn
                - nad
                - ngn
                - nok
                - npr
                - nzd
                - pgk
                - php
                - pkr
                - pln
                - qar
                - ron
                - rsd
                - rub
                - rwf
                - sar
                - sbd
                - scr
                - sek
                - sgd
                - sle
                - sll
                - sos
                - szl
                - thb
                - tjs
                - top
                - try
                - ttd
                - tzs
                - uah
                - uzs
                - vnd
                - vuv
                - wst
                - xaf
                - xcd
                - yer
                - zar
                - zmw
                - clp
                - djf
                - gnf
                - ugx
                - pyg
                - xof
                - xpf
              title: Currency
          description: Minimum spend amount
          nullable: true
        priceOverrides:
          type: array
          items:
            type: object
            properties:
              amount:
                type: number
                description: The price amount
              currency:
                description: The price currency
                type: string
                enum:
                  - usd
                  - aed
                  - all
                  - amd
                  - ang
                  - aud
                  - awg
                  - azn
                  - bam
                  - bbd
                  - bdt
                  - bgn
                  - bif
                  - bmd
                  - bnd
                  - bsd
                  - bwp
                  - byn
                  - bzd
                  - brl
                  - cad
                  - cdf
                  - chf
                  - cny
                  - czk
                  - dkk
                  - dop
                  - dzd
                  - egp
                  - etb
                  - eur
                  - fjd
                  - gbp
                  - gel
                  - gip
                  - gmd
                  - gyd
                  - hkd
                  - hrk
                  - htg
                  - idr
                  - ils
                  - inr
                  - isk
                  - jmd
                  - jpy
                  - kes
                  - kgs
                  - khr
                  - kmf
                  - krw
                  - kyd
                  - kzt
                  - lbp
                  - lkr
                  - lrd
                  - lsl
                  - mad
                  - mdl
                  - mga
                  - mkd
                  - mmk
                  - mnt
                  - mop
                  - mro
                  - mvr
                  - mwk
                  - mxn
                  - myr
                  - mzn
                  - nad
                  - ngn
                  - nok
                  - npr
                  - nzd
                  - pgk
                  - php
                  - pkr
                  - pln
                  - qar
                  - ron
                  - rsd
                  - rub
                  - rwf
                  - sar
                  - sbd
                  - scr
                  - sek
                  - sgd
                  - sle
                  - sll
                  - sos
                  - szl
                  - thb
                  - tjs
                  - top
                  - try
                  - ttd
                  - tzs
                  - uah
                  - uzs
                  - vnd
                  - vuv
                  - wst
                  - xaf
                  - xcd
                  - yer
                  - zar
                  - zmw
                  - clp
                  - djf
                  - gnf
                  - ugx
                  - pyg
                  - xof
                  - xpf
                title: Currency
              featureId:
                type: string
                maxLength: 255
                minLength: 1
                pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                description: Feature identifier for the price override
                nullable: true
              addonId:
                type: string
                maxLength: 255
                minLength: 1
                pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                description: Addon identifier for the price override
                nullable: true
              baseCharge:
                type: boolean
                description: Whether this is a base charge override
              billingCountryCode:
                type: string
                maxLength: 255
                description: The billing country code of the price
              blockSize:
                type: number
                description: Block size for pricing
              tiers:
                type: array
                items:
                  type: object
                  properties:
                    upTo:
                      type: number
                      description: The up to quantity of the price tier
                    unitPrice:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: The price amount
                        currency:
                          description: ISO 4217 currency code
                          type: string
                          enum:
                            - usd
                            - aed
                            - all
                            - amd
                            - ang
                            - aud
                            - awg
                            - azn
                            - bam
                            - bbd
                            - bdt
                            - bgn
                            - bif
                            - bmd
                            - bnd
                            - bsd
                            - bwp
                            - byn
                            - bzd
                            - brl
                            - cad
                            - cdf
                            - chf
                            - cny
                            - czk
                            - dkk
                            - dop
                            - dzd
                            - egp
                            - etb
                            - eur
                            - fjd
                            - gbp
                            - gel
                            - gip
                            - gmd
                            - gyd
                            - hkd
                            - hrk
                            - htg
                            - idr
                            - ils
                            - inr
                            - isk
                            - jmd
                            - jpy
                            - kes
                            - kgs
                            - khr
                            - kmf
                            - krw
                            - kyd
                            - kzt
                            - lbp
                            - lkr
                            - lrd
                            - lsl
                            - mad
                            - mdl
                            - mga
                            - mkd
                            - mmk
                            - mnt
                            - mop
                            - mro
                            - mvr
                            - mwk
                            - mxn
                            - myr
                            - mzn
                            - nad
                            - ngn
                            - nok
                            - npr
                            - nzd
                            - pgk
                            - php
                            - pkr
                            - pln
                            - qar
                            - ron
                            - rsd
                            - rub
                            - rwf
                            - sar
                            - sbd
                            - scr
                            - sek
                            - sgd
                            - sle
                            - sll
                            - sos
                            - szl
                            - thb
                            - tjs
                            - top
                            - try
                            - ttd
                            - tzs
                            - uah
                            - uzs
                            - vnd
                            - vuv
                            - wst
                            - xaf
                            - xcd
                            - yer
                            - zar
                            - zmw
                            - clp
                            - djf
                            - gnf
                            - ugx
                            - pyg
                            - xof
                            - xpf
                          title: Currency
                      required:
                        - amount
                        - currency
                      title: Money
                      description: The unit price of the price tier
                    flatPrice:
                      type: object
                      properties:
                        amount:
                          type: number
                          description: The price amount
                        currency:
                          description: ISO 4217 currency code
                          type: string
                          enum:
                            - usd
                            - aed
                            - all
                            - amd
                            - ang
                            - aud
                            - awg
                            - azn
                            - bam
                            - bbd
                            - bdt
                            - bgn
                            - bif
                            - bmd
                            - bnd
                            - bsd
                            - bwp
                            - byn
                            - bzd
                            - brl
                            - cad
                            - cdf
                            - chf
                            - cny
                            - czk
                            - dkk
                            - dop
                            - dzd
                            - egp
                            - etb
                            - eur
                            - fjd
                            - gbp
                            - gel
                            - gip
                            - gmd
                            - gyd
                            - hkd
                            - hrk
                            - htg
                            - idr
                            - ils
                            - inr
                            - isk
                            - jmd
                            - jpy
                            - kes
                            - kgs
                            - khr
                            - kmf
                            - krw
                            - kyd
                            - kzt
                            - lbp
                            - lkr
                            - lrd
                            - lsl
                            - mad
                            - mdl
                            - mga
                            - mkd
                            - mmk
                            - mnt
                            - mop
                            - mro
                            - mvr
                            - mwk
                            - mxn
                            - myr
                            - mzn
                            - nad
                            - ngn
                            - nok
                            - npr
                            - nzd
                            - pgk
                            - php
                            - pkr
                            - pln
                            - qar
                            - ron
                            - rsd
                            - rub
                            - rwf
                            - sar
                            - sbd
                            - scr
                            - sek
                            - sgd
                            - sle
                            - sll
                            - sos
                            - szl
                            - thb
                            - tjs
                            - top
                            - try
                            - ttd
                            - tzs
                            - uah
                            - uzs
                            - vnd
                            - vuv
                            - wst
                            - xaf
                            - xcd
                            - yer
                            - zar
                            - zmw
                            - clp
                            - djf
                            - gnf
                            - ugx
                            - pyg
                            - xof
                            - xpf
                          title: Currency
                      required:
                        - amount
                        - currency
                      title: Money
                      description: The flat fee price of the price tier
                  additionalProperties: false
                description: Pricing tiers configuration
              creditRate:
                type: object
                properties:
                  amount:
                    type: number
                    minimum: 0
                    exclusiveMinimum: true
                    description: The credit rate amount
                  currencyId:
                    type: string
                    maxLength: 255
                    minLength: 1
                    pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                    description: The custom currency refId for the credit rate
                  costFormula:
                    type: string
                    maxLength: 255
                    description: >-
                      A custom formula for calculating cost based on single
                      event dimensions
                    nullable: true
                required:
                  - amount
                  - currencyId
                additionalProperties: false
              creditGrantCadence:
                type: string
                enum:
                  - BEGINNING_OF_BILLING_PERIOD
                  - MONTHLY
        paymentCollectionMethod:
          default: CHARGE
          type: string
          enum:
            - CHARGE
            - INVOICE
            - NONE
          description: How payments should be collected for this subscription
        appliedCoupon:
          type: object
          properties:
            couponId:
              type: string
              maxLength: 255
              minLength: 1
              pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
              description: Stigg coupon ID
            billingCouponId:
              type: string
              maxLength: 255
              description: Billing provider coupon ID
            promotionCode:
              type: string
              maxLength: 255
              description: Promotion code to apply
            discount:
              type: object
              properties:
                name:
                  type: string
                  maxLength: 255
                  description: Discount name
                description:
                  type: string
                  maxLength: 255
                  description: Ad-hoc discount
                durationInMonths:
                  type: number
                  minimum: 1
                  description: Duration in months
                percentOff:
                  type: number
                  minimum: 1
                  maximum: 100
                  description: Percentage discount
                amountsOff:
                  type: array
                  items:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: The price amount
                      currency:
                        description: ISO 4217 currency code
                        type: string
                        enum:
                          - usd
                          - aed
                          - all
                          - amd
                          - ang
                          - aud
                          - awg
                          - azn
                          - bam
                          - bbd
                          - bdt
                          - bgn
                          - bif
                          - bmd
                          - bnd
                          - bsd
                          - bwp
                          - byn
                          - bzd
                          - brl
                          - cad
                          - cdf
                          - chf
                          - cny
                          - czk
                          - dkk
                          - dop
                          - dzd
                          - egp
                          - etb
                          - eur
                          - fjd
                          - gbp
                          - gel
                          - gip
                          - gmd
                          - gyd
                          - hkd
                          - hrk
                          - htg
                          - idr
                          - ils
                          - inr
                          - isk
                          - jmd
                          - jpy
                          - kes
                          - kgs
                          - khr
                          - kmf
                          - krw
                          - kyd
                          - kzt
                          - lbp
                          - lkr
                          - lrd
                          - lsl
                          - mad
                          - mdl
                          - mga
                          - mkd
                          - mmk
                          - mnt
                          - mop
                          - mro
                          - mvr
                          - mwk
                          - mxn
                          - myr
                          - mzn
                          - nad
                          - ngn
                          - nok
                          - npr
                          - nzd
                          - pgk
                          - php
                          - pkr
                          - pln
                          - qar
                          - ron
                          - rsd
                          - rub
                          - rwf
                          - sar
                          - sbd
                          - scr
                          - sek
                          - sgd
                          - sle
                          - sll
                          - sos
                          - szl
                          - thb
                          - tjs
                          - top
                          - try
                          - ttd
                          - tzs
                          - uah
                          - uzs
                          - vnd
                          - vuv
                          - wst
                          - xaf
                          - xcd
                          - yer
                          - zar
                          - zmw
                          - clp
                          - djf
                          - gnf
                          - ugx
                          - pyg
                          - xof
                          - xpf
                        title: Currency
                    required:
                      - amount
                      - currency
                    additionalProperties: false
                  nullable: true
                  description: Fixed amounts off by currency
              additionalProperties: false
              title: SubscriptionCouponDiscount
              description: Ad-hoc discount configuration
            configuration:
              type: object
              properties:
                startDate:
                  type: string
                  format: date-time
                  description: Coupon start date
              additionalProperties: false
              description: Coupon timing configuration
          additionalProperties: false
          title: SubscriptionCoupon
          description: Coupon configuration
        awaitPaymentConfirmation:
          default: true
          type: boolean
          description: >-
            Whether to wait for payment confirmation before returning the
            subscription
        unitQuantity:
          type: integer
          minimum: 0
          description: Unit quantity for per-unit pricing. Minimum is 0 (zero is allowed).
        billingCycleAnchor:
          type: string
          enum:
            - UNCHANGED
            - NOW
          description: Billing cycle anchor behavior for the subscription
      required:
        - customerId
        - planId
      additionalProperties: false
      title: ProvisionSubscriptionRequest
      description: Provision a subscription. Returns subscription or checkout URL.
    ProvisionSubscriptionResponseDto:
      type: object
      properties:
        data:
          type: object
          properties:
            id:
              type: string
              maxLength: 255
              description: Unique identifier for the provisioned subscription
            status:
              type: string
              enum:
                - SUCCESS
                - PAYMENT_REQUIRED
              description: 'Provision status: SUCCESS or PAYMENT_REQUIRED'
            checkoutBillingId:
              type: string
              maxLength: 255
              description: Checkout billing ID when payment is required
            checkoutUrl:
              type: string
              maxLength: 255
              description: URL to complete payment when PAYMENT_REQUIRED
            subscription:
              type: object
              properties:
                id:
                  type: string
                  maxLength: 255
                  minLength: 1
                  pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                  description: Subscription ID
                customerId:
                  type: string
                  maxLength: 255
                  minLength: 1
                  pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.@-]*$
                  description: Customer ID
                payingCustomerId:
                  type: string
                  maxLength: 255
                  minLength: 1
                  pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.@-]*$
                  description: Paying customer ID for delegated billing
                  nullable: true
                resourceId:
                  type: string
                  maxLength: 255
                  description: Resource ID
                  nullable: true
                billingId:
                  type: string
                  maxLength: 255
                  description: Billing ID
                  nullable: true
                createdAt:
                  type: string
                  format: date-time
                  description: Created at
                startDate:
                  type: string
                  format: date-time
                  description: Subscription start date
                endDate:
                  type: string
                  format: date-time
                  description: Subscription end date
                  nullable: true
                effectiveEndDate:
                  type: string
                  format: date-time
                  description: Subscription effective end date
                  nullable: true
                cancellationDate:
                  type: string
                  format: date-time
                  description: Subscription cancellation date
                  nullable: true
                trialEndDate:
                  type: string
                  format: date-time
                  description: Subscription trial end date
                  nullable: true
                status:
                  type: string
                  enum:
                    - PAYMENT_PENDING
                    - ACTIVE
                    - EXPIRED
                    - IN_TRIAL
                    - CANCELED
                    - NOT_STARTED
                  description: Subscription status
                cancelReason:
                  type: string
                  enum:
                    - UPGRADE_OR_DOWNGRADE
                    - CANCELLED_BY_BILLING
                    - EXPIRED
                    - DETACH_BILLING
                    - TRIAL_ENDED
                    - Immediate
                    - TRIAL_CONVERTED
                    - PENDING_PAYMENT_EXPIRED
                    - ScheduledCancellation
                    - CustomerArchived
                    - AutoCancellationRule
                  description: Subscription cancel reason
                  nullable: true
                metadata:
                  type: object
                  additionalProperties:
                    type: string
                  description: Additional metadata for the subscription
                currentBillingPeriodStart:
                  type: string
                  format: date-time
                  description: Start of the current billing period
                  nullable: true
                currentBillingPeriodEnd:
                  type: string
                  format: date-time
                  description: End of the current billing period
                  nullable: true
                pricingType:
                  type: string
                  enum:
                    - FREE
                    - PAID
                    - CUSTOM
                  description: Pricing type
                paymentCollection:
                  type: string
                  enum:
                    - NOT_REQUIRED
                    - PROCESSING
                    - FAILED
                    - ACTION_REQUIRED
                  description: Payment collection
                paymentCollectionMethod:
                  type: string
                  enum:
                    - CHARGE
                    - INVOICE
                    - NONE
                  description: The method used to collect payments for a subscription
                  nullable: true
                billingCycleAnchor:
                  type: string
                  format: date-time
                  description: Billing cycle anchor date
                  nullable: true
                planId:
                  type: string
                  maxLength: 255
                  minLength: 1
                  pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                  description: Plan ID
                prices:
                  default: []
                  type: array
                  items:
                    type: object
                    properties:
                      amount:
                        type: number
                        description: The price amount
                      currency:
                        description: The price currency
                        type: string
                        enum:
                          - usd
                          - aed
                          - all
                          - amd
                          - ang
                          - aud
                          - awg
                          - azn
                          - bam
                          - bbd
                          - bdt
                          - bgn
                          - bif
                          - bmd
                          - bnd
                          - bsd
                          - bwp
                          - byn
                          - bzd
                          - brl
                          - cad
                          - cdf
                          - chf
                          - cny
                          - czk
                          - dkk
                          - dop
                          - dzd
                          - egp
                          - etb
                          - eur
                          - fjd
                          - gbp
                          - gel
                          - gip
                          - gmd
                          - gyd
                          - hkd
                          - hrk
                          - htg
                          - idr
                          - ils
                          - inr
                          - isk
                          - jmd
                          - jpy
                          - kes
                          - kgs
                          - khr
                          - kmf
                          - krw
                          - kyd
                          - kzt
                          - lbp
                          - lkr
                          - lrd
                          - lsl
                          - mad
                          - mdl
                          - mga
                          - mkd
                          - mmk
                          - mnt
                          - mop
                          - mro
                          - mvr
                          - mwk
                          - mxn
                          - myr
                          - mzn
                          - nad
                          - ngn
                          - nok
                          - npr
                          - nzd
                          - pgk
                          - php
                          - pkr
                          - pln
                          - qar
                          - ron
                          - rsd
                          - rub
                          - rwf
                          - sar
                          - sbd
                          - scr
                          - sek
                          - sgd
                          - sle
                          - sll
                          - sos
                          - szl
                          - thb
                          - tjs
                          - top
                          - try
                          - ttd
                          - tzs
                          - uah
                          - uzs
                          - vnd
                          - vuv
                          - wst
                          - xaf
                          - xcd
                          - yer
                          - zar
                          - zmw
                          - clp
                          - djf
                          - gnf
                          - ugx
                          - pyg
                          - xof
                          - xpf
                        title: Currency
                      featureId:
                        type: string
                        maxLength: 255
                        minLength: 1
                        pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                        description: Feature identifier for the price override
                        nullable: true
                      addonId:
                        type: string
                        maxLength: 255
                        minLength: 1
                        pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                        description: Addon identifier for the price override
                        nullable: true
                      baseCharge:
                        type: boolean
                        description: Whether this is a base charge override
                      billingCountryCode:
                        type: string
                        maxLength: 255
                        description: The billing country code of the price
                      blockSize:
                        type: number
                        description: Block size for pricing
                      tiers:
                        type: array
                        items:
                          type: object
                          properties:
                            upTo:
                              type: number
                              description: The up to quantity of the price tier
                            unitPrice:
                              type: object
                              properties:
                                amount:
                                  type: number
                                  description: The price amount
                                currency:
                                  description: ISO 4217 currency code
                                  type: string
                                  enum:
                                    - usd
                                    - aed
                                    - all
                                    - amd
                                    - ang
                                    - aud
                                    - awg
                                    - azn
                                    - bam
                                    - bbd
                                    - bdt
                                    - bgn
                                    - bif
                                    - bmd
                                    - bnd
                                    - bsd
                                    - bwp
                                    - byn
                                    - bzd
                                    - brl
                                    - cad
                                    - cdf
                                    - chf
                                    - cny
                                    - czk
                                    - dkk
                                    - dop
                                    - dzd
                                    - egp
                                    - etb
                                    - eur
                                    - fjd
                                    - gbp
                                    - gel
                                    - gip
                                    - gmd
                                    - gyd
                                    - hkd
                                    - hrk
                                    - htg
                                    - idr
                                    - ils
                                    - inr
                                    - isk
                                    - jmd
                                    - jpy
                                    - kes
                                    - kgs
                                    - khr
                                    - kmf
                                    - krw
                                    - kyd
                                    - kzt
                                    - lbp
                                    - lkr
                                    - lrd
                                    - lsl
                                    - mad
                                    - mdl
                                    - mga
                                    - mkd
                                    - mmk
                                    - mnt
                                    - mop
                                    - mro
                                    - mvr
                                    - mwk
                                    - mxn
                                    - myr
                                    - mzn
                                    - nad
                                    - ngn
                                    - nok
                                    - npr
                                    - nzd
                                    - pgk
                                    - php
                                    - pkr
                                    - pln
                                    - qar
                                    - ron
                                    - rsd
                                    - rub
                                    - rwf
                                    - sar
                                    - sbd
                                    - scr
                                    - sek
                                    - sgd
                                    - sle
                                    - sll
                                    - sos
                                    - szl
                                    - thb
                                    - tjs
                                    - top
                                    - try
                                    - ttd
                                    - tzs
                                    - uah
                                    - uzs
                                    - vnd
                                    - vuv
                                    - wst
                                    - xaf
                                    - xcd
                                    - yer
                                    - zar
                                    - zmw
                                    - clp
                                    - djf
                                    - gnf
                                    - ugx
                                    - pyg
                                    - xof
                                    - xpf
                                  title: Currency
                              required:
                                - amount
                                - currency
                              title: Money
                              description: The unit price of the price tier
                            flatPrice:
                              type: object
                              properties:
                                amount:
                                  type: number
                                  description: The price amount
                                currency:
                                  description: ISO 4217 currency code
                                  type: string
                                  enum:
                                    - usd
                                    - aed
                                    - all
                                    - amd
                                    - ang
                                    - aud
                                    - awg
                                    - azn
                                    - bam
                                    - bbd
                                    - bdt
                                    - bgn
                                    - bif
                                    - bmd
                                    - bnd
                                    - bsd
                                    - bwp
                                    - byn
                                    - bzd
                                    - brl
                                    - cad
                                    - cdf
                                    - chf
                                    - cny
                                    - czk
                                    - dkk
                                    - dop
                                    - dzd
                                    - egp
                                    - etb
                                    - eur
                                    - fjd
                                    - gbp
                                    - gel
                                    - gip
                                    - gmd
                                    - gyd
                                    - hkd
                                    - hrk
                                    - htg
                                    - idr
                                    - ils
                                    - inr
                                    - isk
                                    - jmd
                                    - jpy
                                    - kes
                                    - kgs
                                    - khr
                                    - kmf
                                    - krw
                                    - kyd
                                    - kzt
                                    - lbp
                                    - lkr
                                    - lrd
                                    - lsl
                                    - mad
                                    - mdl
                                    - mga
                                    - mkd
                                    - mmk
                                    - mnt
                                    - mop
                                    - mro
                                    - mvr
                                    - mwk
                                    - mxn
                                    - myr
                                    - mzn
                                    - nad
                                    - ngn
                                    - nok
                                    - npr
                                    - nzd
                                    - pgk
                                    - php
                                    - pkr
                                    - pln
                                    - qar
                                    - ron
                                    - rsd
                                    - rub
                                    - rwf
                                    - sar
                                    - sbd
                                    - scr
                                    - sek
                                    - sgd
                                    - sle
                                    - sll
                                    - sos
                                    - szl
                                    - thb
                                    - tjs
                                    - top
                                    - try
                                    - ttd
                                    - tzs
                                    - uah
                                    - uzs
                                    - vnd
                                    - vuv
                                    - wst
                                    - xaf
                                    - xcd
                                    - yer
                                    - zar
                                    - zmw
                                    - clp
                                    - djf
                                    - gnf
                                    - ugx
                                    - pyg
                                    - xof
                                    - xpf
                                  title: Currency
                              required:
                                - amount
                                - currency
                              title: Money
                              description: The flat fee price of the price tier
                          additionalProperties: false
                        description: Pricing tiers configuration
                addons:
                  default: []
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        maxLength: 255
                        minLength: 1
                        pattern: ^[a-zA-Z0-9][a-zA-Z0-9_|.-]*$
                        description: Addon ID
                      quantity:
                        type: integer
                        minimum: 0
                        description: Number of addon instances
                    required:
                      - id
                      - quantity
                    title: SubscriptionAddon
                    description: Addon configuration
                coupons:
                  default: []
                  type: array
                  items:
                    type: object
                    properties:
                      id:
                        type: string
                        maxLength: 255
                        description: Coupon ID
                      name:
                        type: string
                        maxLength: 255
                        description: Coupon name
                      status:
                        type: string
                        enum:
                          - ACTIVE
                          - EXPIRED
                          - REMOVED
                        description: Coupon status
                      percentOff:
                        type: number
                        description: Percentage discount
                        nullable: true
                      amountsOff:
                        type: array
                        items:
                          type: object
                          properties:
                            amount:
                              type: number
                              description: The price amount
                            currency:
                              description: The price currency
                              type: string
                              enum:
                                - usd
                                - aed
                                - all
                                - amd
                                - ang
                                - aud
                                - awg
                                - azn
                                - bam
                                - bbd
                                - bdt
                                - bgn
                                - bif
                                - bmd
                                - bnd
                                - bsd
                                - bwp
                                - byn
                                - bzd
                                - brl
                                - cad
                                - cdf
                                - chf
                                - cny
                                - czk
                                - dkk
                                - dop
                                - dzd
                                - egp
                                - etb
                                - eur
                                - fjd
                                - gbp
                                - gel
                                - gip
                                - gmd
                                - gyd
                                - hkd
                                - hrk
                                - htg
                                - idr
                                - ils
                                - inr
                                - isk
                                - jmd
                                - jpy
                                - kes
                                - kgs
                                - khr
                                - kmf
                                - krw
                                - kyd
                                - kzt
                                - lbp
                                - lkr
                                - lrd
                                - lsl
                                - mad
                                - mdl
                                - mga
                                - mkd
                                - mmk
                                - mnt
                                - mop
                                - mro
                                - mvr
                                - mwk
                                - mxn
                                - myr
                                - mzn
                                - nad
                                - ngn
                                - nok
                                - npr
                                - nzd
                                - pgk
                                - php
                                - pkr
                                - pln
                                - qar
                                - ron
                                - rsd
                                - rub
                                - rwf
                                - sar
                                - sbd
                                - scr
                                - sek
                                - sgd
                                - sle
                                - sll
                                - sos
                                - szl
                                - thb
                                - tjs
                                - top
                                - try
                                - ttd
                                - tzs
                                - uah
                                - uzs
                                - vnd
                                - vuv
                                - wst
                                - xaf
                                - xcd
                                - yer
                                - zar
                                - zmw
                                - clp
                                - djf
                                - gnf
                                - ugx
                                - pyg
                                - xof
                                - xpf
                              title: Currency
                        nullable: true
                        description: Fixed amount discounts by currency
                    required:
                      - id
                      - name
                      - status
                    title: SubscriptionCouponResponse
                    description: Coupon applied to a subscription
                  description: Coupons applied to the subscription
                futureUpdates:
                  default: []
                  type: array
                  items:
                    type: object
                    properties:
                      scheduledExecutionTime:
                        type: string
                        format: date-time
                        description: Scheduled execution time
                      subscriptionScheduleType:
                        type: string
                        enum:
                          - DOWNGRADE
                          - PLAN
                          - BILLING_PERIOD
                          - UNIT_AMOUNT
                          - RECURRING_CREDITS
                          - PRICE_OVERRIDE
                          - ADDON
                          - COUPON
                          - MIGRATE_TO_LATEST
                          - ADDITIONAL_META_DATA
                          - BILLING_INFO_METADATA
                        description: Type of scheduled change
                      scheduleStatus:
                        type: string
                        enum:
                          - PENDING_PAYMENT
                          - SCHEDULED
                          - CANCELED
                          - DONE
                          - FAILED
                        description: Status of the scheduled update
                      targetPackage:
                        type: object
                        properties:
                          id:
                            type: string
                            maxLength: 255
                            description: Target package for the update
                        required:
                          - id
                        nullable: true
                        description: Target package for the update
                    required:
                      - scheduledExecutionTime
                      - subscriptionScheduleType
                      - scheduleStatus
                    title: FutureUpdate
                    description: Scheduled subscription update
                  description: Scheduled future updates for the subscription
                budget:
                  type: object
                  properties:
                    limit:
                      type: number
                      description: Maximum spending limit
                    hasSoftLimit:
                      type: boolean
                      description: Whether the budget is a soft limit
                  required:
                    - limit
                    - hasSoftLimit
                  additionalProperties: false
                  nullable: true
                  description: Budget configuration
                minimumSpend:
                  type: object
                  properties:
                    amount:
                      type: number
                      description: The price amount
                    currency:
                      description: The price currency
                      type: string
                      enum:
                        - usd
                        - aed
                        - all
                        - amd
                        - ang
                        - aud
                        - awg
                        - azn
                        - bam
                        - bbd
                        - bdt
                        - bgn
                        - bif
                        - bmd
                        - bnd
                        - bsd
                        - bwp
                        - byn
                        - bzd
                        - brl
                        - cad
                        - cdf
                        - chf
                        - cny
                        - czk
                        - dkk
                        - dop
                        - dzd
                        - egp
                        - etb
                        - eur
                        - fjd
                        - gbp
                        - gel
                        - gip
                        - gmd
                        - gyd
                        - hkd
                        - hrk
                        - htg
                        - idr
                        - ils
                        - inr
                        - isk
                        - jmd
                        - jpy
                        - kes
                        - kgs
                        - khr
                        - kmf
                        - krw
                        - kyd
                        - kzt
                        - lbp
                        - lkr
                        - lrd
                        - lsl
                        - mad
                        - mdl
                        - mga
                        - mkd
                        - mmk
                        - mnt
                        - mop
                        - mro
                        - mvr
                        - mwk
                        - mxn
                        - myr
                        - mzn
                        - nad
                        - ngn
                        - nok
                        - npr
                        - nzd
                        - pgk
                        - php
                        - pkr
                        - pln
                        - qar
                        - ron
                        - rsd
                        - rub
                        - rwf
                        - sar
                        - sbd
                        - scr
                        - sek
                        - sgd
                        - sle
                        - sll
                        - sos
                        - szl
                        - thb
                        - tjs
                        - top
                        - try
                        - ttd
                        - tzs
                        - uah
                        - uzs
                        - vnd
                        - vuv
                        - wst
                        - xaf
                        - xcd
                        - yer
                        - zar
                        - zmw
                        - clp
                        - djf
                        - gnf
                        - ugx
                        - pyg
                        - xof
                        - xpf
                      title: Currency
                  description: Minimum spend configuration
                  nullable: true
                subscriptionEntitlements:
                  default: []
                  type: array
                  items:
                    type: object
                    properties:
                      type:
                        type: string
                        enum:
                          - FEATURE
                          - CREDIT
                        description: Entitlement type (FEATURE or CREDIT)
                      id:
                        type: string
                        maxLength: 255
                        description: Feature ID or currency ID
                    required:
                      - type
                      - id
                    title: SubscriptionEntitlementItem
                    description: Subscription entitlement reference
                  description: Entitlements associated with the subscription
                latestInvoice:
                  type: object
                  properties:
                    billingId:
                      type: string
                      maxLength: 255
                      description: Invoice billing ID
                    status:
                      type: string
                      enum:
                        - OPEN
                        - CANCELED
                        - PAID
                      description: Invoice status
                    createdAt:
                      type: string
                      format: date-time
                      description: Invoice creation date
                    total:
                      type: number
                      description: Total amount
                      nullable: true
                    amountDue:
                      type: number
                      description: Amount due
                      nullable: true
                    currency:
                      type: string
                      maxLength: 255
                      description: Invoice currency
                      nullable: true
                    pdfUrl:
                      type: string
                      maxLength: 255
                      description: Invoice PDF URL
                      nullable: true
                    requiresAction:
                      type: boolean
                      description: Whether payment requires action
                    billingReason:
                      type: string
                      enum:
                        - BILLING_CYCLE
                        - SUBSCRIPTION_CREATION
                        - SUBSCRIPTION_UPDATE
                        - MANUAL
                        - MINIMUM_INVOICE_AMOUNT_EXCEEDED
                        - OTHER
                      nullable: true
                      description: Billing reason
                  required:
                    - billingId
                    - status
                    - createdAt
                    - requiresAction
                  title: LatestInvoice
                  description: Latest invoice for the subscription
                  nullable: true
                trial:
                  type: object
                  properties:
                    trialEndBehavior:
                      type: string
                      enum:
                        - CONVERT_TO_PAID
                        - CANCEL_SUBSCRIPTION
                      description: Behavior when the trial ends
                  required:
                    - trialEndBehavior
                  title: Trial
                  description: Trial configuration
                  nullable: true
              required:
                - id
                - customerId
                - billingId
                - createdAt
                - startDate
                - status
                - pricingType
                - paymentCollection
                - planId
              title: Subscription
              description: Created subscription (when status is SUCCESS)
              nullable: true
            isScheduled:
              type: boolean
              description: Whether the subscription is scheduled for future activation
            entitlements:
              type: array
              items:
                oneOf:
                  - type: object
                    properties:
                      isGranted:
                        type: boolean
                      type:
                        type: string
                        enum:
                          - FEATURE
                      accessDeniedReason:
                        type: string
                        enum:
                          - FeatureNotFound
                          - CustomerNotFound
                          - CustomerIsArchived
                          - CustomerResourceNotFound
                          - NoActiveSubscription
                          - NoFeatureEntitlementInSubscription
                          - RequestedUsageExceedingLimit
                          - RequestedValuesMismatch
                          - BudgetExceeded
                          - Unknown
                          - FeatureTypeMismatch
                          - Revoked
                          - InsufficientCredits
                          - EntitlementNotFound
                        nullable: true
                      feature:
                        type: object
                        properties:
                          id:
                            type: string
                            maxLength: 255
                            description: The unique reference ID of the entitlement.
                          displayName:
                            type: string
                            maxLength: 255
                            description: >-
                              The human-readable name of the entitlement, shown
                              in UI elements.
                          featureType:
                            type: string
                            enum:
                              - BOOLEAN
                              - NUMBER
                              - ENUM
                            description: >-
                              The type of feature associated with the
                              entitlement.
                          featureStatus:
                            type: string
                            enum:
                              - NEW
                              - SUSPENDED
                              - ACTIVE
                            description: The current status of the feature.
                        required:
                          - id
                          - displayName
                          - featureType
                          - featureStatus
                      usageLimit:
                        type: number
                        minimum: 0
                        nullable: true
                      hasUnlimitedUsage:
                        type: boolean
                      resetPeriod:
                        type: string
                        enum:
                          - YEAR
                          - MONTH
                          - WEEK
                          - DAY
                          - HOUR
                        nullable: true
                      currentUsage:
                        type: number
                        minimum: 0
                      usagePeriodAnchor:
                        type: string
                        format: date-time
                        description: >-
                          The anchor for calculating the usage period for
                          metered entitlements with a reset period configured
                      usagePeriodStart:
                        type: string
                        format: date-time
                        description: >-
                          The start date of the usage period for metered
                          entitlements with a reset period configured
                      usagePeriodEnd:
                        type: string
                        format: date-time
                        description: >-
                          The end date of the usage period for metered
                          entitlements with a reset period configured
                      entitlementUpdatedAt:
                        type: string
                        format: date-time
                        description: >-
                          Timestamp of the last update to the entitlement grant
                          or configuration.
                      validUntil:
                        type: string
                        format: date-time
                        description: The next time the entitlement should be recalculated
                    required:
                      - isGranted
                      - type
                      - accessDeniedReason
                  - type: object
                    properties:
                      isGranted:
                        type: boolean
                      type:
                        type: string
                        enum:
                          - CREDIT
                      accessDeniedReason:
                        type: string
                        enum:
                          - FeatureNotFound
                          - CustomerNotFound
                          - CustomerIsArchived
                          - CustomerResourceNotFound
                          - NoActiveSubscription
                          - NoFeatureEntitlementInSubscription
                          - RequestedUsageExceedingLimit
                          - RequestedValuesMismatch
                          - BudgetExceeded
                          - Unknown
                          - FeatureTypeMismatch
                          - Revoked
                          - InsufficientCredits
                          - EntitlementNotFound
                        nullable: true
                      usageLimit:
                        type: number
                        minimum: 0
                      currentUsage:
                        type: number
                        minimum: 0
                      usageUpdatedAt:
                        type: string
                        format: date-time
                        description: Timestamp of the last update to the credit usage.
                      currency:
                        type: object
                        properties:
                          currencyId:
                            type: string
                            maxLength: 255
                            description: The unique identifier of the custom currency.
                          displayName:
                            type: string
                            maxLength: 255
                            description: The display name of the currency.
                          description:
                            type: string
                            maxLength: 255
                            description: A description of the currency.
                            nullable: true
                          unitSingular:
                            type: string
                            maxLength: 255
                            description: The singular form of the currency unit.
                            nullable: true
                          unitPlural:
                            type: string
                            maxLength: 255
                            description: The plural form of the currency unit.
                            nullable: true
                          metadata:
                            type: object
                            additionalProperties:
                              type: string
                            description: Additional metadata associated with the currency.
                            nullable: true
                        required:
                          - currencyId
                          - displayName
                        description: The currency associated with a credit entitlement.
                      entitlementUpdatedAt:
                        type: string
                        format: date-time
                        description: >-
                          Timestamp of the last update to the entitlement grant
                          or configuration.
                      validUntil:
                        type: string
                        format: date-time
                        description: The next time the entitlement should be recalculated
                      usagePeriodEnd:
                        type: string
                        format: date-time
                        description: >-
                          The end date of the current billing period for
                          recurring credit grants.
                    required:
                      - isGranted
                      - type
                      - accessDeniedReason
                      - usageLimit
                      - currentUsage
                      - usageUpdatedAt
                      - currency
              nullable: true
          required:
            - id
            - status
            - subscription
            - entitlements
          title: ProvisionSubscriptionResult
          description: Provisioning result with status and subscription or checkout URL.
      required:
        - data
      title: Response
      description: Response object
    BadInputErrorResponseDto:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
          enum:
            - BadUserInput
            - DuplicateIntegrationNotAllowed
            - EntityIsArchivedError
            - IntegrityViolation
            - FreePlanCantHaveCompatiblePackageGroupError
            - SubscriptionMustHaveSinglePlanError
            - AddonIsCompatibleWithPlan
            - AddonIsCompatibleWithGroup
            - DuplicateAddonProvisionedError
            - ScheduledMigrationAlreadyExistsError
            - SubscriptionAlreadyOnLatestPlan
            - EntityIdDifferentFromRefIdError
            - UnsupportedFeatureType
            - UnsupportedVendorIdentifier
            - UnsupportedSubscriptionScheduleType
            - InvalidEntitlementResetPeriod
            - IncompatibleSubscriptionAddon
            - UnPublishedPackage
            - MeteringNotAvailableForFeatureType
            - AuthCustomerMismatch
            - AuthCustomerReadonly
            - FetchAllCountriesPricesNotAllowed
            - MemberInvitationError
            - PlansCircularDependencyError
            - NoFeatureEntitlementInSubscription
            - CheckoutIsNotSupported
            - UnsupportedParameter
            - PricingModelNotSupportedByBillingIntegration
            - BillingIntegrationMissing
            - BillingIntegrationAlreadyExistsError
            - InvalidMemberDelete
            - PackageAlreadyPublished
            - DraftPlanCantBeArchived
            - DraftAddonCantBeArchived
            - PlanWithChildCantBeDeleted
            - PlanCannotBePublishWhenBasePlanIsDraft
            - PlanCannotBePublishWhenCompatibleAddonIsDraft
            - PlanIsUsedAsDefaultStartPlan
            - PlanIsUsedAsDowngradePlan
            - InvalidAddressError
            - InvalidQuantity
            - BillingPeriodMissingError
            - DowngradeBillingPeriodNotSupportedError
            - CustomerAlreadyUsesCouponError
            - CustomerAlreadyHaveCustomerCoupon
            - SubscriptionAlreadyCanceledOrExpired
            - TrialMustBeCancelledImmediately
            - SubscriptionDoesNotHaveBillingPeriod
            - InvalidCancellationDate
            - FailedToImportCustomer
            - FailedToImportSubscriptions
            - PackagePricingTypeNotSet
            - InvalidSubscriptionStatus
            - InvalidArgumentError
            - EditAllowedOnDraftPackageOnlyError
            - ResyncAlreadyInProgress
            - ArchivedCouponCantBeApplied
            - ImportAlreadyInProgress
            - AddonHasToHavePriceError
            - SelectedBillingModelDoesntMatchImportedItemError
            - CannotArchiveProductError
            - CannotUnarchiveProductError
            - CannotDeleteCustomerError
            - CannotRemovePaymentMethodFromCustomerError
            - CannotDeleteFeatureError
            - CannotArchiveFeatureError
            - InvalidUpdatePriceUnitAmountError
            - ExperimentAlreadyRunning
            - ExperimentStatusError
            - OperationNotAllowedDuringInProgressExperiment
            - EntitlementsMustBelongToSamePackage
            - CanNotUpdateEntitlementsFeatureGroup
            - MeterMustBeAssociatedToMeteredFeature
            - CannotEditPackageInNonDraftMode
            - CannotAddOverrideEntitlementToPlan
            - MissingEntityIdError
            - NoProductsAvailable
            - PromotionCodeNotForCustomer
            - PromotionCodeNotActive
            - PromotionCodeMaxRedemptionsReached
            - PromotionCodeMinimumAmountNotReached
            - PromotionCodeCustomerNotFirstPurchase
            - AddonWithDraftCannotBeDeletedError
            - CannotReportUsageForEntitlementWithMeterError
            - RecalculateEntitlementsError
            - ImportSubscriptionsBulkError
            - InvalidMetadataError
            - CannotUpsertToPackageThatHasDraft
            - IntegrationValidationError
            - AwsMarketplaceIntegrationValidationError
            - AwsMarketplaceIntegrationError
            - DataExportIntegrationError
            - HubspotIntegrationError
            - DuplicateProductValidationError
            - AmountTooLarge
            - CustomerHasNoEmailAddress
            - MergeEnvironmentValidationError
            - EntitlementLimitExceededError
            - EntitlementUsageOutOfRangeError
            - UsageMeasurementDiffOutOfRangeError
            - AddonQuantityExceedsLimitError
            - AddonDependencyMissingError
            - PackageGroupMinItemsError
            - CannotUpdateUnitTransformationError
            - SingleSubscriptionCantBeAutoCancellationTargetError
            - MultiSubscriptionCantBeAutoCancellationSourceError
            - ChangingPayingCustomerIsNotSupportedError
            - RequiredSsoAuthenticationError
            - InvalidDoggoSignatureError
            - InvalidReceivedSignatureError
            - CannotDeleteDefaultIntegration
            - CannotChangeBillingIntegration
            - FailedToResolveBillingIntegration
            - WorkflowTriggerNotFound
            - DeprecatedEstimateSubscriptionError
            - FeatureConfigurationExceededLimitError
            - FeatureNotBelongToFeatureGroupError
            - FeatureGroupMissingFeaturesError
            - VersionExceedsMaxValueError
            - CannotUpdateExpireAtForExpiredCreditGrantError
            - ExpireAtMustBeLaterThanEffectiveAtError
            - OfferAlreadyExists
            - DraftAlreadyExists
            - CreditGrantAlreadyVoided
            - CreditGrantCannotBeVoided
            - InvalidTaxId
            - ObjectAlreadyBeingUsedByAnotherRequestError
            - TooManySubscriptionsPerCustomer
            - TooManyCustomCurrencies
            - StripeError
            - SchedulingAtEndOfBillingPeriod
            - ApiKeyExpired
            - ApiKeyHasExpiry
          nullable: true
      required:
        - message
        - code
    UnauthenticatedErrorResponseDto:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
          enum:
            - Unauthenticated
          nullable: true
      required:
        - message
        - code
    ForbiddenErrorResponseDto:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
          enum:
            - IdentityForbidden
            - AccessDeniedError
            - NoFeatureEntitlementError
            - GovernanceNotEnabled
          nullable: true
      required:
        - message
        - code
    ConflictErrorResponseDto:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
          enum:
            - DuplicatedEntityNotAllowed
            - EntitlementBelongsToFeatureGroupError
            - InvoicePreviewNotAvailableForDraftContract
          nullable: true
      required:
        - message
        - code
    TooManyRequestsErrorResponseDto:
      type: object
      properties:
        message:
          type: string
        code:
          type: string
          enum:
            - RateLimitExceeded
          nullable: true
      required:
        - message
        - code
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: X-API-KEY
      description: Server API Key

````