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

# Update Subscription

> Updates the configuration of an existing **active subscription**.
You can change properties such as the MerchantSubscriptionRefId,  billing frequency, SubscriptionStatusType, SubscriptionCancelType, or next billing date without needing to cancel or recreate the subscription.

This endpoint is typically used when a customer upgrades or downgrades their plan, pauses billing, reschedules the next charge, or adjusts internal tracking fields.

Only the fields included in the request will be updated — all others remain unchanged.
Some updates may take effect immediately, while others (like plan changes) may apply from the next billing cycle, depending on configuration.



## OpenAPI

````yaml /api-reference/swagger.json patch /api/Subscriptions/{subscriptionId}
openapi: 3.0.4
info:
  title: Revolv3 OpenApi Spec
  description: Spec for Revolv3
  version: 1.29.1
servers:
  - url: 'https://api-sandbox.revolv3.com '
security: []
paths:
  /api/Subscriptions/{subscriptionId}:
    patch:
      tags:
        - Subscriptions
      summary: Update Subscription
      description: "Updates the configuration of an existing **active subscription**.\r\nYou can change properties such as the MerchantSubscriptionRefId,  billing frequency, SubscriptionStatusType, SubscriptionCancelType, or next billing date without needing to cancel or recreate the subscription.\r\n\r\nThis endpoint is typically used when a customer upgrades or downgrades their plan, pauses billing, reschedules the next charge, or adjusts internal tracking fields.\r\n\r\nOnly the fields included in the request will be updated — all others remain unchanged.\r\nSome updates may take effect immediately, while others (like plan changes) may apply from the next billing cycle, depending on configuration."
      parameters:
        - name: subscriptionId
          in: path
          required: true
          schema:
            maximum: 1000000000
            minimum: 1
            type: integer
            format: int64
      requestBody:
        content:
          application/json-patch+json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionRequestDTO'
            example:
              merchantSubscriptionRefId: 1234-5678-9101
              intervalType: Months
              intervalCount: 1
              subscriptionStatusType: null
              subscriptionCancelType: immediate
              nextBillDate: 22-Jun-26
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionRequestDTO'
            example:
              merchantSubscriptionRefId: 1234-5678-9101
              intervalType: Months
              intervalCount: 1
              subscriptionStatusType: null
              subscriptionCancelType: immediate
              nextBillDate: 22-Jun-26
          text/json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionRequestDTO'
            example:
              merchantSubscriptionRefId: 1234-5678-9101
              intervalType: Months
              intervalCount: 1
              subscriptionStatusType: null
              subscriptionCancelType: immediate
              nextBillDate: 22-Jun-26
          application/*+json:
            schema:
              $ref: '#/components/schemas/UpdateSubscriptionRequestDTO'
            example:
              merchantSubscriptionRefId: 1234-5678-9101
              intervalType: Months
              intervalCount: 1
              subscriptionStatusType: null
              subscriptionCancelType: immediate
              nextBillDate: 22-Jun-26
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/SubscriptionDTO'
              example:
                subscriptionId: 1
                customerId: 1
                merchantSubscriptionRefId: 1234-5678-9101
                networkTransactionId: null
                billingIntervalType: Months
                billingIntervalCount: 1
                subscriptionStatusType: Current
                subscriptionCancelType: Immediate
                initialBillDate: 22-Jun-26
                nextBillDate: 22-Jul-26
                taxAddress: null
                paymentMethodIds:
                  - 1
                  - 2
                cancelledAt: null
                billingPlans:
                  - subscriptionBillingPlanId: 1
                    subscriptionId: 0
                    name: Billing Plan 1
                    value: 10.99
                    startDate: 22-Jun-26
                    cyclesRemaining: -1
                    cycleCount: 0
                    valueType: Standard
                  - subscriptionBillingPlanId: 2
                    subscriptionId: 0
                    name: Billing Plan 2
                    value: 14.99
                    startDate: 22-Jul-26
                    cyclesRemaining: 12
                    cycleCount: 0
                    valueType: Standard
                message: null
                paymentProcessor: null
                processorMerchantId: null
                processorRawResponse: null
                currency: null
                responseMessage: null
                responseCode: null
            application/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDTO'
              example:
                subscriptionId: 1
                customerId: 1
                merchantSubscriptionRefId: 1234-5678-9101
                networkTransactionId: null
                billingIntervalType: Months
                billingIntervalCount: 1
                subscriptionStatusType: Current
                subscriptionCancelType: Immediate
                initialBillDate: 22-Jun-26
                nextBillDate: 22-Jul-26
                taxAddress: null
                paymentMethodIds:
                  - 1
                  - 2
                cancelledAt: null
                billingPlans:
                  - subscriptionBillingPlanId: 1
                    subscriptionId: 0
                    name: Billing Plan 1
                    value: 10.99
                    startDate: 22-Jun-26
                    cyclesRemaining: -1
                    cycleCount: 0
                    valueType: Standard
                  - subscriptionBillingPlanId: 2
                    subscriptionId: 0
                    name: Billing Plan 2
                    value: 14.99
                    startDate: 22-Jul-26
                    cyclesRemaining: 12
                    cycleCount: 0
                    valueType: Standard
                message: null
                paymentProcessor: null
                processorMerchantId: null
                processorRawResponse: null
                currency: null
                responseMessage: null
                responseCode: null
            text/json:
              schema:
                $ref: '#/components/schemas/SubscriptionDTO'
              example:
                subscriptionId: 1
                customerId: 1
                merchantSubscriptionRefId: 1234-5678-9101
                networkTransactionId: null
                billingIntervalType: Months
                billingIntervalCount: 1
                subscriptionStatusType: Current
                subscriptionCancelType: Immediate
                initialBillDate: 22-Jun-26
                nextBillDate: 22-Jul-26
                taxAddress: null
                paymentMethodIds:
                  - 1
                  - 2
                cancelledAt: null
                billingPlans:
                  - subscriptionBillingPlanId: 1
                    subscriptionId: 0
                    name: Billing Plan 1
                    value: 10.99
                    startDate: 22-Jun-26
                    cyclesRemaining: -1
                    cycleCount: 0
                    valueType: Standard
                  - subscriptionBillingPlanId: 2
                    subscriptionId: 0
                    name: Billing Plan 2
                    value: 14.99
                    startDate: 22-Jul-26
                    cyclesRemaining: 12
                    cycleCount: 0
                    valueType: Standard
                message: null
                paymentProcessor: null
                processorMerchantId: null
                processorRawResponse: null
                currency: null
                responseMessage: null
                responseCode: null
        '400':
          description: Bad Request
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to perform the request action with provided data.
        '401':
          description: Unauthorized
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Attempted to perform an unauthorized operation.
        '404':
          description: Not Found
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            application/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
            text/json:
              schema:
                $ref: '#/components/schemas/StatusMessageResponse'
              example:
                message: Unable to find an entity with the provided data.
      security:
        - Bearer: []
components:
  schemas:
    UpdateSubscriptionRequestDTO:
      type: object
      properties:
        merchantSubscriptionRefId:
          type: string
          nullable: true
        intervalType:
          $ref: '#/components/schemas/IntervalEnum'
        intervalCount:
          type: integer
          format: int32
          nullable: true
        subscriptionStatusType:
          type: string
          nullable: true
        subscriptionCancelType:
          type: string
          nullable: true
        nextBillDate:
          type: string
          nullable: true
      additionalProperties: false
    SubscriptionDTO:
      type: object
      properties:
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        merchantSubscriptionRefId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        networkTransactionId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        billingIntervalType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        billingIntervalCount:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int32
        subscriptionStatusType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        subscriptionCancelType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
        initialBillDate:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        nextBillDate:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        taxAddress:
          $ref: '#/components/schemas/AddressDTO'
        paymentMethodIds:
          type: array
          items:
            type: integer
            format: int64
          nullable: true
        cancelledAt:
          maxLength: 40
          type: string
          format: date-time
          nullable: true
        billingPlans:
          type: array
          items:
            $ref: '#/components/schemas/SubscriptionBillingPlanDTO'
          nullable: true
        message:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        paymentProcessor:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        processorMerchantId:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        processorRawResponse:
          maxLength: 10000
          minLength: 0
          type: string
          nullable: true
        currency:
          maxLength: 3
          minLength: 0
          type: string
          nullable: true
        responseMessage:
          maxLength: 500
          minLength: 0
          type: string
          nullable: true
        responseCode:
          maxLength: 10
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    StatusMessageResponse:
      type: object
      properties:
        message:
          type: string
          nullable: true
        errors:
          type: array
          items:
            type: string
          nullable: true
        fluentValidatorErrors:
          type: array
          items:
            $ref: '#/components/schemas/ValidationFailure'
          nullable: true
      additionalProperties: false
    IntervalEnum:
      enum:
        - Days
        - Weeks
        - Months
        - Years
      type: string
    AddressDTO:
      type: object
      properties:
        addressId:
          type: integer
          description: The unique identifier of the address.
          format: int64
        addressLine1:
          maxLength: 40
          minLength: 2
          type: string
          description: Address.
          nullable: true
        addressLine2:
          maxLength: 40
          minLength: 0
          type: string
          description: Supplemental information for the address.
        city:
          maxLength: 25
          minLength: 2
          type: string
          description: City.
          nullable: true
        state:
          maxLength: 2
          minLength: 2
          type: string
          description: Two-letter state abbreviation.
          nullable: true
        postalCode:
          maxLength: 20
          minLength: 2
          type: string
          description: Postal Code.
          nullable: true
        phoneNumber:
          maxLength: 20
          minLength: 0
          type: string
          description: >-
            The phone number associated with a payment method that is used for
            billing purposes.
        email:
          maxLength: 100
          minLength: 0
          type: string
          description: The email associated with a billing address.
          format: email
        country:
          maxLength: 2
          minLength: 2
          type: string
          description: Country.
          nullable: true
      additionalProperties: false
    SubscriptionBillingPlanDTO:
      type: object
      properties:
        subscriptionBillingPlanId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        name:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        value:
          maximum: 10000000
          minimum: 0
          type: number
          format: double
        startDate:
          maxLength: 20
          minLength: 0
          type: string
          nullable: true
        cyclesRemaining:
          maximum: 1000000000
          minimum: 0
          type: integer
          format: int32
        cycleCount:
          maximum: 100
          minimum: -1
          type: integer
          format: int32
        valueType:
          maxLength: 50
          minLength: 0
          type: string
          nullable: true
      additionalProperties: false
    ValidationFailure:
      type: object
      properties:
        propertyName:
          type: string
          nullable: true
        errorMessage:
          type: string
          nullable: true
        attemptedValue:
          nullable: true
        customState:
          nullable: true
        severity:
          $ref: '#/components/schemas/Severity'
        errorCode:
          type: string
          nullable: true
        formattedMessagePlaceholderValues:
          type: object
          additionalProperties:
            nullable: true
          nullable: true
      additionalProperties: false
    Severity:
      enum:
        - Error
        - Warning
        - Info
      type: string
  securitySchemes:
    Bearer:
      type: http
      scheme: bearer
      bearerFormat: JWT

````