Coinflow subscription API

The subscription API from Coinflow — 7 operation(s) for subscription.

Operations 7

PATCH /subscription/{merchantId}/subscribers/{subscriptionId} Customer Cancel Subscription #
GET /subscription/{merchantId}/plans Get Available Plans #
GET /subscription/{merchantId}/subscribers Get Customer Subscriptions #
GET /subscription/{merchantId}/plans/{code} Get Plan #
POST /subscription/{merchantId}/subscribers/ach Purchase Subscription by ACH #
POST /subscription/{merchantId}/subscribers/token Purchase Subscription with Existing Card #
POST /subscription/{merchantId}/subscribers/card Purchase Subscription with New Card #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/coinflow-subscription-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

coinflow-subscription-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Reference authentication Subscription API
  version: 1.0.0
servers:
- url: https://api-sandbox.coinflow.cash/api
  description: https://api-sandbox.coinflow.cash/api
tags:
- name: subscription
paths:
  /subscription/{merchantId}/subscribers/{subscriptionId}:
    patch:
      operationId: cancel-customer-subscription
      summary: Customer Cancel Subscription
      description: Cancel a subscription (by customer)
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: subscriptionId
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Successful response
  /subscription/{merchantId}/plans:
    get:
      operationId: get-available-plans
      summary: Get Available Plans
      description: Get the available subscription plans for a merchant
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscriptionPlan'
  /subscription/{merchantId}/subscribers:
    get:
      operationId: get-customer-subscriptions
      summary: Get Customer Subscriptions
      description: Get the subscriptions a customer has with a merchant
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: array
                items:
                  $ref: '#/components/schemas/SubscriptionDisplay'
  /subscription/{merchantId}/plans/{code}:
    get:
      operationId: get-plan
      summary: Get Plan
      description: Get a specific subscription plan
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: code
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionPlan'
  /subscription/{merchantId}/subscribers/ach:
    post:
      operationId: create-subscription-ach
      summary: Purchase Subscription by ACH
      description: Purchase a subscription using ACH
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: string
        '428':
          description: User must re-verify account
          content:
            application/json:
              schema:
                description: Any type
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionAchSetup'
  /subscription/{merchantId}/subscribers/token:
    post:
      operationId: create-subscription-token
      summary: Purchase Subscription with Existing Card
      description: Purchase a subscription with an existing credit card
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      - name: x-device-id
        in: header
        description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: string
        '422':
          description: Address Required
          content:
            application/json:
              schema:
                description: Any type
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionTokenSetup'
  /subscription/{merchantId}/subscribers/card:
    post:
      operationId: create-subscription-card
      summary: Purchase Subscription with New Card
      description: Purchase a subscription with a new credit card
      tags:
      - subscription
      parameters:
      - name: merchantId
        in: path
        required: true
        schema:
          type: string
      - name: x-coinflow-auth-session-key
        in: header
        description: The session key generated for the end user - see https://docs.coinflow.cash/api-reference/api-reference/authentication/get-session-key
        required: true
        schema:
          type: string
      - name: x-device-id
        in: header
        description: '- (Optional) If you are using Coinflow Chargeback Protection, you must pass the device id of the customer''s device.'
        required: false
        schema:
          type: string
      responses:
        '200':
          description: Ok
          content:
            application/json:
              schema:
                type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/SubscriptionCardSetup'
components:
  schemas:
    Blockchain.SOLANA:
      type: string
      enum:
      - solana
      title: Blockchain.SOLANA
    AnyObject:
      type: object
      properties:
        example:
          type: string
      title: AnyObject
    RecipientInfo:
      type: object
      properties:
        accountId:
          type: string
          description: The ID of the account that will receive the purchased goods
        dob:
          type: string
          description: 'Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY

            Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$'
        email:
          type:
          - string
          - 'null'
          description: 'Email

            Example: lois.lane@dailyplanet.com'
        firstName:
          type: string
          description: 'First name

            Example: Lois'
        gender:
          type: string
          description: 'Gender

            Example: female'
        lastName:
          type: string
          description: 'Last name

            Example: Lois'
        message:
          type: string
          description: The message that the recipient will receive
        phoneInfo:
          $ref: '#/components/schemas/PhoneInfo'
        shippingAddress:
          $ref: '#/components/schemas/CartItemAddress'
        wallet:
          $ref: '#/components/schemas/RecipientInfoWallet'
          description: The crypto wallet that will receive the funds
      title: RecipientInfo
    CartItemAddress:
      type: object
      properties:
        country:
          type: string
          description: 'Country code specified as a two letter code according to ISO 3166 Alpha-2

            Between 2 and 2 characters

            Example: US

            Pattern: ^[A-Z]{2}$'
        state:
          type: string
          description: 'The state or province

            Example: PA'
        city:
          type: string
          description: 'The city or locality

            Example: Pittsburgh'
        street:
          type: string
          description: 'The street name

            Example: Baker St'
        postalCode:
          type: string
          description: The address postal code
      description: Address structure
      title: CartItemAddress
    CartClassOmitted:
      type: array
      items:
        $ref: '#/components/schemas/CartItemClassOmitted'
      description: Cart item details required for Coinflow Chargeback Protection. Required if the merchant uses chargeback protection.
      title: CartClassOmitted
    SellerInfo:
      type: object
      properties:
        id:
          type: string
          description: Id of the seller
        email:
          type:
          - string
          - 'null'
          description: 'Email

            Example: lois.lane@dailyplanet.com'
        firstName:
          type: string
          description: 'First name

            Example: Lois'
        lastName:
          type: string
          description: 'Last name

            Example: Lois'
        dob:
          type: string
          description: 'Date of birth, formatted as YYYY-MM-DD. If only the year is known, use YYYY

            Pattern: ^\d{4}(-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01]))?$'
        rawSellerData:
          $ref: '#/components/schemas/Record_string.any_'
      title: SellerInfo
    CardData:
      type: object
      properties:
        cardToken:
          type: string
          description: This is the card token received from the `CoinflowCardNumberInput`
        expYear:
          type: string
          description: 'The Cards Expiration Year ex: 2026 => 26'
        expMonth:
          type: string
          description: 'The Cards Expiration Month ex: January => 01 December => 12'
        additionalVendorData:
          $ref: '#/components/schemas/CardDataAdditionalVendorData'
          description: 'Optional non-PCI passthrough fields merged into the stored card vendorData.

            Base type is empty; tokenization providers extend it with their own fields.'
        email:
          type: string
        businessName:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        address1:
          type: string
        city:
          type: string
        zip:
          type: string
        state:
          type: string
        country:
          type: string
      required:
      - cardToken
      - expYear
      - expMonth
      - email
      - firstName
      - lastName
      - address1
      - city
      - country
      title: CardData
    CustomerInfo:
      oneOf:
      - $ref: '#/components/schemas/SplitNameCustomerInfo'
      - $ref: '#/components/schemas/NameCustomerInfo'
      title: CustomerInfo
    SubscriptionDisplay:
      type: object
      properties:
        id:
          type: string
        customerId:
          type: string
        blockchain:
          $ref: '#/components/schemas/Blockchain'
        merchantId:
          type: string
        email:
          type: string
        plan:
          type: string
        planCode:
          type: string
        nextPaymentAt:
          type: string
          format: date-time
        status:
          $ref: '#/components/schemas/SubscriptionStatus'
      required:
      - id
      - customerId
      - merchantId
      - email
      - plan
      - planCode
      - status
      title: SubscriptionDisplay
    SubscriptionAchSetup:
      type: object
      properties:
        customerInfo:
          $ref: '#/components/schemas/CustomerInfo'
        webhookInfo:
          $ref: '#/components/schemas/AnyObject'
        chargebackProtectionData:
          $ref: '#/components/schemas/CartClassOmitted'
        feePercentage:
          type: number
          format: double
          description: 'If this purchase is for a seller/submerchant where the marketplace takes a fee, this is the % fee which is

            taken from the subtotal amount.'
        fixedFee:
          $ref: '#/components/schemas/Cents'
        planCode:
          type: string
          description: The code of the plan to use for the subscription
        token:
          type: string
          description: Token for the bank account to be used for the subscription
      required:
      - planCode
      - token
      title: SubscriptionAchSetup
    PhoneInfo:
      type: object
      properties:
        carrier:
          type: string
          description: 'The mobile carrier

            Example: T-Mobile'
        countryCode:
          type: string
          description: 'The country code (leading `+` is optional)

            Example: 42

            Pattern: ^\+?[0-9]+$'
        phone:
          type: string
          description: 'The phone number without the country code or hyphens

            Example: 2025550169

            Pattern: ^[0-9]+$'
      required:
      - countryCode
      - phone
      description: Phone information structure
      title: PhoneInfo
    Blockchain.TEMPO:
      type: string
      enum:
      - tempo
      title: Blockchain.TEMPO
    Blockchain.STELLAR:
      type: string
      enum:
      - stellar
      title: Blockchain.STELLAR
    SubscriptionInterval:
      type: string
      enum:
      - Daily
      - Weekly
      - Monthly
      - Yearly
      title: SubscriptionInterval
    CardDataWithoutAddressAdditionalVendorData:
      type: object
      properties: {}
      description: 'Optional non-PCI passthrough fields merged into the stored card vendorData.

        Base type is empty; tokenization providers extend it with their own fields.'
      title: CardDataWithoutAddressAdditionalVendorData
    Blockchain.ETH:
      type: string
      enum:
      - eth
      title: Blockchain.ETH
    CryptoCartItemUnitPrice:
      type: object
      properties:
        currency:
          type: string
          description: 'Currency specified as a three letter code according to ISO 4217

            Example: USD'
        valueInCurrency:
          type: number
          format: double
          description: 'The amount in the currency, which is specified in the `currency` property

            Example: 90'
      required:
      - currency
      - valueInCurrency
      description: The price per 1 unit
      title: CryptoCartItemUnitPrice
    Blockchain:
      type: string
      enum:
      - solana
      - eth
      - polygon
      - base
      - user
      - arbitrum
      - stellar
      - monad
      - tempo
      title: Blockchain
    CartItemClassOmitted:
      oneOf:
      - $ref: '#/components/schemas/Pick_nftCartItem.Exclude_keyofnftCartItem.sellingPrice-or-itemClass__'
      - $ref: '#/components/schemas/Pick_GiftCardCartItem.Exclude_keyofGiftCardCartItem.listPrice__'
      - $ref: '#/components/schemas/CryptoCartItem'
      - $ref: '#/components/schemas/MoneyTopUpCartItem'
      title: CartItemClassOmitted
    Blockchain.POLYGON:
      type: string
      enum:
      - polygon
      title: Blockchain.POLYGON
    Device3DSInfo:
      type: object
      properties:
        colorDepth:
          type: number
          format: double
        screenHeight:
          type: number
          format: double
        screenWidth:
          type: number
          format: double
        timeZone:
          type: number
          format: double
        versionInfo:
          type: array
          items:
            $ref: '#/components/schemas/VersionInfo'
      required:
      - colorDepth
      - screenHeight
      - screenWidth
      - timeZone
      title: Device3DSInfo
    PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemClass:
      type: string
      enum:
      - giftCard
      title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceItemClass
    SubscriptionTokenSetupAddress:
      type: object
      properties:
        country:
          type: string
        state:
          type: string
        zip:
          type: string
        city:
          type: string
        address1:
          type: string
      required:
      - country
      - city
      - address1
      description: The address field is not needed here unless explicitly given instructions to do so.
      title: SubscriptionTokenSetupAddress
    ThreeDsChallengePreference:
      type: string
      enum:
      - NoPreference
      - Frictionless
      - Challenge
      title: ThreeDsChallengePreference
    SubscriptionCardSetup:
      type: object
      properties:
        customerInfo:
          $ref: '#/components/schemas/CustomerInfo'
        webhookInfo:
          $ref: '#/components/schemas/AnyObject'
        chargebackProtectionData:
          $ref: '#/components/schemas/CartClassOmitted'
        feePercentage:
          type: number
          format: double
          description: 'If this purchase is for a seller/submerchant where the marketplace takes a fee, this is the % fee which is

            taken from the subtotal amount.'
        fixedFee:
          $ref: '#/components/schemas/Cents'
        planCode:
          type: string
          description: The code of the plan to use for the subscription
        authentication3DS:
          $ref: '#/components/schemas/Authentication3DS'
        threeDsChallengePreference:
          $ref: '#/components/schemas/ThreeDsChallengePreference'
        accountFundingTransaction:
          $ref: '#/components/schemas/AccountFundingTransaction'
        card:
          $ref: '#/components/schemas/SubscriptionCardSetupCard'
          description: 'Credit card information.

            <b>Always</b> pass address unless explicitly told that you may not'
      required:
      - planCode
      - card
      title: SubscriptionCardSetup
    productType:
      type: string
      enum:
      - inGameProduct
      - gameOfSkill
      - dataStorage
      - computingResources
      - sportsTicket
      - eSportsTicket
      - musicTicket
      - conferenceTicket
      - virtualSportsTicket
      - virtualESportsTicket
      - virtualMusicTicket
      - virtualConferenceTicket
      - alcohol
      - DLC
      - subscription
      - fundACause
      - realEstate
      - computingContract
      - digitalArt
      - topUp
      - ownershipContract
      - inGameCurrency
      - digitalCollectibles
      - digitalCollectiblesMarketplace
      - digitalGiftingMarketplace
      - sweepstakes
      - virtualSportsEvents
      - contractInvoicing
      - onlineCasino
      - cryptoOnramp
      - gaming
      - travelDocuments
      - musicStreaming
      - digitalContent
      - eBooks
      - digitalSubscriptionContent
      title: productType
    AccountFundingTransaction:
      type: object
      properties:
        recipientAftInfo:
          $ref: '#/components/schemas/RecipientAftInfo'
      description: Used for Account Funding Transactions
      title: AccountFundingTransaction
    External3DSInfo:
      type: object
      properties:
        transactionId:
          type: string
        cavv:
          type: string
        eci:
          type: string
        dsTransactionId:
          type: string
        acsTransactionId:
          type: string
        version:
          type: string
      required:
      - transactionId
      - cavv
      - eci
      - dsTransactionId
      - acsTransactionId
      - version
      description: 'External 3DS info, if provided must call the endpoint

        with API key or checkout JWT.'
      title: External3DSInfo
    TransactionHistoryItem:
      type: object
      properties:
        txType:
          type: string
        chain:
          type: string
        paymentAmount:
          type: string
        paymentToken:
          type: string
        to:
          type: string
        from:
          type: string
        registryContract:
          type: string
        assetID:
          type: string
        txTime:
          type: string
        blockNumber:
          type: number
          format: double
        txHash:
          type: string
      required:
      - txType
      - chain
      - paymentAmount
      - paymentToken
      - to
      - from
      - registryContract
      - assetID
      - txTime
      - blockNumber
      - txHash
      title: TransactionHistoryItem
    SubscriptionCardSetupCard:
      oneOf:
      - $ref: '#/components/schemas/CardData'
      - $ref: '#/components/schemas/CardDataWithoutAddress'
      description: 'Credit card information.

        <b>Always</b> pass address unless explicitly told that you may not'
      title: SubscriptionCardSetupCard
    PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice:
      type: object
      properties:
        currency:
          type: string
        valueInCurrency:
          type: number
          format: double
      description: The item's list price
      title: PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice
    PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceSellingPrice:
      type: object
      properties:
        currency:
          type: string
        valueInCurrency:
          type: number
          format: double
      required:
      - currency
      - valueInCurrency
      title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceSellingPrice
    CurrencyAmount:
      type: object
      properties:
        valueInCurrency:
          type: number
          format: double
          description: 'The amount in the currency, which is specified in the `currency` property

            Example: 90'
        currency:
          type: string
          description: 'Currency specified as a three letter code according to ISO 4217

            Example: USD'
      required:
      - valueInCurrency
      - currency
      description: Common currency amount structure
      title: CurrencyAmount
    Blockchain.ARBITRUM:
      type: string
      enum:
      - arbitrum
      title: Blockchain.ARBITRUM
    PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceProductType:
      type: string
      enum:
      - giftCard
      title: PickGiftCardCartItemExcludeKeyofGiftCardCartItemListPriceProductType
    RecipientAftInfo:
      type: object
      properties:
        firstName:
          type: string
        lastName:
          type: string
        address1:
          type: string
        city:
          type: string
        postalCode:
          type: string
        state:
          type: string
        countryCode:
          type: string
        dateOfBirth:
          type: string
          description: Recipients Date Of Birth in YYYMMDD format.
        phoneNumber:
          type: string
        documentReference:
          type: string
      required:
      - firstName
      - lastName
      - address1
      - city
      - postalCode
      - countryCode
      title: RecipientAftInfo
    Pick_nftCartItem.Exclude_keyofnftCartItem.sellingPrice-or-itemClass__:
      type: object
      properties:
        productName:
          type: string
          description: The name of the related product
        productType:
          $ref: '#/components/schemas/productType'
        listPrice:
          $ref: '#/components/schemas/PickNftCartItemExcludeKeyofnftCartItemSellingPriceOrItemClassListPrice'
          description: The item's list price
        quantity:
          type: number
          format: double
          description: The number of units sold
        rawProductData:
          $ref: '#/components/schemas/AnyObject'
        seller:
          $ref: '#/components/schemas/SellerInfo'
        transactionHistory:
          type: array
          items:
            $ref: '#/components/schemas/TransactionHistoryItem'
      required:
      - productName
      - productType
      - quantity
      description: From T, pick a set of properties whose keys are in the union K
      title: Pick_nftCartItem.Exclude_keyofnftCartItem.sellingPrice-or-itemClass__
    MoneyTopUpCartItem:
      type: object
      properties:
        itemClass:
          $ref: '#/components/schemas/MoneyTopUpCartItemItemClass'
          description: 'Denotes the cart item class. The item schema is chosen based on this value.

            Allowed value: moneyTopUp

            Example: moneyTopUp'
        id:
          type: string
          description: 'The cart items''s unique ID

            Example: 5de33332-546a-4171-8988-2a43d2bfe9c6'
        rawProductData:
          $ref: '#/components/schemas/Record_string.any_'
        sellingPrice:
          $ref: '#/components/schemas/CurrencyAmount'
        recipientInfo:
          $ref: '#/components/schemas/RecipientInfo'
        topUpAmount:
          $ref: '#/components/schemas/CurrencyAmount'
        quantity:
          type: number
          format: double
          description: 'Quantity

            Example: 2'
        isPresetAmount:
          type: boolean
          description: 'Represents whether the item amount is taken from a preset list, e.g. 25, 50, 100, etc.

            or whether it was a different amount, e.g. 27'
      required:
      - itemClass
      - sellingPrice
      - topUpAmount
      - quantity
      - isPresetAmount
      description: Represents a money top-up item in a shopping cart
      title: MoneyTopUpCartItem
    NameCustomerInfo:
      type: object
      properties:
        verificationId:
          type: string
        displayName:
          type: string
        address:
          type: string
        city:
          type: string
        state:
          type: string
        zip:
          type: string
        country:
          type: string
        ip:
          type: string
        lat:
          type: string
        lng:
          type: string
        dob:
          type: string
          description: Date of birth in YYYY-MM-DD format
        email:
          type: string
        name:
          type: string
      title: NameCustomerInfo
    MoneyTopUpCartItemItemClass:
      type: string
      enum:
      - moneyTopUp
      description: 'Denotes the cart item class. The item schema is chosen based on this value.

        Allowed value: moneyTopUp

        Example: moneyTopUp'
      title: MoneyTopUpCartItemItemClass
    SubscriptionStatus:
      type: string
      enum:
      - Active
      - Canceled
      - Expired
      - Concluded
      - Failed
      - Blocked
      title: SubscriptionStatus
    SubscriptionTokenSetup:
      type: object
      properties:
        customerInfo:
          $ref: '#/components/schemas/CustomerInfo'
        webhookInfo:
          $ref: '#/components/schemas/AnyObject'
        chargebackProtectionData:
          $ref: '#/components/schemas/CartClassOmitted'
        feePercentage:
          type: number
          format: double
          description: 'If this purchase is for a seller/submerchant where the marketplace takes a fee, this is the % fee which is

            taken from the subtotal amount.'
        fixedFee:
          $ref: '#/components/schemas/Cents'
        planCode:
          type: string
          description: The code of the plan to use for the subscription
        authentication3DS:
          $ref: '#/components/schemas/Authentication3DS'
        threeDsChallengePreference:
          $ref: '#/components/schemas/ThreeDsChallengePreference'
        accountFundingTransaction:
          $ref: '#/components/schemas/AccountFundingTransaction'
        token:
          type: string
          description: Token for the card to be used for the subscription
        address:
          $ref: '#/components/schemas/SubscriptionTokenSetupAddress'
          description: The address field is not needed here unless explicitly given instructions to do so.
      required:
      - planCode
      - token
      title: SubscriptionTokenSetup
    CryptoCartItem:
      type: object
      properties:
        itemClass:
          $ref: '#/components/schemas/CryptoCartItemItemClass'
          description: 'Denotes the cart item class. The item schema is chosen based on this value.

            Allowed value: crypto

            Example: crypto'
        id:
          type: string
          description: 'The cart items''s unique ID

            Example: 5de33332-546a-4171-8988-2a43d2bfe9c6'
        rawProductData:
          $ref: '#/components/schemas/AnyObject'
        units:
          type: string
          description: 'The amount in the crypto currency which is specified in the `cryptoCurrency` property

            Example: 1.04112

            Pattern: ^[0-9]+(\.[0-9]+)?$'
        cryptoCurrency:
          type: string
          description: 'The crypto-currency symbol (uppercase)

            Example: BTC

            Pattern: ^[A-Z0-9-]+$'
        unitPrice:
          $ref: '#/components/schemas/CryptoCartItemUnitPrice'
          description: The price per 1 unit
        expectedDeliveryDelay:
          type: number
          format: double
          description: 'The expected delay in delivery, in hours

            Min value: 0'
        recipientInfo:
          $ref: '#/components/schemas/RecipientInfo'
        seller:
          $ref: '#/components/schemas/SellerInfo'
      required:
      - itemClass
      - units
      - cryptoCurrency
      - unitPrice
      - recipientInfo
      description: Represents a crypto item in a shopping cart
      title: CryptoCartItem
    Authentication3DS:
      oneOf:
      - $ref: '#/components/schemas/Device3DSInfo'
      - $ref: '#/components/schemas/External3DSInfo'
      - $ref: '#/components/schemas/ConcludeChallenge'
      description: "3DS Card Authorization Data\n\nOn initial payment submission - Device3DSInfo needed:\n 3DS device information - required if 3DS is enabled\n\nAfter card challenge complete:\n 3DS challenge transaction id - required after prompted for challenge"
      title: Authentication3DS
    Record_string.any_:
      type: object
      properties: {}
      description: Construct a type with a set of properties K of type T
      title: Record_string.any_
    CardDataWithoutAddress:
      type: object
      properties:
        cardToken:
          type: string
          description: This is the card token received from the `CoinflowCardNumberInput`
        expYear:
          type: string
          description: 'The Cards Expiration Year ex: 2026 => 26'
        expMonth:
          type: string
          description: 'The Cards Expiration Month ex: January => 01 December => 12'
        additionalVendorData:
          $ref: '#/components/schemas/CardDataWithoutAddressAdditionalVendorData'
          description: 'Optional non-PCI passthrough fields merged into the stored card vendorData.

            Base type is empty; tokenization providers extend it with their own fields.'
        email:
          type: string
        businessName:
          type: string
        firstName:
          type: string
        lastName:
          type: string
      required:
      - cardToken
      - expYear
      - expMonth
      - email
      - firstName
      - lastName
      title: CardDataWithoutAddress
    Blockchain.MONAD:
      type: string
      enum:
      - monad
      title: Blockchain.MONAD
    CardDataAdditionalVendorData:
      type: object
      properties: {}
      description: 'Optional non-PCI passthrough fields merged into the stored card vendorData.

        Base type is empty; tokenization providers exten

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