# Migrate Subscriptions

**POST** `/rpy/be-plan/v1/plans/subscriptions/migration`

Base URL: `https://api.pre.globalgetnet.com`

__Migrate Subscriptions to Another Plan__<br> <br>This endpoint allows you to migrate one or more subscriptions from an existing recurrence plan (from) to a new target plan (to). This is useful when updating the terms or pricing of an active subscription without interrupting service to the customer.<br> <br>**Usage Scenarios:**<br>_- Moving existing customers from a legacy plan to a newly structured or updated plan.<br>- Updating subscription pricing or billing frequency while preserving active subscriptions.<br>- Consolidating subscriptions under a single plan for easier management._<br> <br>**Notes:**<br>_- Both from and to plan IDs must be valid **UUIDs** and belong to the same seller.<br>- If the subscriptions list is not provided, all subscriptions linked to the source plan (from) will be migrated to the destination plan (to).<br>- The username header should be provided for audit and traceability purposes.<br>- Ensure that the destination plan has compatible settings to avoid issues during migration._

## Authorization

- PROD (oauth2)
- PRE (oauth2)
- SBX (oauth2)

## Header parameters

- `username` (string)
  User who is registering. This information may be used for auditing purposes.

## Body

Content type: `application/json`

- `from` (string<uuid>, required)
  Identifier of the original plan, that is, the original plan_id of the Subscription.
- `to` (string<uuid>, required)
  Identifier of the target plan, that is, the plan_id to which you want to migrate the Subscription.
- `subscriptions` (string<uuid>[])
  List of Subscription identifiers that will be migrated to the destination Plan (to field). If this list is not informed, then the service will migrate all Subscriptions from the source Plan (from field) to the destination Plan (to field).

Example:

```json
{
  "from": "00000000-0000-0000-0000-000000000000",
  "to": "00000000-0000-0000-0000-000000000000",
  "subscriptions": [
    "00000000-0000-0000-0000-000000000000"
  ]
}
```

## Responses

### 202

Accepted

- `from` (string<uuid>, required)
  Identifier of the original plan, that is, the original plan_id of the Subscription.
- `to` (string<uuid>, required)
  Identifier of the target plan, that is, the plan_id to which you want to migrate the Subscription.
- `subscriptions` (string<uuid>[])
  List of Subscription identifiers that will be migrated to the destination Plan (to field). If this list is not informed, then the service will migrate all Subscriptions from the source Plan (from field) to the destination Plan (to field).

Example:

```json
{
  "from": "00000000-0000-0000-0000-000000000000",
  "to": "00000000-0000-0000-0000-000000000000",
  "subscriptions": [
    "00000000-0000-0000-0000-000000000000"
  ]
}
```

### 400

Invalid Requisition

- `message` (string)
  Detailed error message.
- `name` (string)
  Name of the module or system in which the error occurred.
- `status_code` (integer<int32>)
  HTTP status code of the error.
- `details` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `payments` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `combined_id` (string)
  combinedId.
- `order_id` (string)
  orderId.
- `seller_id` (string)
  sellerId.

Example:

```json
{
  "message": "string",
  "name": "string",
  "status_code": 0,
  "details": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "payments": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "combined_id": "string",
  "order_id": "string",
  "seller_id": "string"
}
```

### 404

Not Found

- `message` (string)
  Detailed error message.
- `name` (string)
  Name of the module or system in which the error occurred.
- `status_code` (integer<int32>)
  HTTP status code of the error.
- `details` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `payments` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `combined_id` (string)
  combinedId.
- `order_id` (string)
  orderId.
- `seller_id` (string)
  sellerId.

Example:

```json
{
  "message": "string",
  "name": "string",
  "status_code": 0,
  "details": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "payments": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "combined_id": "string",
  "order_id": "string",
  "seller_id": "string"
}
```

### 422

Unprocessable Entity

- `message` (string)
  Detailed error message.
- `name` (string)
  Name of the module or system in which the error occurred.
- `status_code` (integer<int32>)
  HTTP status code of the error.
- `details` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `payments` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `combined_id` (string)
  combinedId.
- `order_id` (string)
  orderId.
- `seller_id` (string)
  sellerId.

Example:

```json
{
  "message": "string",
  "name": "string",
  "status_code": 0,
  "details": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "payments": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "combined_id": "string",
  "order_id": "string",
  "seller_id": "string"
}
```

### 500

Internal server or service error

- `message` (string)
  Detailed error message.
- `name` (string)
  Name of the module or system in which the error occurred.
- `status_code` (integer<int32>)
  HTTP status code of the error.
- `details` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `payments` (object[])
  Error details.
  - `status` (string)
    Error situation.
  - `error_code` (string)
    Error code.
  - `description` (string)
    Description of the error.
  - `description_detail` (string)
    Detailed description of the error.
  - `brand` (string)
    Brand.
  - `payment_id` (string)
    payment_id.
  - `seller_id` (string)
    seller_id.
  - `amount` (string)
    amount.
  - `currency` (string)
    currency.
  - `order_id` (string)
    order_id.
  - `credit_cancel` (object)
    credit_cancel.
    - `canceled_at` (string)
      canceledAt.
    - `message` (string)
      message.
  - `payment_tag` (string)
    payment_tag.
  - `status_code` (string)
    statusCode.
  - `message` (string)
    message.
  - `name` (string)
    name.
  - `acquirer_transaction_id` (string)
    acquirer_transaction_id.
  - `authorization_code` (string)
    authorization_code.
  - `transaction_id` (string)
    transaction_id.
  - `reason_code` (string)
    reason_code.
  - `reason_message` (string)
    reason_message.
  - `merchant_advice_code` (string)
    merchant_advice_code.
- `combined_id` (string)
  combinedId.
- `order_id` (string)
  orderId.
- `seller_id` (string)
  sellerId.

Example:

```json
{
  "message": "string",
  "name": "string",
  "status_code": 0,
  "details": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "payments": [
    {
      "status": "string",
      "error_code": "string",
      "description": "string",
      "description_detail": "string",
      "brand": "string",
      "payment_id": "string",
      "seller_id": "string",
      "amount": "string",
      "currency": "string",
      "order_id": "string",
      "credit_cancel": {
        "canceled_at": "string",
        "message": "string"
      },
      "payment_tag": "string",
      "status_code": "string",
      "message": "string",
      "name": "string",
      "acquirer_transaction_id": "string",
      "authorization_code": "string",
      "transaction_id": "string",
      "reason_code": "string",
      "reason_message": "string",
      "merchant_advice_code": "string"
    }
  ],
  "combined_id": "string",
  "order_id": "string",
  "seller_id": "string"
}
```