# Update Plan

**PATCH** `/rpy/be-plan/v1/plans/{plan_id}`

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

__Update a Plan__<br> <br>This endpoint allows you to update the attributes of an existing recurrence plan. It is typically used to modify plan metadata such as the name, description, or floating installment data without altering its identity or subscription history.<br> <br>**Usage Scenarios:**<br>_- Correcting or improving plan presentation on user-facing interfaces.<br>- Adjusting installment options (e.g. adding or modifying floating amounts per installment)._<br> <br>**Notes:**<br>_- You can update attributes like the plan’s **name**, **description**, and **floating_data**, which contains customized **installment** options (**installment number** and corresponding **amount** in cents).<br>- Only the fields included in the request body will be updated. Fields not present will remain unchanged._

## Authorization

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

## Header parameters

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

## Path parameters

- `plan_id` (string, required)
  Plan identifier.

## Body

Content type: `application/json`

- `name` (string, required)
  Plan name.
- `description` (string)
  Plan description.
- `amount` (integer, required)
  Purchase value in cents. It must be an integer.
- `currency` (string, required)
  Currency identification (See code in <a href="https://docs.globalgetnet.com/es/articles/currency-codes">this</a> section).
- `payment_types` ("credit_card" | "debit_card"[], required)
- `sales_tax` (integer)
  Tax amount.
- `product_type` ("cash_carry" | "digital_content" | "digital_goods" | "gift_card" | "physical_goods" | "renew_subs" | "shareware" | "service")
  Identifier of the type of product sold among the options.
- `period` (object, required)
  Plan period.
  - `type` ("yearly" | "monthly" | "bimonthly" | "quarterly" | "semesterly" | "specific", required)
    Type of periodicity.
  - `billing_cycle` (integer, required)
    Plan duration based on frequency type. For example, for a 12-month plan, where billing will be done monthly (type = monthly) the value to be assigned is 12.
  - `specific_cycle_in_days` (number)
    Specific billing cycle in days. When the type of periodicity is specific (type = specific) the number of days must be assigned in which the billing cycle will be carried out. For example, if the durationthe one in the plan is 12 (billing_cycle = 12) and the specific cycle is 10 (specific_cycle_in_days = 10), This means that the charge will occur every 10 days in total of 12 charges.
- `status` ("active" | "inactive", required)
- `floating_data` (object[])
  - `installment` (integer<int32>, required)
  - `amount` (integer<int32>, required)

Example:

```json
{
  "name": "flex plan",
  "description": "flex plan",
  "amount": 8900,
  "currency": "BRL",
  "payment_types": [
    "credit_card"
  ],
  "sales_tax": 0,
  "product_type": "cash_carry",
  "period": {
    "type": "monthly",
    "billing_cycle": 12,
    "specific_cycle_in_days": 0
  },
  "status": "active",
  "floating_data": [
    {
      "installment": 0,
      "amount": 0
    }
  ]
}
```

## Responses

### 200

OK

- `seller_id` (string<uuid>, required)
- `plan_id` (string<uuid>)
- `name` (string, required)
- `description` (string)
- `amount` (integer<int32>, required)
- `currency` (string, required)
- `sales_tax` (integer<int32>)
- `product_type` ("cash_carry" | "digital_content" | "digital_goods" | "gift_card" | "physical_goods" | "renew_subs" | "shareware" | "service")
- `payment_types` ("credit_card" | "debit_card"[], required)
- `status` ("active" | "inactive")
- `create_date` (string<date-time>)
- `period` (object, required)
  Plan period.
  - `type` ("yearly" | "monthly" | "bimonthly" | "quarterly" | "semesterly" | "specific", required)
    Type of periodicity.
  - `billing_cycle` (integer, required)
    Plan duration based on frequency type. For example, for a 12-month plan, where billing will be done monthly (type = monthly) the value to be assigned is 12.
  - `specific_cycle_in_days` (number)
    Specific billing cycle in days. When the type of periodicity is specific (type = specific) the number of days must be assigned in which the billing cycle will be carried out. For example, if the durationthe one in the plan is 12 (billing_cycle = 12) and the specific cycle is 10 (specific_cycle_in_days = 10), This means that the charge will occur every 10 days in total of 12 charges.
- `floating_data` (object[])
  - `installment` (integer<int32>, required)
  - `amount` (integer<int32>, required)

Example:

```json
{
  "seller_id": "00000000-0000-0000-0000-000000000000",
  "plan_id": "00000000-0000-0000-0000-000000000000",
  "name": "string",
  "description": "string",
  "amount": 0,
  "currency": "string",
  "sales_tax": 0,
  "product_type": "cash_carry",
  "payment_types": [
    "credit_card"
  ],
  "status": "active",
  "create_date": "1970-01-01T00:00:00.000Z",
  "period": {
    "type": "monthly",
    "billing_cycle": 12,
    "specific_cycle_in_days": 0
  },
  "floating_data": [
    {
      "installment": 0,
      "amount": 0
    }
  ]
}
```

### 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"
}
```