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

# Create a subscription

> Subscribes a customer to one or more plan schedules, billed against a stored payment token. Billing runs automatically at each schedule's frequency.



## OpenAPI

````yaml /openapi.json post /v1/subscriptions
openapi: 3.0.0
info:
  title: Jupico - OpenAPI 3.0
  description: >-
    The Jupico API lets Service Providers onboard merchants, process card and
    eCheck (ACH) payments, run hosted payment pages, manage recurring billing,
    send payouts, and query every resource. All endpoints use HTTPS with Basic
    authentication and accept and return JSON. Endpoints are grouped by
    workflow: onboard merchants first, then accept payments, then move funds and
    report.
  termsOfService: https://help.jupico.com/references-and-resources/legal
  contact:
    email: support@jupico.com
  license:
    name: Jupico License
    url: https://jupico.com
  version: 1.0.5
servers:
  - url: https://sandbox-platform.jupico.com
security:
  - basicAuth: []
tags:
  - name: Status
    description: Health check for the Jupico API.
  - name: Onboarding Invites
    description: >-
      Create and send invites that onboard merchants through the Jupico-hosted
      flow, with optional pre-filled identity, fees, and payout bank account
      data.
  - name: Provisioning
    description: >-
      Onboard merchants from your own UI. Collect onboarding data and submit it
      through the provisioning chain: applicant → application → submerchant.
  - name: Session
    description: >-
      Create browser authorization sessions for the Jupico web components, so
      card and bank account data is tokenized client-side and never touches your
      servers.
  - name: Tokenization
    description: >-
      Convert one-time tokens from the web components into permanent Jupico
      tokens, or tokenize raw card data if your systems are PCI DSS compliant.
  - name: Customer
    description: >-
      Create and manage customer records that payments, subscriptions,
      installments, and invoices link to.
  - name: Card Transactions
    description: >-
      Process credit and debit card transactions using tokenized card data:
      sale, authorization, capture, void, refund, and rollback.
  - name: eCheck Transactions
    description: >-
      Debit customer bank accounts via eCheck (ACH): sale, void, refund,
      rollback, and bank account tokenization.
  - name: Checkouts
    description: >-
      Hosted checkout sessions where customers complete payment on a
      Jupico-hosted page.
  - name: Payment Links
    description: >-
      Shareable links that open a Jupico-hosted payment page — no integration
      code needed at the point of sharing.
  - name: Invoices
    description: Create and email invoices that customers pay online.
  - name: Subscriptions
    description: >-
      Recurring billing. Plans define billing schedules and pricing models;
      subscriptions enroll customers against a stored payment token.
  - name: Installments
    description: Split a fixed total into scheduled payments with an optional deposit.
  - name: Payouts
    description: >-
      Send funds from a submerchant's available balance to a tokenized bank
      account with on-demand payout instructions.
  - name: Query
    description: >-
      Search and report across every resource: transactions, merchants,
      settlements, balances, disputes, fees, and more. All query endpoints
      accept the same filter, sort, and pagination envelope — see the Query
      Capabilities guide.
paths:
  /v1/subscriptions:
    post:
      tags:
        - Subscriptions
      summary: Create a subscription
      description: >-
        Subscribes a customer to one or more plan schedules, billed against a
        stored payment token. Billing runs automatically at each schedule's
        frequency.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                subMerchantId:
                  type: string
                  description: The subMerchantId associated with the subscription.
                planId:
                  type: string
                  description: The planId of the existing plan you subscribe to.
                  example: c23b205a-244b-4962-9337-a5b68f1c874f
                customerId:
                  type: string
                  description: The customer id of the subscription.
                paymentToken:
                  type: object
                  description: The customer's token associated with the subscription.
                  properties:
                    type:
                      type: string
                      description: Type of token supplied.
                    token:
                      type: object
                      properties:
                        token:
                          type: string
                          description: The token of the subscription.
                        provider:
                          type: string
                          description: The provider of the subscription.
                      description: Token payload returned by tokenization.
                schedules:
                  type: array
                  description: >-
                    Array containing schedules pricing models params when
                    needed.
                  items:
                    type: object
                    properties:
                      scheduleId:
                        type: string
                        example: c23b205a-244b-4962-9337-a5b68f1c874f
                        description: Identifier of the plan schedule the subscription uses.
                      pricingModel:
                        type: object
                        description: >-
                          Pricing models params. Depending of schedule pricing
                          model you must provide corresponding params.
                        properties:
                          qty:
                            type: number
                            example: 100
                            description: >-
                              Quantity purchased, for quantity-based pricing
                              models.
                          selectedTier:
                            type: string
                            example: c23b205a-244b-4962-9337-a5b68f1c874f
                            description: ID of the tier selected for this subscription.
                          selectedModules:
                            type: string
                            example:
                              - c23b205a-244b-4962-9337-a5b68f1c874f
                              - c23b205a-244b-4962-9337-a5b68f1c874e
                            description: IDs of the modules selected for this subscription.
              required:
                - subMerchantId
                - planId
                - customerId
                - token
      responses:
        '201':
          description: Subscription successfully created.
        '400':
          description: Bad Request. Invalid input.
        '401':
          description: Unauthorized.
        '500':
          description: Internal Server Error.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````