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

# Cancel Last Cancel Subscription At Period End

> This action should be request before subscription's period end, If subscription's flag 'cancelAtPeriodEnd' is enabled, this action will resume it to disable, and subscription will continue cycle recurring seems no cancelAtPeriod action be setting

## Endpoint Overview

**POST** `https://api.unibee.dev/merchant/subscription/cancel_last_cancel_at_period_end`

This action should be request before subscription's period end, If subscription's flag 'cancelAtPeriodEnd' is enabled, this action will resume it to disable, and subscription will continue cycle recurring seems no cancelAtPeriod action be setting

***

## Authorization

All UniBee Merchant API requests require authentication via API key.

| Header          | Required | Description                           |
| --------------- | -------- | ------------------------------------- |
| `Authorization` | Yes      | Bearer `<your_api_key>`               |
| `Content-Type`  | Yes      | `application/json` (for request body) |

***

## Parameters

Parameters for this endpoint are listed below. The schema is also shown in the Try it panel.

### Request body

| Name             | Type    | Required | Description                                                                                                                              |
| ---------------- | ------- | -------- | ---------------------------------------------------------------------------------------------------------------------------------------- |
| `productId`      | integer | No       | default product will use if productId not specified and subscriptionId is blank                                                          |
| `subscriptionId` | string  | No       | SubscriptionId, id of subscription, either SubscriptionId or UserId needed, The only one active subscription of userId will effect       |
| `userId`         | integer | No       | UserId, either SubscriptionId or UserId needed, The only one active subscription will effect if userId provide instead of subscriptionId |

***

## Request examples

### cURL

```bash theme={null}
curl -X POST "https://api.unibee.dev/merchant/subscription/cancel_last_cancel_at_period_end" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "productId": 0,
  "subscriptionId": "id_example",
  "userId": 0
}'
```

### Sandbox

```bash theme={null}
curl -X POST "https://api-sandbox.unibee.top/merchant/subscription/cancel_last_cancel_at_period_end" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "productId": 0,
  "subscriptionId": "id_example",
  "userId": 0
}'
```

***

## Response

Success responses return a JSON envelope with `code`, `data`, `message`, `redirect`, and `requestId`. `code` `0` indicates success. The response schema for this endpoint is shown below.

***

## Error handling

| HTTP status | Meaning                                                                   |
| ----------- | ------------------------------------------------------------------------- |
| 400         | Bad request — invalid or missing parameters. Check `message` in the body. |
| 401         | Unauthorized — missing or invalid API key.                                |
| 404         | Not found — invalid path or resource.                                     |
| 500         | Server error — retry with backoff.                                        |

When `code` in the response body is non-zero, check `message` for details. Use `requestId` when contacting support.


## OpenAPI

````yaml post /merchant/subscription/cancel_last_cancel_at_period_end
openapi: 3.0.0
info:
  description: UniBee Api Server
  license:
    name: Apache-2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  title: OpenAPI UniBee
  version: daily,buildtime:202603161017
servers:
  - url: https://api.unibee.dev
  - url: https://api-sandbox.unibee.top
security:
  - Authorization: []
paths:
  /merchant/subscription/cancel_last_cancel_at_period_end:
    post:
      tags:
        - Subscription
      summary: Cancel Last Cancel Subscription At Period End
      description: >-
        This action should be request before subscription's period end, If
        subscription's flag 'cancelAtPeriodEnd' is enabled, this action will
        resume it to disable, and subscription will continue cycle recurring
        seems no cancelAtPeriod action be setting
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/unibee.api.merchant.subscription.CancelLastCancelAtPeriodEndReq
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  code:
                    format: int
                    properties: {}
                    type: integer
                  data:
                    properties: {}
                    type: object
                  merchantId:
                    format: int64
                    properties: {}
                    type: integer
                  message:
                    format: string
                    properties: {}
                    type: string
                  redirect:
                    format: string
                    properties: {}
                    type: string
                  requestId:
                    format: string
                    properties: {}
                    type: string
                type: object
          description: ''
components:
  schemas:
    unibee.api.merchant.subscription.CancelLastCancelAtPeriodEndReq:
      description: >-
        This action should be request before subscription's period end, If
        subscription's flag 'cancelAtPeriodEnd' is enabled, this action will
        resume it to disable, and subscription will continue cycle recurring
        seems no cancelAtPeriod action be setting
      properties:
        productId:
          description: >-
            default product will use if productId not specified and
            subscriptionId is blank
          format: int64
          properties: {}
          type: integer
        subscriptionId:
          description: >-
            SubscriptionId, id of subscription, either SubscriptionId or UserId
            needed, The only one active subscription of userId will effect
          format: string
          properties: {}
          type: string
        userId:
          description: >-
            UserId, either SubscriptionId or UserId needed, The only one active
            subscription will effect if userId provide instead of subscriptionId
          format: int64
          properties: {}
          type: integer
      type: object
  securitySchemes:
    Authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http

````