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

# Get subscription template

> Retrieve an existing subscription template with its configurations details.



## OpenAPI

````yaml get /v1/subscriptions/templates/{id}
openapi: 3.1.0
info:
  title: Hyperline API
  version: 0.0.0
servers:
  - url: https://api.hyperline.co
  - url: https://sandbox.api.hyperline.co
security: []
paths:
  /v1/subscriptions/templates/{id}:
    get:
      tags:
        - Subscriptions > Templates
      summary: Get subscription template
      description: >-
        Retrieve an existing subscription template with its configurations
        details.
      operationId: getSubscriptionTemplate
      parameters:
        - schema:
            type: string
          required: true
          name: id
          in: path
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionTemplate'
      security:
        - bearer: []
components:
  schemas:
    SubscriptionTemplate:
      type: object
      properties:
        id:
          type: string
          description: Subscription template ID.
          example: subt_7gdusOkqr5L0B8
        name:
          type: string
          description: Subscription template name.
          example: Starter
        description:
          type:
            - string
            - 'null'
          description: Subscription template description.
          example: Starter pack
        configurations:
          type: array
          items:
            allOf:
              - type: object
                properties:
                  id:
                    type: string
                    description: Subscription template configuration ID.
                    example: subtc_CjozNBirj6oGq3
                  currency:
                    type: string
                    enum:
                      - EUR
                      - AED
                      - AFN
                      - XCD
                      - ALL
                      - AMD
                      - AOA
                      - ARS
                      - USD
                      - AUD
                      - AWG
                      - AZN
                      - BAM
                      - BBD
                      - BDT
                      - BGN
                      - BHD
                      - BIF
                      - XOF
                      - BMD
                      - BND
                      - BOB
                      - BRL
                      - BSD
                      - BTN
                      - NOK
                      - BWP
                      - BYR
                      - BZD
                      - CAD
                      - CDF
                      - XAF
                      - CHF
                      - NZD
                      - CLP
                      - CNY
                      - COP
                      - CRC
                      - CUP
                      - CVE
                      - ANG
                      - CZK
                      - DJF
                      - DKK
                      - DOP
                      - DZD
                      - EGP
                      - MAD
                      - ERN
                      - ETB
                      - FJD
                      - FKP
                      - GBP
                      - GEL
                      - GHS
                      - GIP
                      - GMD
                      - GNF
                      - GTQ
                      - GYD
                      - HKD
                      - HNL
                      - HRK
                      - HTG
                      - HUF
                      - IDR
                      - ILS
                      - INR
                      - IQD
                      - IRR
                      - ISK
                      - JMD
                      - JOD
                      - JPY
                      - KES
                      - KGS
                      - KHR
                      - KMF
                      - KPW
                      - KRW
                      - KWD
                      - KYD
                      - KZT
                      - LAK
                      - LBP
                      - LKR
                      - LRD
                      - LSL
                      - LYD
                      - MDL
                      - MGA
                      - MKD
                      - MMK
                      - MNT
                      - MOP
                      - MRO
                      - MUR
                      - MVR
                      - MWK
                      - MXN
                      - MYR
                      - MZN
                      - NAD
                      - XPF
                      - NGN
                      - NIO
                      - NPR
                      - OMR
                      - PAB
                      - PEN
                      - PGK
                      - PHP
                      - PKR
                      - PLN
                      - PYG
                      - QAR
                      - RON
                      - RSD
                      - RUB
                      - RWF
                      - SAR
                      - SBD
                      - SCR
                      - SDG
                      - SEK
                      - SGD
                      - SHP
                      - SLL
                      - SOS
                      - SRD
                      - SSP
                      - STD
                      - SYP
                      - SZL
                      - THB
                      - TJS
                      - TMT
                      - TND
                      - TOP
                      - TRY
                      - TTD
                      - TWD
                      - TZS
                      - UAH
                      - UGX
                      - UYU
                      - UZS
                      - VEF
                      - VND
                      - VUV
                      - WST
                      - YER
                      - ZAR
                      - ZMW
                      - ZWL
                    description: Subscription template currency.
                    example: EUR
                  country:
                    type:
                      - string
                      - 'null'
                    enum:
                      - AD
                      - AE
                      - AF
                      - AG
                      - AI
                      - AL
                      - AM
                      - AO
                      - AQ
                      - AR
                      - AS
                      - AT
                      - AU
                      - AW
                      - AX
                      - AZ
                      - BA
                      - BB
                      - BD
                      - BE
                      - BG
                      - BH
                      - BI
                      - BJ
                      - BL
                      - BM
                      - BN
                      - BO
                      - BQ
                      - BR
                      - BS
                      - BT
                      - BF
                      - BV
                      - BW
                      - BY
                      - BZ
                      - CA
                      - CC
                      - CD
                      - CF
                      - CG
                      - CH
                      - CI
                      - CK
                      - CL
                      - CM
                      - CN
                      - CO
                      - CR
                      - CU
                      - CV
                      - CW
                      - CX
                      - CY
                      - CZ
                      - DE
                      - DJ
                      - DK
                      - DM
                      - DO
                      - DZ
                      - EC
                      - EE
                      - EG
                      - EH
                      - ER
                      - ES
                      - ET
                      - FI
                      - FJ
                      - FK
                      - FM
                      - FO
                      - FR
                      - GA
                      - GB
                      - GD
                      - GE
                      - GF
                      - GG
                      - GH
                      - GI
                      - GL
                      - GM
                      - GN
                      - GP
                      - GQ
                      - GR
                      - GS
                      - GT
                      - GU
                      - GW
                      - GY
                      - HK
                      - HM
                      - HN
                      - HR
                      - HT
                      - HU
                      - IC
                      - ID
                      - IE
                      - IL
                      - IM
                      - IN
                      - IO
                      - IQ
                      - IR
                      - IS
                      - IT
                      - JE
                      - JM
                      - JO
                      - JP
                      - KE
                      - KG
                      - KH
                      - KI
                      - KM
                      - KN
                      - KP
                      - KR
                      - KW
                      - KY
                      - KZ
                      - LA
                      - LB
                      - LC
                      - LI
                      - LK
                      - LR
                      - LS
                      - LT
                      - LU
                      - LV
                      - LY
                      - MA
                      - MC
                      - MD
                      - ME
                      - MF
                      - MG
                      - MH
                      - MK
                      - ML
                      - MM
                      - MN
                      - MO
                      - MP
                      - MQ
                      - MR
                      - MS
                      - MT
                      - MU
                      - MV
                      - MW
                      - MX
                      - MY
                      - MZ
                      - NA
                      - NC
                      - NE
                      - NF
                      - NG
                      - NI
                      - NL
                      - 'NO'
                      - NP
                      - NR
                      - NU
                      - NZ
                      - OM
                      - PA
                      - PE
                      - PF
                      - PG
                      - PH
                      - PK
                      - PL
                      - PM
                      - PN
                      - PR
                      - PS
                      - PT
                      - PT-20
                      - PT-30
                      - PW
                      - PY
                      - QA
                      - RE
                      - RO
                      - RS
                      - RU
                      - RW
                      - SA
                      - SB
                      - SC
                      - SD
                      - SE
                      - SG
                      - SH
                      - SI
                      - SJ
                      - SK
                      - SL
                      - SM
                      - SN
                      - SO
                      - SR
                      - SS
                      - ST
                      - SV
                      - SX
                      - SY
                      - SZ
                      - TC
                      - TD
                      - TF
                      - TG
                      - TH
                      - TJ
                      - TK
                      - TL
                      - TM
                      - TN
                      - TO
                      - TR
                      - TT
                      - TV
                      - TW
                      - TZ
                      - UA
                      - UG
                      - UM
                      - US
                      - UY
                      - UZ
                      - VA
                      - VC
                      - VE
                      - VG
                      - VI
                      - VN
                      - VU
                      - WF
                      - WS
                      - XK
                      - YE
                      - YT
                      - ZA
                      - ZM
                      - ZW
                    description: Subscription template country.
                    example: null
                required:
                  - id
                  - currency
                  - country
              - type: object
                properties:
                  name:
                    type:
                      - string
                      - 'null'
                    description: Subscription custom name.
                    example: Yearly subscription
                  minimum_invoice_fee:
                    type:
                      - number
                      - 'null'
                    description: >-
                      Minimum fee applied to each invoice outside of one time
                      payments.
                    example: 250
                  cancel_at:
                    type:
                      - string
                      - 'null'
                    format: date-time
                    description: >-
                      Subscription cancel date. UTC date time string in the [ISO
                      8601](https://en.wikipedia.org/wiki/ISO_8601) format.
                    example: '2024-12-20T16:04:11Z'
                  cancellation_strategy:
                    type:
                      - string
                      - 'null'
                    enum:
                      - refund_prorata
                      - refund_custom
                      - charge_prorata
                      - charge_custom
                      - end_of_period
                      - do_nothing
                    description: >

                      Strategy used to cancel the subscription. If not specified
                      `do_nothing` is used.


                      - `charge_prorata`: Will charge the customer the unpaid
                      amount for the prorated period up to the end of the
                      current period.

                      - `charge_custom`: Will charge the customer a custom
                      amount.

                      - `refund_prorata`: Will refund to the customer the
                      overpaid subscription amount using prorated calculations
                      on the cancellation date.

                      - `refund_custom`: Will refund to the customer a custom
                      amount.

                      - `end_of_period`: Will cancel the subscription at the end
                      date of the current billing period.

                      - `do_nothing`: Will only cease the subscription without
                      any additional actions.
                  custom_properties:
                    type:
                      - object
                      - 'null'
                    additionalProperties:
                      anyOf:
                        - type: string
                        - type: number
                        - type: boolean
                        - type: string
                          format: date-time
                          description: >-
                            UTC date time string in the [ISO
                            8601](https://en.wikipedia.org/wiki/ISO_8601)
                            format.
                          example: '2024-12-20T16:04:11Z'
                        - type: array
                          items:
                            type: string
                        - type: 'null'
                    description: >-
                      A list of key value with the slug of the custom property
                      as the key and the custom property value as value.
                  generate_document:
                    type: boolean
                    description: >-
                      Generate documents instead of invoices for the
                      subscription.
                  document_name:
                    type:
                      - string
                      - 'null'
                    description: >-
                      If `generate_document` is turned on, allows you to give a
                      name to your document.
                  add_tax_to_document:
                    type: boolean
                    description: >-
                      If `generate_document` is turned on, will add taxes to
                      document.
                  generate_draft_invoices:
                    type: boolean
                    description: >-
                      Generate draft invoices for the subscription. Each invoice
                      will need to be reviewed and validated manually before
                      being sent
                  contract_terms:
                    type:
                      - object
                      - 'null'
                    properties:
                      status:
                        type: string
                        enum:
                          - active
                          - pending
                          - finished
                        description: >

                          Contract status.


                          - `active`: The contract is active.

                          - `pending`: The contract is pending. It will be
                          activated according to the activation strategy.

                          - `finished`: The contract has ended.
                        example: active
                      activation_strategy:
                        type: string
                        enum:
                          - start_date
                          - immediately
                          - manual
                          - quote_signature
                          - checkout
                        description: >

                          Activation strategy of the contract.


                          - `immediately`: The contract will be activated
                          immediately.

                          - `manual`: The contract will be activated when a user
                          manually activates it.

                          - `start_date`: The contract will be activated on a
                          specified date.

                          - `quote_signature`: The contract will be activated
                          when the subscription quote is signed.

                          - `checkout`: The contract will be activated when the
                          subscription checkout is completed.
                        example: start_date
                      end_strategy:
                        type: string
                        enum:
                          - end_date
                          - duration
                          - manual
                        description: >

                          End strategy of contract.


                          - `manual`: The contract ends when a user manually
                          stops it.

                          - `end_date`: The contract ends on a specified date.

                          - `duration`: The contract ends after a specific
                          relative duration, unless `renew_automatically` is
                          true.
                        example: duration
                      starts_at:
                        type:
                          - string
                          - 'null'
                        format: date-time
                        description: >-
                          Start date of the contract. UTC date time string in
                          the [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
                          format.
                        example: '2024-12-31T23:00:00.000Z'
                      ends_at:
                        type:
                          - string
                          - 'null'
                        format: date-time
                        description: >-
                          End date of the contract. UTC date time string in the
                          [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601)
                          format.
                        example: '2025-06-30T21:59:59.999Z'
                      duration:
                        type:
                          - object
                          - 'null'
                        properties:
                          period:
                            type: string
                            enum:
                              - days
                              - weeks
                              - months
                              - years
                          count:
                            type: number
                            exclusiveMinimum: 0
                        required:
                          - period
                          - count
                        description: >-
                          Interval over which the contract initially spans. Only
                          applies to `duration` end strategy.
                        example:
                          count: 6
                          period: months
                      renew_automatically:
                        anyOf:
                          - type: boolean
                          - type: string
                            enum:
                              - 'true'
                              - 'false'
                        description: >

                          Indicates if the contract should be renewed
                          automatically.


                          - `true`: The contract will be renewed automatically.

                          - `false`: The contract will not be renewed
                          automatically.
                        example: true
                      renew_for_duration:
                        type:
                          - object
                          - 'null'
                        properties:
                          period:
                            type: string
                            enum:
                              - days
                              - weeks
                              - months
                              - years
                          count:
                            type: number
                            exclusiveMinimum: 0
                        required:
                          - period
                          - count
                        description: >

                          Interval over which the contract will be renewed. Only
                          applies if `renew_automatically` is true.
                        example:
                          count: 1
                          period: years
                    required:
                      - status
                      - activation_strategy
                      - end_strategy
                      - starts_at
                      - ends_at
                      - duration
                      - renew_automatically
                      - renew_for_duration
                    description: Contract terms linked to the subscription.
                  phases:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Subscription phase ID.
                          example: sup_1FoLfIQ5VOMbXf
                        type:
                          type: string
                          enum:
                            - setup
                            - trial
                            - standard
                          description: >

                            Type of subscription phase.


                            - `setup`: The phase represents a non-recurring
                            service setup period, often used before the actual
                            recurring subscription begins.

                            - `trial`: The phase represents a non-recurring
                            trial period, often used to allow users to opt out
                            or experience a free test.

                            - `standard`: The phase represents a standard
                            recurring billing.
                          example: standard
                        status:
                          type: string
                          enum:
                            - pending
                            - active
                            - finished
                          description: >

                            Status of subscription phase.


                            - `pending`: The phase is waiting to start (not
                            started yet).

                            - `active`: The phase is currently in progress.

                            - `finished`: The phase has ended and is complete.
                          example: pending
                        order:
                          type: number
                          description: >-
                            Order in which the phase is executed within all
                            subscription phases.
                          example: 0
                        activation_strategy:
                          type: string
                          enum:
                            - immediately
                            - manual
                            - start_date
                            - quote_signature
                            - checkout
                            - contract_start_date
                            - previous_phase_end
                          description: >

                            Activation strategy of subscription phase.


                            - `immediately`: The phase starts as soon as the
                            subscription is activated.

                            - `manual`: The phase starts when a user manually
                            activates it.

                            - `start_date`: The phase starts on a specified
                            date.

                            - `quote_signature`: The phase starts when the
                            subscription quote is signed.

                            - `checkout`: The phase starts when the subscription
                            checkout is completed.

                            - `contract_start_date`: The phase starts on the
                            start date of the related subscription contract.

                            - `previous_phase_end`: The phase starts when the
                            previous phase ends.
                          example: manual
                        end_strategy:
                          type: string
                          enum:
                            - manual
                            - end_date
                            - duration
                            - contract_end_date
                          description: >

                            End strategy of subscription phase.


                            - `manual`: The phase ends when a user manually
                            stops it.

                            - `end_date`: The phase ends on a specified date.

                            - `duration`: The phase ends after a specific
                            relative duration.

                            - `contract_end_date`: The phase ends on the end
                            date of the related subscription contract.
                          example: duration
                        duration:
                          type:
                            - object
                            - 'null'
                          properties:
                            period:
                              type: string
                              enum:
                                - days
                                - weeks
                                - months
                                - years
                            count:
                              type: number
                          required:
                            - period
                            - count
                          description: >-
                            Interval over which the subscription phase spans.
                            Only applies to `duration` end strategy.
                          example:
                            count: 1
                            period: years
                        billing_date_setting:
                          type: string
                          enum:
                            - phase_start
                            - specific_date
                          description: |

                            Represents when the first billing date occurs.

                            - `phase_start`: Aligns with the start of the phase.
                            - `specific_date`: Occurs on a specified date.
                          example: phase_start
                        starts_at:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: >-
                            Actual start date of the phase. UTC date time string
                            in the [ISO
                            8601](https://en.wikipedia.org/wiki/ISO_8601)
                            format.
                          example: null
                        ends_at:
                          type:
                            - string
                            - 'null'
                          format: date-time
                          description: >-
                            Actual end date of the phase. UTC date time string
                            in the [ISO
                            8601](https://en.wikipedia.org/wiki/ISO_8601)
                            format.
                          example: null
                        billing_cycle_alignment:
                          type: string
                          enum:
                            - calendar_period
                            - anniversary
                          description: >

                            Alignment of product billing cycles.


                            - `calendar_period`: The billing cycles of the
                            products will be aligned on the calendar period,
                            after the first period which will be invoiced taking
                            into account the prorata of the first cycle compared
                            to the product periodicity.

                            - `anniversary`: The billing cycles of the products
                            will be aligned on the anniversary of the phase
                            initial billing date.
                          example: anniversary
                        do_not_invoice_phase:
                          type: boolean
                          description: >-
                            Indicates if the phase should be invoiced. If set to
                            true, the phase will not generate any invoices.
                          example: false
                        transition_calculation_method:
                          type: string
                          enum:
                            - prorata
                            - pay_in_full
                            - none
                          description: >

                            Calculation method used when transitioning from one
                            phase to the next one.


                            - `prorata`: The prorated amount between the two
                            phases relative to the end date (the transition
                            date) must be paid.

                            - `pay_in_full`: The full amount for the phase
                            billing period must be paid.

                            - `none`: No amount will need to be paid, phase will
                            simply transition from one to the next.
                          example: prorata
                        transition_invoicing_schedule:
                          type: string
                          enum:
                            - immediately
                          description: >

                            Represents when the transition amount will be
                            invoiced.


                            - `immediately`: An invoice will be generated
                            immediately with the corresponding amount.
                          example: immediately
                        coupons:
                          type: array
                          items:
                            allOf:
                              - anyOf:
                                  - type: object
                                    properties:
                                      description:
                                        type:
                                          - string
                                          - 'null'
                                        description: Coupon description.
                                        example: null
                                      expiration_date:
                                        type:
                                          - string
                                          - 'null'
                                        format: date-time
                                        description: >-
                                          Date corresponding to the expiration of
                                          the coupon.
                                        example: null
                                      redemption_limit:
                                        type:
                                          - number
                                          - 'null'
                                        description: >-
                                          Maximum number of subscriptions to which
                                          a single coupon can be applied.
                                        example: null
                                      product_ids:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          List of product IDs the coupon can be
                                          applied to. If empty, the coupon can be
                                          applied to any product.
                                        example:
                                          - itm_DKL4Xcb5VSa8CQ
                                          - itm_1234567890abcdef
                                      repeat:
                                        type:
                                          - string
                                          - 'null'
                                        enum:
                                          - once
                                          - forever
                                          - custom
                                          - duration
                                        description: >-
                                          Default repeat behaviour applied when
                                          the coupon is attached to a
                                          subscription. Valid values: `once`,
                                          `forever`, `duration`. Can be overridden
                                          at attach time.
                                        example: duration
                                      duration:
                                        type:
                                          - object
                                          - 'null'
                                        properties:
                                          count:
                                            type: number
                                            description: >-
                                              Number of periods the coupon applies
                                              for.
                                            example: 3
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                            description: >-
                                              Period unit the coupon applies for.
                                              Valid values: `days`, `weeks`, `months`,
                                              `years`.
                                            example: months
                                        required:
                                          - count
                                          - period
                                        description: >-
                                          Default duration applied when `repeat`
                                          is `duration`. Required when `repeat` is
                                          `duration`, must be null otherwise.
                                        example:
                                          count: 3
                                          period: months
                                      created_at:
                                        type: string
                                        format: date-time
                                        description: >-
                                          UTC date time string in the [ISO
                                          8601](https://en.wikipedia.org/wiki/ISO_8601)
                                          format.
                                        example: '2024-12-20T16:04:11Z'
                                      type:
                                        type: string
                                        enum:
                                          - amount
                                      discount_amount:
                                        type: number
                                        description: >-
                                          Amount to apply as a discount on the
                                          total amount (excluding taxes) of a
                                          subscription. Expressed in the
                                          currency's smallest unit.
                                        example: 2000
                                      currency:
                                        type:
                                          - string
                                          - 'null'
                                        enum:
                                          - EUR
                                          - AED
                                          - AFN
                                          - XCD
                                          - ALL
                                          - AMD
                                          - AOA
                                          - ARS
                                          - USD
                                          - AUD
                                          - AWG
                                          - AZN
                                          - BAM
                                          - BBD
                                          - BDT
                                          - BGN
                                          - BHD
                                          - BIF
                                          - XOF
                                          - BMD
                                          - BND
                                          - BOB
                                          - BRL
                                          - BSD
                                          - BTN
                                          - NOK
                                          - BWP
                                          - BYR
                                          - BZD
                                          - CAD
                                          - CDF
                                          - XAF
                                          - CHF
                                          - NZD
                                          - CLP
                                          - CNY
                                          - COP
                                          - CRC
                                          - CUP
                                          - CVE
                                          - ANG
                                          - CZK
                                          - DJF
                                          - DKK
                                          - DOP
                                          - DZD
                                          - EGP
                                          - MAD
                                          - ERN
                                          - ETB
                                          - FJD
                                          - FKP
                                          - GBP
                                          - GEL
                                          - GHS
                                          - GIP
                                          - GMD
                                          - GNF
                                          - GTQ
                                          - GYD
                                          - HKD
                                          - HNL
                                          - HRK
                                          - HTG
                                          - HUF
                                          - IDR
                                          - ILS
                                          - INR
                                          - IQD
                                          - IRR
                                          - ISK
                                          - JMD
                                          - JOD
                                          - JPY
                                          - KES
                                          - KGS
                                          - KHR
                                          - KMF
                                          - KPW
                                          - KRW
                                          - KWD
                                          - KYD
                                          - KZT
                                          - LAK
                                          - LBP
                                          - LKR
                                          - LRD
                                          - LSL
                                          - LYD
                                          - MDL
                                          - MGA
                                          - MKD
                                          - MMK
                                          - MNT
                                          - MOP
                                          - MRO
                                          - MUR
                                          - MVR
                                          - MWK
                                          - MXN
                                          - MYR
                                          - MZN
                                          - NAD
                                          - XPF
                                          - NGN
                                          - NIO
                                          - NPR
                                          - OMR
                                          - PAB
                                          - PEN
                                          - PGK
                                          - PHP
                                          - PKR
                                          - PLN
                                          - PYG
                                          - QAR
                                          - RON
                                          - RSD
                                          - RUB
                                          - RWF
                                          - SAR
                                          - SBD
                                          - SCR
                                          - SDG
                                          - SEK
                                          - SGD
                                          - SHP
                                          - SLL
                                          - SOS
                                          - SRD
                                          - SSP
                                          - STD
                                          - SYP
                                          - SZL
                                          - THB
                                          - TJS
                                          - TMT
                                          - TND
                                          - TOP
                                          - TRY
                                          - TTD
                                          - TWD
                                          - TZS
                                          - UAH
                                          - UGX
                                          - UYU
                                          - UZS
                                          - VEF
                                          - VND
                                          - VUV
                                          - WST
                                          - YER
                                          - ZAR
                                          - ZMW
                                          - ZWL
                                        description: >-
                                          Currency code. See [ISO
                                          4217](https://en.wikipedia.org/wiki/ISO_4217#List_of_ISO_4217_currency_codes).
                                        example: EUR
                                    required:
                                      - description
                                      - expiration_date
                                      - redemption_limit
                                      - product_ids
                                      - repeat
                                      - duration
                                      - created_at
                                      - type
                                      - discount_amount
                                      - currency
                                    title: Coupon amount
                                  - type: object
                                    properties:
                                      description:
                                        type:
                                          - string
                                          - 'null'
                                        description: Coupon description.
                                        example: null
                                      expiration_date:
                                        type:
                                          - string
                                          - 'null'
                                        format: date-time
                                        description: >-
                                          Date corresponding to the expiration of
                                          the coupon.
                                        example: null
                                      redemption_limit:
                                        type:
                                          - number
                                          - 'null'
                                        description: >-
                                          Maximum number of subscriptions to which
                                          a single coupon can be applied.
                                        example: null
                                      product_ids:
                                        type: array
                                        items:
                                          type: string
                                        description: >-
                                          List of product IDs the coupon can be
                                          applied to. If empty, the coupon can be
                                          applied to any product.
                                        example:
                                          - itm_DKL4Xcb5VSa8CQ
                                          - itm_1234567890abcdef
                                      repeat:
                                        type:
                                          - string
                                          - 'null'
                                        enum:
                                          - once
                                          - forever
                                          - custom
                                          - duration
                                        description: >-
                                          Default repeat behaviour applied when
                                          the coupon is attached to a
                                          subscription. Valid values: `once`,
                                          `forever`, `duration`. Can be overridden
                                          at attach time.
                                        example: duration
                                      duration:
                                        type:
                                          - object
                                          - 'null'
                                        properties:
                                          count:
                                            type: number
                                            description: >-
                                              Number of periods the coupon applies
                                              for.
                                            example: 3
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                            description: >-
                                              Period unit the coupon applies for.
                                              Valid values: `days`, `weeks`, `months`,
                                              `years`.
                                            example: months
                                        required:
                                          - count
                                          - period
                                        description: >-
                                          Default duration applied when `repeat`
                                          is `duration`. Required when `repeat` is
                                          `duration`, must be null otherwise.
                                        example:
                                          count: 3
                                          period: months
                                      created_at:
                                        type: string
                                        format: date-time
                                        description: >-
                                          UTC date time string in the [ISO
                                          8601](https://en.wikipedia.org/wiki/ISO_8601)
                                          format.
                                        example: '2024-12-20T16:04:11Z'
                                      type:
                                        type: string
                                        enum:
                                          - percent
                                      discount_percent:
                                        type: number
                                        description: >-
                                          Percentage to apply as a discount on the
                                          amount (excluding taxes) of a product.
                                        example: 15
                                    required:
                                      - description
                                      - expiration_date
                                      - redemption_limit
                                      - product_ids
                                      - repeat
                                      - duration
                                      - created_at
                                      - type
                                      - discount_percent
                                    title: Coupon percent
                              - type: object
                                properties:
                                  id:
                                    type:
                                      - string
                                      - 'null'
                                    description: Coupon ID.
                                    example: cou_DKL4Xcb5VSa8CQ
                                  promotion_code_id:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      Promotion code ID if the coupon has been
                                      created from a promotion code.
                                    example: null
                                  name:
                                    type:
                                      - string
                                      - 'null'
                                    description: Coupon name.
                                    example: Partner discount
                                  subscription_coupon_id:
                                    type: string
                                    description: >-
                                      Coupon identifier in the context of the
                                      subscription.
                                    example: coos_d9pVekhjoGppuX
                                  repeat:
                                    type: string
                                    enum:
                                      - once
                                      - forever
                                      - custom
                                      - duration
                                    description: >

                                      Coupon frequency. Required for inline
                                      coupons. Optional when an existing coupon
                                      `id` is provided: if omitted, defaults to
                                      the catalog coupon's repeat value.


                                      - `once`: Will apply the coupon only to
                                      the first one invoice.

                                      - `forever`: Will apply the coupon to all
                                      invoices.

                                      - `custom`: Will apply to coupon until a
                                      specified expiration date.

                                      - `duration`: Will apply the coupon for a
                                      specific duration (e.g., 3 months).
                                    example: forever
                                  duration_period:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - days
                                      - weeks
                                      - months
                                      - years
                                    description: >-
                                      Period of time for which the coupon will
                                      be applied. Only applies to the `duration`
                                      coupon frequency.
                                  duration_count:
                                    type:
                                      - number
                                      - 'null'
                                    description: >-
                                      Number of periods for which the coupon
                                      will be applied. Only applies to the
                                      `duration` coupon frequency.
                                  product_ids:
                                    type: array
                                    items:
                                      type: string
                                    description: >-
                                      Product IDs to which the coupon will be
                                      applied.
                                    example:
                                      - itm_FJKlqUb8COXw55
                                  apply_at:
                                    type:
                                      - string
                                      - 'null'
                                    format: date-time
                                    description: >-
                                      Coupon first application date. UTC date
                                      time string in the [ISO
                                      8601](https://en.wikipedia.org/wiki/ISO_8601)
                                      format.
                                    example: null
                                  expires_at:
                                    type:
                                      - string
                                      - 'null'
                                    format: date-time
                                    description: >-
                                      Coupon expiration date. Only applies to
                                      the `custom` coupon frequency. UTC date
                                      time string in the [ISO
                                      8601](https://en.wikipedia.org/wiki/ISO_8601)
                                      format.
                                    example: null
                                required:
                                  - id
                                  - promotion_code_id
                                  - name
                                  - subscription_coupon_id
                                  - repeat
                                  - duration_period
                                  - duration_count
                                  - product_ids
                                  - apply_at
                                  - expires_at
                          description: Coupons comprising the subscription phase.
                        products:
                          type: array
                          items:
                            oneOf:
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    description: Product ID.
                                    example: itm_FJKlqUb8COXw55
                                  type:
                                    type: string
                                    enum:
                                      - flat_fee
                                  count:
                                    type: number
                                    description: Number of product units.
                                    example: 1
                                  name:
                                    type: string
                                    description: >-
                                      Product name. This will appear on the
                                      final invoices.
                                    example: Product name
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      Product description. This will appear on
                                      the final invoices.
                                    example: A description of the product.
                                  description_display_interval_dates:
                                    type: boolean
                                    description: >-
                                      Indicates if the dates of the interval
                                      should be automatically added in the
                                      product description on the invoices.
                                  payment_interval:
                                    anyOf:
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - once
                                        required:
                                          - period
                                        title: Once
                                        example:
                                          period: once
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                          count:
                                            type: number
                                            exclusiveMinimum: 0
                                        required:
                                          - period
                                          - count
                                        title: Period
                                        example:
                                          period: months
                                          count: 1
                                      - type: 'null'
                                    description: >-
                                      Interval on which the product is billed.
                                      This interval can be different between
                                      products and can differ from the
                                      subscription commitment interval.
                                  payment_schedule:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - start
                                      - end
                                    description: >-
                                      Indicates if the product should be billed
                                      at the start or the end of the payment
                                      interval.
                                    example: start
                                  prices:
                                    type: array
                                    items:
                                      $ref: '#/components/schemas/PriceFee'
                                    maxItems: 1
                                    description: >-
                                      Price tiers of the product. If fixed
                                      amount, only one price is available.
                                required:
                                  - id
                                  - type
                                  - count
                                  - name
                                  - description
                                  - description_display_interval_dates
                                  - payment_interval
                                  - payment_schedule
                                  - prices
                                title: Fee product
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    description: Product ID.
                                    example: itm_FJKlqUb8COXw55
                                  type:
                                    type: string
                                    enum:
                                      - seat
                                  count:
                                    type: number
                                    description: Number of product units.
                                    example: 2
                                  name:
                                    type: string
                                    description: >-
                                      Product name. This will appear on the
                                      final invoices.
                                    example: Product name
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      Product description. This will appear on
                                      the final invoices.
                                    example: A description of the product.
                                  description_display_interval_dates:
                                    type: boolean
                                    description: >-
                                      Indicates if the dates of the interval
                                      should be automatically added in the
                                      product description on the invoices.
                                  unit_name:
                                    type:
                                      - string
                                      - 'null'
                                    description: Name of the unit.
                                    example: user
                                  payment_interval:
                                    anyOf:
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - once
                                        required:
                                          - period
                                        title: Once
                                        example:
                                          period: once
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                          count:
                                            type: number
                                            exclusiveMinimum: 0
                                        required:
                                          - period
                                          - count
                                        title: Period
                                        example:
                                          period: months
                                          count: 1
                                      - type: 'null'
                                    description: >-
                                      Interval on which the product is billed.
                                      This interval can be different between
                                      products and can differ from the
                                      subscription commitment interval.
                                  payment_schedule:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - start
                                      - end
                                    description: >-
                                      Indicates if the product should be billed
                                      at the start or the end of the payment
                                      interval.
                                    example: start
                                  prices:
                                    type: array
                                    items:
                                      anyOf:
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceVolume'
                                            - title: Volume price
                                        - allOf:
                                            - $ref: '#/components/schemas/PricePackaged'
                                            - title: Packaged price
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceBulk'
                                            - title: Bulk price
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceBundle'
                                            - title: Bundle price
                                    description: >-
                                      Price tiers of the product. If fixed
                                      amount, only one price is available.
                                required:
                                  - id
                                  - type
                                  - count
                                  - name
                                  - description
                                  - description_display_interval_dates
                                  - unit_name
                                  - payment_interval
                                  - payment_schedule
                                  - prices
                                title: Seat product
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    description: Product ID.
                                    example: itm_FJKlqUb8COXw55
                                  type:
                                    type: string
                                    enum:
                                      - dynamic
                                  name:
                                    type: string
                                    description: >-
                                      Product name. This will appear on the
                                      final invoices.
                                    example: Product name
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      Product description. This will appear on
                                      the final invoices.
                                    example: A description of the product.
                                  description_display_interval_dates:
                                    type: boolean
                                    description: >-
                                      Indicates if the dates of the interval
                                      should be automatically added in the
                                      product description on the invoices.
                                  unit_name:
                                    type:
                                      - string
                                      - 'null'
                                    description: Name of the unit.
                                    example: hour
                                  payment_interval:
                                    anyOf:
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - once
                                        required:
                                          - period
                                        title: Once
                                        example:
                                          period: once
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                          count:
                                            type: number
                                            exclusiveMinimum: 0
                                        required:
                                          - period
                                          - count
                                        title: Period
                                        example:
                                          period: months
                                          count: 1
                                      - type: 'null'
                                    description: >-
                                      Interval on which the product is billed.
                                      This interval can be different between
                                      products and can differ from the
                                      subscription commitment interval.
                                  payment_schedule:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - start
                                      - end
                                    description: >-
                                      Indicates if the product should be billed
                                      at the start or the end of the payment
                                      interval.
                                    example: start
                                  min_committed_count:
                                    type:
                                      - number
                                      - 'null'
                                    description: >-
                                      Minimum of units committed. If usage is
                                      less than this number, then this value
                                      will be used.
                                    example: 2000
                                  min_amount:
                                    type:
                                      - number
                                      - 'null'
                                    description: >-
                                      Minimum amount billed. If the final
                                      computed amount from the usage for this
                                      product is less than this amount, then
                                      this value will be used.
                                  max_amount:
                                    type:
                                      - number
                                      - 'null'
                                    description: >-
                                      Maximum amount billed. If the final
                                      computed amount from the usage for this
                                      product is greater than this amount, then
                                      this value will be used.
                                  metering_interval_type:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - subscription_commitment
                                      - payment_interval
                                      - full_database
                                      - phase_duration
                                      - custom
                                    description: >-

                                      Indicates on which type of interval the
                                      usage should be aggregated.


                                      - `subscription_commitment`: For the usage
                                      contained within the subscription
                                      commitment period.

                                      - `payment_interval`: For the usage
                                      contained within the payment interval of
                                      the product.

                                      - `full_database`: For all the usage we
                                      ingested for this product, no matter the
                                      period.

                                      - `custom`: For the usage contained within
                                      a custom interval that starts with the
                                      phase and renews independently of the
                                      billing interval. Requires
                                      `metering_interval` to be set.
                                        
                                  bill_usage_difference:
                                    type: boolean
                                    description: >-
                                      Only bill the usage difference comparing
                                      to the previous period (i.e. actual amount
                                      minus last invoice amount). Doesn't apply
                                      to `payment_interval` metering interval
                                      type.
                                  prices:
                                    type: array
                                    items:
                                      anyOf:
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceVolume'
                                            - type: object
                                              properties:
                                                metering_filter:
                                                  type:
                                                    - object
                                                    - 'null'
                                                  properties:
                                                    name:
                                                      type: string
                                                      description: Name of the metering filter.
                                                      example: VISA credit cards
                                                    configuration:
                                                      $ref: >-
                                                        #/components/schemas/MeteringFilterConfiguration
                                                  required:
                                                    - name
                                                    - configuration
                                                  description: >-
                                                    Metering filter that scopes which
                                                    billable events are eligible for this
                                                    price tier. Only present when the price
                                                    is filtered.
                                          title: Volume price
                                        - allOf:
                                            - $ref: '#/components/schemas/PricePackaged'
                                            - type: object
                                              properties:
                                                metering_filter:
                                                  type:
                                                    - object
                                                    - 'null'
                                                  properties:
                                                    name:
                                                      type: string
                                                      description: Name of the metering filter.
                                                      example: VISA credit cards
                                                    configuration:
                                                      $ref: >-
                                                        #/components/schemas/MeteringFilterConfiguration
                                                  required:
                                                    - name
                                                    - configuration
                                                  description: >-
                                                    Metering filter that scopes which
                                                    billable events are eligible for this
                                                    price tier. Only present when the price
                                                    is filtered.
                                          title: Packaged price
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceBulk'
                                            - type: object
                                              properties:
                                                metering_filter:
                                                  type:
                                                    - object
                                                    - 'null'
                                                  properties:
                                                    name:
                                                      type: string
                                                      description: Name of the metering filter.
                                                      example: VISA credit cards
                                                    configuration:
                                                      $ref: >-
                                                        #/components/schemas/MeteringFilterConfiguration
                                                  required:
                                                    - name
                                                    - configuration
                                                  description: >-
                                                    Metering filter that scopes which
                                                    billable events are eligible for this
                                                    price tier. Only present when the price
                                                    is filtered.
                                          title: Bulk price
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceBps'
                                            - type: object
                                              properties:
                                                metering_filter:
                                                  type:
                                                    - object
                                                    - 'null'
                                                  properties:
                                                    name:
                                                      type: string
                                                      description: Name of the metering filter.
                                                      example: VISA credit cards
                                                    configuration:
                                                      $ref: >-
                                                        #/components/schemas/MeteringFilterConfiguration
                                                  required:
                                                    - name
                                                    - configuration
                                                  description: >-
                                                    Metering filter that scopes which
                                                    billable events are eligible for this
                                                    price tier. Only present when the price
                                                    is filtered.
                                          title: BPS price
                                    description: >-
                                      Price tiers of the product. If fixed
                                      amount, only one price is available.
                                required:
                                  - id
                                  - type
                                  - name
                                  - description
                                  - description_display_interval_dates
                                  - unit_name
                                  - payment_interval
                                  - payment_schedule
                                  - min_committed_count
                                  - min_amount
                                  - max_amount
                                  - metering_interval_type
                                  - bill_usage_difference
                                  - prices
                                title: Dynamic product
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    description: Product ID.
                                    example: itm_FJKlqUb8COXw55
                                  type:
                                    type: string
                                    enum:
                                      - credit
                                  count:
                                    type: number
                                    description: Number of product units.
                                    example: 2
                                  name:
                                    type: string
                                    description: >-
                                      Product name. This will appear on the
                                      final invoices.
                                    example: Product name
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      Product description. This will appear on
                                      the final invoices.
                                    example: A description of the product.
                                  description_display_interval_dates:
                                    type: boolean
                                    description: >-
                                      Indicates if the dates of the interval
                                      should be automatically added in the
                                      product description on the invoices.
                                  unit_name:
                                    type:
                                      - string
                                      - 'null'
                                    description: Name of the unit.
                                    example: hour
                                  payment_interval:
                                    anyOf:
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - once
                                        required:
                                          - period
                                        title: Once
                                        example:
                                          period: once
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                          count:
                                            type: number
                                            exclusiveMinimum: 0
                                        required:
                                          - period
                                          - count
                                        title: Period
                                        example:
                                          period: months
                                          count: 1
                                      - type: 'null'
                                    description: >-
                                      Interval on which the product is billed.
                                      This interval can be different between
                                      products and can differ from the
                                      subscription commitment interval.
                                  payment_schedule:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - start
                                      - end
                                    description: >-
                                      Indicates if the product should be billed
                                      at the start or the end of the payment
                                      interval.
                                    example: start
                                  credits_expiration_in_days:
                                    type:
                                      - number
                                      - 'null'
                                    description: >-
                                      Validity in days for credits that will be
                                      topped-up automatically. Once the period
                                      has passed, they'll expire
                                  expire_credits_at_end_of_period:
                                    anyOf:
                                      - type: boolean
                                      - type: string
                                        enum:
                                          - 'true'
                                          - 'false'
                                      - type: 'null'
                                    default: false
                                    description: >-
                                      Automatically set the expiration date to
                                      the end of the next period for each topup.
                                      Takes priority on
                                      `creditsExpirationInDays`
                                  prices:
                                    type: array
                                    items:
                                      $ref: '#/components/schemas/PriceFee'
                                    maxItems: 1
                                    description: >-
                                      Price tiers of the product. If fixed
                                      amount, only one price is available.
                                required:
                                  - id
                                  - type
                                  - count
                                  - name
                                  - description
                                  - description_display_interval_dates
                                  - unit_name
                                  - payment_interval
                                  - payment_schedule
                                  - credits_expiration_in_days
                                  - prices
                                title: Credit product
                              - type: object
                                properties:
                                  id:
                                    type: string
                                    description: Product ID.
                                    example: itm_FJKlqUb8COXw55
                                  type:
                                    type: string
                                    enum:
                                      - bundle
                                  count:
                                    type: number
                                    description: Number of product units.
                                    example: 2
                                  name:
                                    type: string
                                    description: >-
                                      Product name. This will appear on the
                                      final invoices.
                                    example: Product name
                                  description:
                                    type:
                                      - string
                                      - 'null'
                                    description: >-
                                      Product description. This will appear on
                                      the final invoices.
                                    example: A description of the product.
                                  description_display_interval_dates:
                                    type: boolean
                                    description: >-
                                      Indicates if the dates of the interval
                                      should be automatically added in the
                                      product description on the invoices.
                                  display_mode:
                                    type: string
                                    enum:
                                      - single_line
                                      - ventilated
                                    description: How bundle items are displayed on invoices
                                  payment_interval:
                                    anyOf:
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - once
                                        required:
                                          - period
                                        title: Once
                                        example:
                                          period: once
                                      - type: object
                                        properties:
                                          period:
                                            type: string
                                            enum:
                                              - days
                                              - weeks
                                              - months
                                              - years
                                          count:
                                            type: number
                                            exclusiveMinimum: 0
                                        required:
                                          - period
                                          - count
                                        title: Period
                                        example:
                                          period: months
                                          count: 1
                                      - type: 'null'
                                    description: >-
                                      Interval on which the product is billed.
                                      This interval can be different between
                                      products and can differ from the
                                      subscription commitment interval.
                                  payment_schedule:
                                    type:
                                      - string
                                      - 'null'
                                    enum:
                                      - start
                                      - end
                                    description: >-
                                      Indicates if the product should be billed
                                      at the start or the end of the payment
                                      interval.
                                    example: start
                                  prices:
                                    type: array
                                    items:
                                      anyOf:
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceVolume'
                                            - title: Volume price
                                        - allOf:
                                            - $ref: '#/components/schemas/PricePackaged'
                                            - title: Packaged price
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceBulk'
                                            - title: Bulk price
                                        - allOf:
                                            - $ref: '#/components/schemas/PriceBundle'
                                            - title: Bundle price
                                    description: >-
                                      Price tiers of the product. If fixed
                                      amount, only one price is available.
                                required:
                                  - id
                                  - type
                                  - count
                                  - name
                                  - description
                                  - description_display_interval_dates
                                  - display_mode
                                  - payment_interval
                                  - payment_schedule
                                  - prices
                                title: Bundle product
                      required:
                        - id
                        - type
                        - status
                        - order
                        - activation_strategy
                        - end_strategy
                        - duration
                        - billing_date_setting
                        - starts_at
                        - ends_at
                        - billing_cycle_alignment
                        - do_not_invoice_phase
                        - transition_calculation_method
                        - transition_invoicing_schedule
                        - coupons
                        - products
                    description: Phases of the subscription.
                required:
                  - name
                  - minimum_invoice_fee
                  - cancel_at
                  - cancellation_strategy
                  - custom_properties
                  - generate_document
                  - document_name
                  - add_tax_to_document
                  - generate_draft_invoices
                  - contract_terms
                  - phases
          description: Subscription template configurations.
          example: []
        created_at:
          type: string
          format: date-time
          description: >-
            Subscription template creation date. UTC date time string in the
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          example: '2025-11-30T18:24:34.473Z'
        updated_at:
          type: string
          format: date-time
          description: >-
            Subscription template last edition date. UTC date time string in the
            [ISO 8601](https://en.wikipedia.org/wiki/ISO_8601) format.
          example: '2025-11-30T18:24:34.473Z'
      required:
        - id
        - name
        - description
        - configurations
        - created_at
        - updated_at
    PriceFee:
      type: object
      properties:
        type:
          type: string
          enum:
            - fee
        id:
          type: string
          description: Price ID.
        amount:
          type: number
          description: Monetary amount. Expressed in currency's smallest unit.
      required:
        - type
        - amount
    PriceVolume:
      type: object
      properties:
        type:
          type: string
          enum:
            - volume
        id:
          type: string
          description: Price ID.
        amount:
          type: number
          description: >-
            Monetary amount of the price for the number of units defined by
            `unit_count`. Expressed in currency's smallest unit.
        unit_count:
          type: number
          description: Number of units considered for the amount.
        from:
          type: number
          description: From limit.
        to:
          type:
            - number
            - 'null'
          description: To limit.
        on_tier_incomplete:
          type:
            - string
            - 'null'
          enum:
            - pro_rata
            - pay_in_full
            - do_not_charge
          default: pro_rata
          description: >-

            Logic used to compute the amount when usage on the tier is
            incomplete.


            - `pro_rata`: The amount is computed using the pro rata of the
            tier's consumption.

            - `pay_in_full`: The amount corresponds to the full payment of the
            tier.

            - `do_not_charge`: The tier is not charged and ignored.
              
      required:
        - type
        - amount
        - unit_count
        - from
        - to
    PricePackaged:
      type: object
      properties:
        type:
          type: string
          enum:
            - packaged
        id:
          type: string
          description: Price ID.
        amount:
          type: number
          description: >-
            Monetary amount of the price for the number of units defined by
            `unit_count`. Expressed in currency's smallest unit.
        unit_count:
          type: number
          description: Number of units considered for the amount.
        from:
          type: number
          description: From limit.
        to:
          type:
            - number
            - 'null'
          description: To limit.
        on_bucket_incomplete:
          type:
            - string
            - 'null'
          enum:
            - pro_rata
            - pay_in_full
            - do_not_charge
          default: pro_rata
          description: >-

            Logic used to compute the amount when usage reaches an incomplete
            bucket (the bucket size corresponds to the `unitCount`).

              - `pro_rata`: The amount is computed using the pro rata of the bucket's consumption.
              - `pay_in_full`: The amount corresponds to the full payment of the bucket.
              - `do_not_charge`: The bucket is not charged and ignored.
                
      required:
        - type
        - amount
        - unit_count
        - from
        - to
    PriceBulk:
      type: object
      properties:
        type:
          type: string
          enum:
            - bulk
        id:
          type: string
          description: Price ID.
        amount:
          type: number
          description: >-
            Monetary amount of the price for the number of units defined by
            `unit_count`. Expressed in currency's smallest unit.
        unit_count:
          type: number
          description: Number of units considered for the amount.
        to:
          type:
            - number
            - 'null'
          description: To limit.
        on_tier_incomplete:
          type:
            - string
            - 'null'
          enum:
            - pro_rata
            - pay_in_full
            - do_not_charge
          default: pro_rata
          description: >-

            Logic used to compute the amount when usage on the tier is
            incomplete.


            - `pro_rata`: The amount is computed using the pro rata of the
            tier's consumption.

            - `pay_in_full`: The amount corresponds to the full payment of the
            tier.

            - `do_not_charge`: The tier is not charged and ignored.
              
      required:
        - type
        - amount
        - unit_count
        - to
    PriceBundle:
      type: object
      properties:
        type:
          type: string
          enum:
            - bundle
        id:
          type: string
          description: Price ID.
        amount:
          type: number
          description: >-
            Monetary amount of the price for the number of units defined by
            `unit_count`. Expressed in currency's smallest unit.
        unit_count:
          type: number
          description: Number of units considered for the amount.
      required:
        - type
        - amount
        - unit_count
    MeteringFilterConfiguration:
      type: object
      properties:
        conditional:
          type: string
          enum:
            - and
            - or
          description: >-
            Logical operator used to combine multiple filter fields. `and`
            requires all fields to match, `or` requires at least one.
        fields:
          type: array
          items:
            allOf:
              - type: object
                properties:
                  property:
                    type: string
                    description: Name of the event property to filter on.
                required:
                  - property
              - oneOf:
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - is_null
                          - is_not_null
                        description: Comparison operator to apply on the property value.
                    required:
                      - operator
                    title: Null check
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - in
                          - not_in
                        description: Comparison operator to apply on the property value.
                      value:
                        type: string
                    required:
                      - operator
                      - value
                    title: List match
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - gte
                          - gt
                          - lt
                          - lte
                        description: Comparison operator to apply on the property value.
                      value:
                        type: number
                    required:
                      - operator
                      - value
                    title: Numeric comparison
                  - type: object
                    properties:
                      operator:
                        type: string
                        enum:
                          - equals
                          - not_equal
                        description: Comparison operator to apply on the property value.
                      value:
                        anyOf:
                          - type: string
                          - type: number
                          - type: boolean
                    required:
                      - operator
                      - value
                    title: Equality check
      required:
        - conditional
        - fields
      description: Configuration of the rules used to filter eligible events.
      example:
        conditional: and
        fields:
          - property: card_type
            operator: equals
            value: visa
          - property: kind
            operator: equals
            value: credit_card
    PriceBps:
      type: object
      properties:
        type:
          type: string
          enum:
            - bps
        id:
          type: string
          description: Price ID.
        from:
          type: number
          description: From limit.
        to:
          type:
            - number
            - 'null'
          description: To limit.
        percentage:
          type: number
          description: Percentage applied on each unit to compute the usage.
        per_unit_cap:
          type:
            - number
            - 'null'
          description: Maximum amount for one unit. Expressed in currency's smallest unit.
        per_unit_floor:
          type:
            - number
            - 'null'
          description: Minimum amount for one unit. Expressed in currency's smallest unit.
        per_unit_fee:
          type:
            - number
            - 'null'
          description: Fee amount applied per unit. Expressed in currency's smallest unit.
      required:
        - type
        - from
        - to
        - percentage
        - per_unit_cap
        - per_unit_floor
        - per_unit_fee
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````