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

# Cancel Subscription

> Cancels an active subscription, stopping all future billing and scheduled invoices.
This endpoint allows for **controlled cancellation logic**, such as canceling immediately.

You must provide the `subscriptionId`.
This is commonly used in customer self-service flows, churn-prevention workflows, or manual support actions.

After cancellation, the subscription status is updated to `Cancelled` or `PendingCancellation`, but historical billing data remains accessible for reporting and audit.



## OpenAPI

````yaml /api-reference/swagger.json post /api/Subscriptions/{subscriptionId}/cancel
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}/cancel:
    post:
      tags:
        - Subscriptions
      summary: Cancel Subscription
      description: "Cancels an active subscription, stopping all future billing and scheduled invoices.\r\nThis endpoint allows for **controlled cancellation logic**, such as canceling immediately.\r\n\r\nYou must provide the `subscriptionId`.\r\nThis is commonly used in customer self-service flows, churn-prevention workflows, or manual support actions.\r\n\r\nAfter cancellation, the subscription status is updated to `Cancelled` or `PendingCancellation`, but historical billing data remains accessible for reporting and audit."
      parameters:
        - name: subscriptionId
          in: path
          required: true
          schema:
            maximum: 1000000000
            minimum: 1
            type: integer
            format: int64
      responses:
        '200':
          description: OK
          content:
            text/plain:
              schema:
                $ref: '#/components/schemas/CancelSubscriptionResponseDTO'
              example:
                subscriptionId: 1
                customerId: 3
                subscriptionStatus: Cancelled
                cancelledAt: '2026-06-22T12:01:14.7032171Z'
            application/json:
              schema:
                $ref: '#/components/schemas/CancelSubscriptionResponseDTO'
              example:
                subscriptionId: 1
                customerId: 3
                subscriptionStatus: Cancelled
                cancelledAt: '2026-06-22T12:01:14.7032171Z'
            text/json:
              schema:
                $ref: '#/components/schemas/CancelSubscriptionResponseDTO'
              example:
                subscriptionId: 1
                customerId: 3
                subscriptionStatus: Cancelled
                cancelledAt: '2026-06-22T12:01:14.7032171Z'
        '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:
    CancelSubscriptionResponseDTO:
      type: object
      properties:
        subscriptionId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        customerId:
          maximum: 1000000000
          minimum: 1
          type: integer
          format: int64
        subscriptionStatus:
          maxLength: 100
          minLength: 0
          type: string
          nullable: true
        cancelledAt:
          maxLength: 40
          type: string
          format: date-time
      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
    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

````