> ## 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.

# Update a plan

> Updates an existing subscription plan's details, schedules, or hosted session settings.



## OpenAPI

````yaml /openapi.json post /v1/subscriptions/plan/update
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/plan/update:
    post:
      tags:
        - Subscriptions
      summary: Update a plan
      description: >-
        Updates an existing subscription plan's details, schedules, or hosted
        session settings.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                planId:
                  type: string
                  description: The planId that ident the subscription plan
                subMerchantId:
                  type: string
                  description: The subMerchantId associated with the plan.
                name:
                  type: string
                  description: Plan's name.
                  example: Black friday test plan
                title:
                  type: string
                  description: Plan's title.
                  example: ''
                subTitle:
                  type: string
                  description: Plan's sub title.
                  example: ''
                description:
                  type: string
                  description: Plan's description.
                  example: Black friday test plan description
                schedules:
                  type: array
                  description: Array containing plan's schedules.
                  items:
                    type: object
                    properties:
                      order:
                        type: number
                        description: Schedule order.
                        example: 1
                      label:
                        type: string
                        description: Schedule's label
                        example: Silver
                      invoiceDescription:
                        type: string
                        description: Schedule's description to make invoice.
                        example: Invoice for "Silver" schedule.
                      cyclesQty:
                        type: number
                        description: Number of cycles of schedule
                        example: 3
                      frequency:
                        type: string
                        description: Billing frequency
                        enum:
                          - one-time
                          - daily
                          - weekly
                          - every-28-days
                          - biweekly
                          - monthly
                          - yearly
                        example: monthly
                      executionDays:
                        type: array
                        items:
                          type: number
                          description: >-
                            Array of billing numbers day[0-32] for monthly, 0 at
                            period start(month's 1st), 32 at period end(month's
                            last day)
                          example: 10
                        description: Days on which scheduled charges execute.
                      pricingModel:
                        type: object
                        description: Pricing models params.
                        properties:
                          type:
                            type: string
                            description: >-
                              Pricing model type, one of ["free", "flat",
                              "flatTiered", "perModule", "perUsageQuantity",
                              "perUsageVolume", "perUsageTiered"]. Depending of
                              this value you must provide corresponding next
                              atribute.
                            example: flat
                          free:
                            type: object
                            properties:
                              daysQty:
                                type: number
                                description: Free days quantity
                                example: 10
                            description: Free trial configuration.
                          flat:
                            type: object
                            properties:
                              price:
                                type: number
                                example: 100
                                description: Price charged each billing cycle.
                            description: 'Flat pricing: a fixed price per billing cycle.'
                          flatTiered:
                            type: object
                            properties:
                              tiers:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      example: Basic
                                      description: Display name of the tier.
                                    description:
                                      type: string
                                      description: >-
                                        Description of the tier shown to the
                                        customer.
                                    price:
                                      type: number
                                      example: 100
                                      description: Price of the tier per billing cycle.
                                    featuresSettings:
                                      type: object
                                      properties:
                                        label:
                                          type: string
                                          description: >-
                                            Heading displayed above the feature
                                            list.
                                        features:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              icon:
                                                type: string
                                                description: Icon displayed next to the feature.
                                              name:
                                                type: string
                                                description: Display name.
                                              description:
                                                type: string
                                                description: Free-text description.
                                              link:
                                                type: string
                                                description: URL the feature links to.
                                          description: Feature list displayed for this tier.
                                      description: >-
                                        Display settings for the tier's feature
                                        list.
                                description: Available tiers for this schedule.
                            description: Flat pricing with selectable tiers.
                          perModule:
                            type: object
                            properties:
                              modules:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      example: Basic
                                      description: Display name.
                                    description:
                                      type: string
                                      description: Free-text description.
                                    price:
                                      type: number
                                      example: 100
                                      description: Price per billing cycle.
                                    featuresSettings:
                                      type: object
                                      properties:
                                        label:
                                          type: string
                                          description: >-
                                            Heading displayed above the feature
                                            list.
                                        features:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              icon:
                                                type: string
                                                description: Icon displayed next to the feature.
                                              name:
                                                type: string
                                                description: Display name.
                                              description:
                                                type: string
                                                description: Free-text description.
                                              link:
                                                type: string
                                                description: URL the feature links to.
                                          description: Feature list displayed for this tier.
                                      description: Display settings for the feature list.
                                description: Modules available for subscription.
                            description: >-
                              Per-module pricing: the customer subscribes to
                              individual modules.
                          perUsageQuantity:
                            type: object
                            properties:
                              unitPrice:
                                type: number
                                example: 10
                                description: Price per unit of usage.
                            description: Usage-based pricing with a single per-unit price.
                          perUsageVolume:
                            type: object
                            properties:
                              steps:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    startQty:
                                      type: number
                                      example: 1
                                      description: >-
                                        First unit quantity this step applies
                                        to.
                                    endQty:
                                      type: number
                                      example: 9
                                      description: Last unit quantity this step applies to.
                                    unitPrice:
                                      type: number
                                      example: 15
                                      description: Price per unit within this volume step.
                                description: Volume pricing steps.
                            description: >-
                              Usage-based pricing where the unit price depends
                              on total volume.
                          perUsageTiered:
                            type: object
                            properties:
                              tiers:
                                type: array
                                items:
                                  type: object
                                  properties:
                                    name:
                                      type: string
                                      example: Basic
                                      description: Display name of the tier.
                                    description:
                                      type: string
                                      description: >-
                                        Description of the tier shown to the
                                        customer.
                                    price:
                                      type: number
                                      example: 100
                                      description: Price of the tier per billing cycle.
                                    featuresSettings:
                                      type: object
                                      properties:
                                        label:
                                          type: string
                                          description: >-
                                            Heading displayed above the feature
                                            list.
                                        features:
                                          type: array
                                          items:
                                            type: object
                                            properties:
                                              icon:
                                                type: string
                                                description: Icon displayed next to the feature.
                                              name:
                                                type: string
                                                description: Display name.
                                              description:
                                                type: string
                                                description: Free-text description.
                                              link:
                                                type: string
                                                description: URL the feature links to.
                                          description: Feature list displayed for this tier.
                                      description: >-
                                        Display settings for the tier's feature
                                        list.
                                description: Available tiers for this schedule.
                            description: >-
                              Usage-based pricing with tiered rates per volume
                              step.
                      enabled:
                        type: boolean
                        example: true
                        description: Whether this setting is enabled.
                      featuresEnabled:
                        type: boolean
                        example: false
                        description: Whether tier features are enabled for this schedule.
                hostedSession:
                  type: object
                  description: Object to edit configuration of created hosted session.
                  properties:
                    enabled:
                      type: boolean
                      description: >-
                        Only required field, setting enabled = true, we create a
                        session with default values. In case you want
                        customization, append below data.
                      example: true
                    paymentMethods:
                      type: object
                      properties:
                        defaultMethod:
                          type: string
                          description: >-
                            Default payment method one of
                            ["creditCard","eCheck", "applePay","googlePay"]
                          example: creditCard
                        creditCard:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                          description: Credit card acceptance settings for the hosted page.
                        eCheck:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: >-
                            eCheck (ACH) acceptance settings for the hosted
                            page.
                        applePay:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: Apple Pay acceptance settings for the hosted page.
                        googlePay:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: Google Pay acceptance settings for the hosted page.
                      description: Payment methods offered on the hosted page.
                    flow:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Default payment method one of
                            ["standalone","redirect"]
                          example: redirect
                        redirect:
                          type: object
                          properties:
                            successUrl:
                              type: string
                              example: https://yoursite.com/successUrl
                              description: >-
                                URL the customer is redirected to after
                                successful payment.
                            cancelUrl:
                              type: string
                              example: https://yoursite.com/cancelUrl
                              description: >-
                                URL the customer is redirected to if they
                                cancel.
                            backUrl:
                              type: string
                              example: https://yoursite.com/backUrl
                              description: >-
                                URL the customer is redirected to when they
                                navigate back.
                          description: URLs the customer is redirected to during the flow.
                      description: Navigation behavior of the hosted page.
                    functions:
                      type: object
                      description: Hosted session functions
                      properties:
                        collectBillingAddress:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                          description: >-
                            Collect the customer's billing address during
                            checkout.
                        collectShippingAddress:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: >-
                            Collect the customer's shipping address during
                            checkout.
                        collectPhoneNumber:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                          description: Collect the customer's phone number during checkout.
                        callToAction:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: true
                              description: Whether this setting is enabled.
                            label:
                              type: string
                              description: Custom button label
                              example: Pay
                            note:
                              type: string
                              description: Custom button label
                              example: Note desc.
                          description: Customization of the pay button.
                        notes:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                          description: Free-text notes displayed on the hosted page.
                        collectEmail:
                          type: object
                          properties:
                            enabled:
                              type: boolean
                              example: false
                              description: Whether this setting is enabled.
                            updateCustomer:
                              type: boolean
                              example: false
                              description: >-
                                When true, the collected value is saved to the
                                customer record.
                          description: >-
                            Collect the customer's email address during
                            checkout.
                    constraints:
                      type: object
                      properties:
                        timeLimit:
                          type: number
                          description: Number of minutes to keep session active
                          example: 1000
                      description: Limits applied to the hosted session.
                    usage:
                      type: object
                      properties:
                        type:
                          type: string
                          description: >-
                            Usage type of hosted session. Posible values
                            ["single_use","multi_use"]
                          example: multi_use
                        quantity:
                          type: string
                          description: >-
                            In case of usage type "multi_use", this attribute
                            update the hosted session payments/subscriptions
                            limit.
                          example: 5
                      description: How many times the hosted session link can be used.
              required:
                - planId
                - subMerchantId
                - name
                - description
                - schedules
      responses:
        '201':
          description: Plan successfully created.
        '400':
          description: Bad Request. Invalid input.
        '401':
          description: Unauthorized.
        '500':
          description: Internal Server Error.
components:
  securitySchemes:
    basicAuth:
      type: http
      scheme: basic

````