Create switch order

The Create switch order method is used to create a switch plan order for a subscription for the current reseller or any of its downstream resellers. The standard logic of the platform is used (see Switching a plan).

An API token of a manager is required for authorization. To get an API token via the Operator Control Panel, see Viewing and updating manager's information

The manager's API token specified in an API request determines the current reseller and downstream resellers accessible within a method.

POST {base_url}/api/v3/resellers/{reseller_id}/switch_order

Arguments

Name

Parameter Type

Data type

Required/Optional

Description

X-Api-TokenheaderstringRequiredAPI token of a manager that performs the operation (see Viewing and updating manager's information)
Content-TypeheaderstringRequiredMedia type of the request. Specify the following: application/vnd.api+json
AcceptheaderstringRequired

Supported media types of the answer. Specify the following: application/vnd.api+json

base_urlpathstringRequiredActivePlatform URL
reseller_idpathintegerRequiredID of the current reseller or any of its downstream resellers (see Viewing and updating reseller general information)
dataformobjectRequiredInformation about the attributes of the operation

attributesformobjectRequiredAttributes of the operation


subscription_idformintegerRequiredID of the subscription 


plan_idformintegerRequiredID of the target plan


plan_period_idformintegerRequiredID of the period of the target plan


resourcesformobjectOptionalList of resources in the order. Required if at least one resource has non-zero included or additional amount (see Plan Resources)



dataformarrayOptionalInformation about resources in the order. Required for resources with non-zero included or additional amount




plan_resource_idformintegerOptionalID of the plan resource




quantityformintegerOptionalTarget amount of the plan resource


promo_codeformstringOptionalPromo-code for a discount

Response model

If no errors are encountered, the method returns data as the information about the created order (see the response model in Get order). Status: 201 Created.

Errors

StatusError textComment
403This action is forbiddenCheck the list of available operations for the subscription (see Get subscription)
422Can not switch to plan with idThe target plan should have the Active status and be among the switchable plans (see Get list of switchable plans)
The period id is not available for ordering in planThe plan period is not available for switching due to one of the following reasons:
  • The plan period is not available in the target plan.
  • The plan period with the specified ID does not exist.
  • The plan period is trial.
There are ordered invalid amount of resourcesIt is necessary to decrease or increase the ordered amount of the resource to fit the available range specified in the target plan
The order cannot be completed: the order total has exceeded the credit limit for this subscriptionTo create the order, it is necessary to increase the credit limit of the account (see Viewing and updating account's details) or individual credit limit of the subscription (see Viewing and updating subscription's details)
The resource id is not available for ordering in planThe resource is not available in the target plan
The resource id must be orderedIt is necessary to add the required resource in the order because, in the target plan, the resource has the minimal amount greater than 0

Request example

POST /api/v3/resellers/1/switch_order
Host: test.activeplatform.com
Content-Type: application/vnd.api+json
X-Api-Token: vY5fwetestK3gJXZH5uHCw
Accept: application/vnd.api+jsonon
{
    "data": {
        "attributes": {
            "subscription_id": 3007437,
            "plan_id": 18,
            "plan_period_id": 2545,
            "resources": {
                "data": [
                    {
                        "plan_resource_id": 1577,
                        "quantity": 2
                    }
                ]
            },
            "promo_code": ""
        }
    }
}

Response example

{
    "data": {
        "id": "11716",
        "type": "switch_plan_orders",
        "attributes": {
            "created_at": "2021-01-07T04:40:37.744+03:00",
            "updated_at": "2021-01-07T04:40:38.880+03:00",
            "document_id": "CH000792",
            "status": "completed",
            "account_id": 317,
            "type": "SwitchPlanOrder",
            "closed_at": "2021-01-07T04:40:38.880+03:00",
            "expiration_date": "2021-02-05",
            "provisioning_date": null,
            "total": "-97.43",
            "promo_code": "",
            "payment_id": null,
            "manager_id": 217,
            "requester_ip": null,
            "custom_price": false,
            "created_by": "#217 Vitaly Fox",
            "subscription_id": 3007437,
            "items": [
                {
                    "id": 17997,
                    "target_id": "SubscriptionResource",
                    "target_type": "SubscriptionResource",
                    "type": "ProvisioningItem::Upgrade",
                    "status": "completed",
                    "description": "res2",
                    "quantity": 2
                },
                {
                    "id": 17996,
                    "target_id": "Subscription",
                    "target_type": "Subscription",
                    "type": "ProvisioningItem::SwitchPlan",
                    "status": "completed",
                    "description": "Autoprovisioning with res2",
                    "quantity": "1"
                }
            ]
        },
        "relationships": {
            "charges": {
                "data": [
                    {
                        "id": "96892",
                        "type": "charges"
                    },
                    {
                        "id": "96893",
                        "type": "charges"
                    }
                ]
            }
        }
    }
}