# PA05-21 - MVNO Plan Change (MVNOプラン変更)

## Overview

Changes (removes & sets) the plan configured on the requested account/MVNO service account.

- Can be used for accounts currently in service
- Execution can be immediate or scheduled for a specified date/time

---

## Request

### Method

`POST` (JSON format)

### URL

```
https://<endpoint>
```

### Parameters

| No  | Parameter | Name               | Type                   | Min | Max | Required | Description                                                                                         |
| --- | --------- | ------------------ | ---------------------- | --- | --- | -------- | --------------------------------------------------------------------------------------------------- |
| 1   | authKey   | Authentication Key | Alphanumeric           | -   | -   | ◎        | Obtained from OEM authentication                                                                    |
| 2   | account   | Account            | Alphanumeric + symbols | -   | -   | ◎        | Target SIM phone number                                                                             |
| 3   | planCode  | Plan Code          | Half-width numeric     | 1   | 32  | ◎        | Specify the plan to apply                                                                           |
| 4   | globalIp  | Global IP (yes/no) | Half-width numeric     | 2   | 2   | △        | Whether to use global IP. Contract required. `20`: Disabled. If not specified, processing continues |
| 5   | runTime   | Execution Time     | Half-width numeric     | -   | -   | -        | Scheduled execution date (YYYYMMDD format)                                                          |

### Request Example

```json
{
  "authKey": "XXXXXXXXXX",
  "account": "09012345678",
  "planCode": "LTE3G_P01",
  "globalIp": "20",
  "runTime": "20150227"
}
```

---

## Response

### Format

JSON

### Parameters

| No  | Parameter         | Name               | Type                              | Description                                                                                     |
| --- | ----------------- | ------------------ | --------------------------------- | ----------------------------------------------------------------------------------------------- |
| 1   | resultCode        | Result Code        | Numeric                           | Processing result code                                                                          |
| 2   | status            | Status             | Object                            | Status details                                                                                  |
| 3   | status.message    | Message            | Alphanumeric + symbols            | Processing result message                                                                       |
| 4   | status.statusCode | Detail Result Code | Numeric                           | Detailed processing result code                                                                 |
| 5   | ipv4              | IPv4 Address       | Half-width numeric + symbols      | Allocated IP address if fixed IP was specified. Empty ("") if not specified. Contract required. |
| 6   | ipv6              | IPv6 Address       | Half-width alphanumeric + symbols | Allocated IP address if fixed IP was specified. Empty ("") if not specified. Contract required. |

---

## Response Codes

| Status | Status Code | Detail Code | Message     | Description                                     |
| ------ | ----------- | ----------- | ----------- | ----------------------------------------------- |
| ○      | 200         | 100         | OK          | Success                                         |
| ×      | 400         | 220         | Bad Request | Parameter error - planCode issue                |
| ×      | 400         | 231         | Bad Request | Parameter error - globalIp issue                |
| ×      | 403         | 205         | Auth Error  | Authentication key problem                      |
| ×      | 500         | 210         | NG          | Account not found                               |
| ×      | 500         | 211         | NG          | Account status does not allow request execution |
| ×      | 500         | 230         | NG          | Account is waiting for async processing         |
| ×      | 500         | 330         | NG          | Account belongs to a share group                |
| ×      | 500         | 900         | NG          | Unexpected error occurred                       |

---

## Response Example

```json
{
  "resultCode": 100,
  "status": {
    "message": "OK",
    "statusCode": 100
  },
  "ipv4": "",
  "ipv6": ""
}
```
