> For the complete documentation index, see [llms.txt](https://proxy-solutions.gitbook.io/api-en/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://proxy-solutions.gitbook.io/api-en/documention/orders/order-operations.md).

# Order operations

## Order operations

> Execute an operation. The list of allowed operations is returned by get /user/orders, in the "allowed\_operations" field<br>

```json
{"openapi":"3.0.3","info":{"title":"Client API","version":"4.1.0"},"servers":[{"url":"https://v4.dev.proxy-solutions.net/api"}],"security":[{"api-key":[]}],"components":{"securitySchemes":{},"parameters":{"order_id":{"name":"order_id","in":"path","required":true,"schema":{"type":"integer"}}},"schemas":{"Order":{"type":"object","required":["id","status","service","quantity","period","amount","allowed_operations","resources_allocated"],"properties":{"id":{"type":"integer","minimum":1},"status":{"type":"string","enum":["waiting","waiting.activation","active","active.suspended","archived"],"description":"Order status"},"service":{"$ref":"#/components/schemas/Service"},"location":{"$ref":"#/components/schemas/Location"},"operator":{"$ref":"#/components/schemas/Operator"},"period":{"type":"integer","description":"Period in days"},"quantity":{"type":"integer","description":"Quantity"},"minimal_payment":{"type":"number","description":"Minimum payment amount."},"amount":{"type":"number","description":"Cost in base currency (USD)"},"converted_amount":{"type":"number","description":"Cost in the specified \"currency\""},"auto_continuation":{"type":"boolean","description":"Automatic renewal. <div style=\"padding-left:1em\">\n  **false**: upon expiration the order transitions to \"waiting\" state\n<br>\n  **true**: billing will renew the order as long as the client has sufficient balance\n</div>\n","default":false},"allowed_operations":{"type":"array","items":{"type":"string"},"description":"Operations allowed in the current order state (see post /user/orders/{id}/perform)\n"},"resources_allocated":{"type":"boolean"}}},"Service":{"type":"object","properties":{"id":{"type":"integer"},"provider":{"type":"string","enum":["server-proxies","mobile-proxies","webtools"]},"name":{"type":"string"}}},"Location":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"type":{"type":"string","enum":["country","city"],"description":"Location type.  Present only when location is an order parameter\n"},"name":{"type":"string","description":"Location name.  Present only when location is an order parameter\n"},"country_name":{"type":"string","description":"Country name.  Present only when location is an order parameter\n"}}},"Operator":{"type":"object","required":["id","name"],"properties":{"id":{"type":"integer"},"name":{"type":"string"}}}}},"paths":{"/user/orders/{order_id}/perform":{"post":{"summary":"Order operations","tags":["Orders"],"description":"Execute an operation. The list of allowed operations is returned by get /user/orders, in the \"allowed_operations\" field\n","parameters":[{"$ref":"#/components/parameters/order_id"}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","required":["operation"],"properties":{"operation":{"type":"string","enum":["channels-change-ip","channels-reset","channels-set-autoreset","channels-relocate","server-start","server-stop","server-reboot","server-reset"],"description":"Operation code\n- **channels-change-ip**<br> Change dynamic IP address\n- **channels-reset**<br> Reboot modem\n- **channels-set-autoreset**<br> Set automatic reboot interval for mobile modem\n- **channels-relocate**<br> Change equipment: channel \"moves\" to another modem within the selected location\n- **server-start**<br> Start server\n- **server-stop**<br> Stop server\n- **server-reboot**<br> Reboot server\n- **server-reset**<br> Cold reset of the server\n"},"channels":{"type":"array","items":{"type":"integer"},"description":"Optional list of channel IDs for channels-* operations If not specified, all channels in the order are implied\n"},"location_id":{"type":"integer","description":"Optional desired location ID for \"channels-relocate\" Only for \"Mobile proxies +\" plan with multiport option \n"},"operator_id":{"type":"integer","description":"Optional operator ID for \"channels-relocate\" Only for orders with multiport option \n"},"interval":{"type":"integer","description":"Optional automatic reboot interval for \"channels-set-autoreset\" Interval is given in seconds, cannot be less than 60.  If interval is not specified or 0, autoreset is disabled\n"}}}}}},"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"operation_status":{"type":"string","enum":["pending","complete","failed"]},"order":{"$ref":"#/components/schemas/Order"}}}}}},"401":{"description":"Unauthorized"},"404":{"description":"Order not found"},"422":{"description":"Validation error","content":{"application/json":{"schema":{"type":"array","items":{"type":"string"}}}}}}}}}}
```
