# Cancel subscription

By using this method, merchants can cancel the specific subscription by its subscription identifier.

Endpoint: POST /subscription/cancel
Version: 1.0.0
Security: MerchantID

## Header parameters:

  - `merchant` (string, required)
    Unique public key provided upon registration and must be shared for identification purposes.
    Example: "api_pk_7b197...ba108f842"

  - `signature` (string, required)
    Request signature that allows verification of merchant authenticity on the payment gateway server.
    Example: "M2E3OTkyNzcz...xMmExODI4"

## Request fields (application/json):

  - `subscription_id` (string, required)
    Unique subscription identifier.
    Example: "83b19018-cbc4-45f0-899a-dda84fd2705e"

  - `force` (boolean)
    Sets the timing of subscription cancellation.

- true - cancels the subscription immediately
- false - cancels at the end of the billing period

  - `cancel_code` (string)
    Reason code that is used to cancel the subscription.
    Enum: "8.01", "8.02", "8.03", "8.04", "8.05", "8.06", "8.07", "8.08", "8.09", "8.10", "8.11", "8.12", "8.13", "8.14", "8.15"

## Response 200 fields (application/json):

  - `body` (object) — one of:
    - Success:
      - `status` (string)
        Subscription has been cancelled.
        Example: "ok"
    - Error:
      - `error` (object)
        Error object.
      - `error.code` (string, required)
        Error code that identifies the validation failure.


  This code is returned when the input data does not meet the expected criteria.
        Enum: "2.01"
      - `error.messages` (object, required)
        Contains field-specific error messages.


  Each key is a field name. Each value is an array of strings that describe validation issues.
        Example: {"subscription":["Validation error"]}

## Response 400 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code.
    Example: "2.01"

  - `error.message` (string, required)
    Error message.
    Example: "Validation error"

  - `error.constraints` (object)
    Map of constraints.

## Response 401 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code indicating the specific authorization failure.
    Example: "1.01"

  - `error.message` (string, required)
    Descriptive message providing more details about the authorization failure.
    Example: "Authorization failed"

## Response 403 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code indicating that access to the service is denied.
    Example: "1.02"

  - `error.message` (string, required)
    Message informing that the service is not allowed for the account.
    Example: "Access denied"

## Response 404 fields (application/json):

  - `error` (object, required)
    Error object.

  - `error.code` (string, required)
    Error code.
    Example: "2.01"

  - `error.message` (string, required)
    Error message.
    Example: "{entityName} not found with id: {entityId}"


