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

# Confirm Active Plan Price Change

> Confirm and apply price change for an active plan.

## Endpoint Overview

**POST** `https://api.unibee.dev/merchant/plan/active_price_change/confirm`

Confirm and apply price change for an active plan.

***

## 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                                                |
| ------------------ | ------- | -------- | ---------------------------------------------------------- |
| `confirmOldAmount` | integer | Yes      | Old amount expected by caller, used for optimistic locking |
| `newAmount`        | integer | Yes      | New amount (in smallest currency unit, e.g. cents)         |
| `planId`           | integer | Yes      | Target planId, must be active                              |
| `reason`           | string  | No       | Reason or note for this price change                       |

***

## Request examples

### cURL

```bash theme={null}
curl -X POST "https://api.unibee.dev/merchant/plan/active_price_change/confirm" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmOldAmount": 0,
  "newAmount": 0,
  "planId": 0,
  "reason": ""
}'
```

### Sandbox

```bash theme={null}
curl -X POST "https://api-sandbox.unibee.top/merchant/plan/active_price_change/confirm" \
  -H "Authorization: Bearer YOUR_SANDBOX_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "confirmOldAmount": 0,
  "newAmount": 0,
  "planId": 0,
  "reason": ""
}'
```

***

## Response

Success responses return a JSON envelope with `code`, `data`, `message`, `redirect`, and `requestId`. `code` `0` indicates success.

| Field                              | Type    | Description                                                               |
| ---------------------------------- | ------- | ------------------------------------------------------------------------- |
| `code`                             | integer | Response code. `0` = success                                              |
| `data`                             | object  | Response payload                                                          |
| `data.activeAffectedSubscriptions` | integer | Active/processing subscriptions whose future billing will be affected     |
| `data.newAmount`                   | integer | New amount after change                                                   |
| `data.oldAmount`                   | integer | Old amount before change                                                  |
| `data.planId`                      | integer | Target planId                                                             |
| `data.totalAffectedSubscriptions`  | integer | Total subscriptions that have used or are using this plan (by status set) |
| `message`                          | string  | Human-readable message                                                    |
| `requestId`                        | string  | Request ID for support                                                    |

***

## 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/plan/active_price_change/confirm
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/plan/active_price_change/confirm:
    post:
      tags:
        - Plan
      summary: Confirm Active Plan Price Change
      description: Confirm and apply price change for an active plan.
      requestBody:
        content:
          application/json:
            schema:
              $ref: >-
                #/components/schemas/unibee.api.merchant.plan.ActivePriceChangeConfirmReq
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                properties:
                  code:
                    format: int
                    properties: {}
                    type: integer
                  data:
                    properties:
                      activeAffectedSubscriptions:
                        description: >-
                          Active/processing subscriptions whose future billing
                          will be affected
                        format: int64
                        properties: {}
                        type: integer
                      newAmount:
                        description: New amount after change
                        format: int64
                        properties: {}
                        type: integer
                      oldAmount:
                        description: Old amount before change
                        format: int64
                        properties: {}
                        type: integer
                      planId:
                        description: Target planId
                        format: int64
                        properties: {}
                        type: integer
                      totalAffectedSubscriptions:
                        description: >-
                          Total subscriptions that have used or are using this
                          plan (by status set)
                        format: int64
                        properties: {}
                        type: integer
                    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.plan.ActivePriceChangeConfirmReq:
      description: Confirm and apply price change for an active plan.
      properties:
        confirmOldAmount:
          description: Old amount expected by caller, used for optimistic locking
          format: int64
          properties: {}
          type: integer
        newAmount:
          description: New amount (in smallest currency unit, e.g. cents)
          format: int64
          properties: {}
          type: integer
        planId:
          description: Target planId, must be active
          format: int64
          properties: {}
          type: integer
        reason:
          description: Reason or note for this price change
          format: string
          properties: {}
          type: string
      required:
        - planId
        - newAmount
        - confirmOldAmount
      type: object
  securitySchemes:
    Authorization:
      bearerFormat: JWT
      scheme: bearer
      type: http

````