Modify an Order

  • Available in Sandbox
  • Available in Production
  • Available to Advisors
  • Supported

Modify an order. You may change some or all of these parameters. You may not change the session of a pre/post market session order. Send only the parameters you would like to adjust.



Header Required Values/Example Default
Accept Optional application/xml, application/json application/xml
Authorization Required Bearer {token}


Parameter Type Param Type Required Values/Example Default
account_id Path String Required VA000000
Account number
order_id Path String Required 1234
Order Id
type Form String Optional limit
The type of order to be placed. One of: limit, stop, stop_limit, debit, credit
duration Form String Optional
Time the order will remain active. One of: day, gtc, pre, post
price Form String Optional 1.00
Limit price. Required only for limit and stop_limit orders.
stop Form String Optional 1.00
Stop price. Required only for stop and stop_limit orders.

Code Example

If you're developing in the sandbox, change the hostname to
curl -X PUT "{account_id}/orders/{order_id}" \
     -H 'Authorization: Bearer <TOKEN>' \
     -H 'Accept: application/json' \
     -H 'Content-Type: application/x-www-form-urlencoded' \
     -d 'type=limit&duration=&price=1.00&stop=1.00'
// Version 1.8.0_31    
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.apache.http.HttpEntity;
import org.apache.http.HttpResponse;
import org.apache.http.client.methods.HttpUriRequest;
import org.apache.http.client.methods.RequestBuilder;
import org.apache.http.impl.client.HttpClientBuilder;
import org.apache.http.util.EntityUtils;


public class MainClass {
  public static void main(String[] args) throws IOException {
    final HttpUriRequest request = RequestBuilder
        .addHeader("Authorization", "Bearer <TOKEN>")
        .addHeader("Accept", "application/json")
        .addParameter("account_id", "VA000000")
        .addParameter("order_id", "1234")
        .addParameter("type", "limit")
        .addParameter("duration", "")
        .addParameter("price", "1.00")
        .addParameter("stop", "1.00")

    final HttpResponse response = HttpClientBuilder.create().build().execute(request);
    final String jsonString = EntityUtils.toString(response.getEntity());
    final JsonNode json = new ObjectMapper().readTree(jsonString);
# Version 2.5.0p0    
require 'uri'
require 'net/http'

url = URI("{account_id}/orders/{order_id}")

http =, url.port)
http.use_ssl = true

request =
request["Authorization"] = 'Bearer <TOKEN>'
request["Accept"] = 'application/json'
request["Content-Type"] = 'application/x-www-form-urlencoded'
request.body = "type=limit&duration=&price=1.00&stop=1.00"

response = http.request(request)
puts response.code
puts response.read_body
// Version go1.12      
package main

import (

func main() {
    apiUrl := "{account_id}/orders/{order_id}"
    data := url.Values{} 
    data.Set("type", "limit") 
    data.Set("duration", "") 
    data.Set("price", "1.00") 
    data.Set("stop", "1.00")

    u, _ := url.ParseRequestURI(apiUrl)
    urlStr := u.String()

    client := &http.Client{}
    r, _ := http.NewRequest("PUT", urlStr, strings.NewReader(data.Encode()))
    r.Header.Add("Authorization", "Bearer <TOKEN>")
    r.Header.Add("Accept", "application/json")
    r.Header.Add("Content-Type", "application/x-www-form-urlencoded")
    r.Header.Add("Content-Length", strconv.Itoa(len(data.Encode())))

    resp, _ := client.Do(r)
    responseData, err := ioutil.ReadAll(resp.Body)

    if err != nil {

// Version    
using System;
using System.Net;  
using System.IO;
using System.Text;

public class MainClass {
  public static void Main (string[] args) {
    var request = (HttpWebRequest)WebRequest.Create("{account_id}/orders/{order_id}");
    var requestData = "type=limit&duration=&price=1.00&stop=1.00";
    var data = Encoding.ASCII.GetBytes(requestData);
    request.Method = "PUT";
    request.Headers["Authorization"] = "Bearer <TOKEN>";
    request.Accept = "application/json";
    request.ContentType = "application/x-www-form-urlencoded";
    request.ContentLength = data.Length;

    using (var stream = request.GetRequestStream())
         stream.Write(data, 0, data.Length);

    var response = (HttpWebResponse)request.GetResponse();

    Console.WriteLine (response.StatusCode);
    var responseString = new StreamReader(response.GetResponseStream()).ReadToEnd();
    Console.WriteLine (responseString);
// Version 10.15.2    
const request = require('request');

    method: 'put',
    url: '{account_id}/orders/{order_id}',
    form: {
       'account_id': 'VA000000',
       'order_id': '1234',
       'type': 'limit',
       'duration': '',
       'price': '1.00',
       'stop': '1.00'
    headers: {
      'Authorization': 'Bearer <TOKEN>',
      'Accept': 'application/json'
  }, (error, response, body) => {
# Version 3.6.1    
import requests

response = requests.put('{account_id}/orders/{order_id}',
    data={'type': 'limit', 'duration': '', 'price': '1.00', 'stop': '1.00'},
    headers={'Authorization': 'Bearer <TOKEN>', 'Accept': 'application/json'}
json_response = response.json()
// Version 7.2.17-0ubuntu0.18.04.1
$ch = curl_init();

curl_setopt($ch, CURLOPT_URL, '{account_id}/orders/{order_id}');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, 'type=limit&duration=&price=1.00&stop=1.00');
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, 'PUT');

$headers = array();
$headers[] = 'Authorization: Bearer <TOKEN>';
$headers[] = 'Accept: application/json';
$headers[] = 'Content-Type: application/x-www-form-urlencoded';
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);

$result = curl_exec($ch);
$http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
if (curl_errno($ch)) {
    echo 'Error:' . curl_error($ch);
curl_close ($ch);
echo $http_code;
echo $result;


Response Definition

  "order": {
    "id": 257459,
    "status": "ok",
    "partner_id": "c4998eb7-06e8-4820-a7ab-55d9760065fb"