🖥️
AutoShares
  • Deploy Apps with AutoShares API
  • User guide
    • Introduction
    • Web Trader
      • Getting Started
      • Platform Layout
      • User Widgets
        • Account Information
        • Account Opening
          • Account Funding
            • ACH Transfers
            • Check Transfers
            • Wire Transfers
        • Chart
        • News
        • Trade Ticket
          • Mutual Funds Trade Ticket
        • Watchlists
        • Orders
        • Positions
        • Market Depth
        • Options
        • Hotkeys
    • Digital Advisor
      • Getting Started
      • Selecting an Investment Model
      • Portfolio Tab
      • Trading Tab
      • Activity Tab
      • Funding Tab
    • WebTrader for iOS
      • Getting Started
      • App Layout
      • Watchlist & Quotes View
        • Trade View
          • Stock Trading
          • Options Trading
      • Positions View
      • Orders View
      • Price Alerts View
      • Account View
      • Apple Watch Extension
    • Web Trader for Android
      • Getting Started
      • App Layout
      • Watchlist & Quote View
        • Trade View
      • Price Alerts
      • Accounts & Settings
    • Knowledge Base
      • Troubleshooting
        • Performance
          • Tips for Enhancing Performance
      • How-To Guides
        • Trading Accounts
          • How to Create a New Trading Account
        • Security
          • How to Enable Two-Factor Authentication
  • REST API
    • Introduction
    • Trading API
      • Overview
      • Authentication
        • Single-Factor Authentication
          • Syntax
        • Two-Factor Authentication
          • Syntax
      • User Registration
        • Get Required Fields
        • Register a User
      • Managing Users
        • Get User's Info
          • Syntax
        • Get User's Trading Settings
        • Get Mobile App Settings
        • Get User's Exchanges
        • Modify User's Settings
        • Update User's Password
      • Trading Accounts
        • Get Account's Balance Info
          • Syntax
        • Get Account's History
          • Syntax
        • List User's Accounts
          • Syntax
      • Password Reset
        • 1. Reset Trader's Password
        • 2. Retrieve the Secret Question
        • 3. Generate a Token For a New Password
        • 4. Update the Password
      • Trading Accounts
        • Open a New Trading Account
      • Account Funding
        • Create an ACH Relationship
        • Get an ACH Relationship
        • Get All ACH Relationships
        • Get the Default ACH Relationship
        • Modify an ACH Relationship
        • Delete an ACH Relationship
        • Approve an ACH Relationship
        • Deposit / Withdraw Funds via ACH
        • Cancel an ACH Transfer
        • Get All Transfers
      • Orders
        • Verify Order Placement
          • Syntax
        • Place Order
          • Syntax
        • Verify Order Replacement
          • Syntax
        • Replace Order
          • Syntax
        • Cancel an Order
          • Syntax
        • Get Order's Info
          • Syntax
        • Get Filtered Orders
          • Syntax
      • Positions
        • Get User's Positions
          • Syntax
        • Get User's Positions in a Security
          • Syntax
        • Get Market Value of all Security Groups
      • Securities
        • Get Equity Info by Internal ID
          • Syntax
        • Get Equity Info by Ticker
          • Syntax
        • Get Equity Info by Mask
          • Syntax
        • Get Filtered Equities
          • Syntax
        • Get Option Info by Internal ID
          • Syntax
        • Get Option Info by Ticker
          • Syntax
        • Get Options Expiration Dates
          • Syntax
        • Get an Option Chain
        • Get Filtered Options
          • Syntax
      • Watchlists
        • Add Security to Watchlist by ID
          • Syntax
        • Add Security to Watchlist by Ticker
          • Syntax
        • Create New Watchlist
          • Syntax
        • Delete Watchlist
          • Syntax
        • Get Specific Watchlist
          • Syntax
        • Get User's Watchlists
          • Syntax
        • Remove Security From Watchlist by ID
          • Syntax
        • Remove Security from Watchlist by Ticker
          • Syntax
        • Rename Watchlist
          • Syntax
      • Price Alerts
        • Create Price Alert
          • Syntax
        • Delete Price Alert
          • Syntax
        • Get Specific Alert
          • Syntax
        • Get User's Price Alerts
          • Syntax
        • Modify Price Alert
          • Syntax
      • Historical Data
        • Get Comparison Chart Data
          • Syntax
        • Get Candles and Indicators for a Security
          • Syntax
        • Get Chart Data in the Excel Format
          • Syntax
      • News
        • Get News for a Security
        • Get Corporate Actions for a Security
      • User Feedback
        • Submit Feedback
          • Syntax
      • Managing Transactions
        • Get Transactions
          • Syntax
      • Streaming Data
        • Quotes
        • Orders
        • Positions
        • Watchlists
        • Account Balances
      • Code Samples
        • Basic Authentication
        • Two-Factor Autentication
        • Placing New Orders
        • Get User Information
        • List User Positions
        • Get Trading Data for Charts
      • Terms and Definitions
        • Part I
        • Part II
        • Part III
Powered by GitBook
On this page
  • Overview
  • Request Body
  • Order Modification Sample
  • Response
  • Common Mistakes
  • Failing to Specify the Et-App-Key Parameter
  • Specifying the User ID Instead of the Trading Account ID
  • Specifying a Trading Account of a Different User
  1. REST API
  2. Trading API
  3. Orders

Replace Order

Modify an existing order (cancel and replace)

PreviousSyntaxNextSyntax

Last updated 4 years ago

Overview

This PUT endpoint enables you to replace an existing order in Autoshares Trader. The order is sent in the JSON format to our service which in turn replaced the fields in the existing order.

There are five required parameters that must be provided in the request:

  1. Et-App-Key (header). This is the unique key of your app that identifies your app when communicating with our service. Contact your administrator to get this key.

  2. Authorization (header). This is the authorization token from the very first .

  3. Trading Account ID (path). This is the numeric ID of the trading account on which an existing order must be modified.

  4. API version (path). Unless necessary, leave it at "1.0".

  5. body (body of the request). This is a JSON file that contains the parameters that must be modified in an existing order.

Here's the final template for this API request:

  • For orders that will only be verified by the API but not the execution venue (quick):

PUT apiURL/v1.0/accounts/{accountID}/orders/{existingOrderID}
  • For orders that will be verified by the API and the execution venue too (slow):

PUT apiURL/v1.0/accounts/{accountID}/syncorders/{existingOrderID}

Request Body

The body of this request represents the information that must be replaced in an existing order. It must be sent in the JSON format with mandatory parameters about the order and also those parameters that need to be modified.

The first four parameters — ID, Quantity, Price, ExecutionInstructions, Legs — are mandatory, while the remaining parameters should only be provided in case they need to be modified. Apart from these four parameters, the rest of the JSON should be constructed identically to the .

Order Modification Sample

{
  "Id": 178941,
  "Quantity": 5,
  "Price": 49,
  "ExecutionInstructions" : {"Commission": "0.5"}
}

Response

In response to this request, you'll receive a JSON file with the updated information about the modified order:

{
  "Id": 0,
  "SecurityId": 0,
  "Quantity": 0,
  "Price": 0,
  "StopPrice": 0,
  "ClientId": "string",
  "ParentClientId": "string",
  "OrigClientId": "string",
  "ExecutedQuantity": 0,
  "LastPrice": 0,
  "LastQuantity": 0,
  "LeavesQuantity": 0,
  "AveragePrice": 0,
  "Side": "Buy",
  "Date": "2019-02-25T09:59:39.231Z",
  "TransactionDate": "2019-02-25T09:59:39.231Z",
  "SettDate": "2019-02-25T09:59:39.231Z",
  "Status": "New",
  "ExecutionStatus": "New",
  "Type": "Market",
  "RequestStatus": "RequireValidation",
  "Target": "Ignore",
  "Description": "string",
  "Comment": "string",
  "TimeInForce": "Day",
  "ExecInst": "DoNotIncrease",
  "ExpireDate": "2019-02-25T09:59:39.231Z",
  "CounterPartyOrderId": "string",
  "AccountId": 0,
  "UserId": 0,
  "RequestId": 0,
  "StateId": 0,
  "ParentId": 0,
  "Legs": [
    {}
  ],
  "Exchange": "string",
  "ExecutionVenue": "string",
  "TrailingStopAmountType": "Absolute",
  "TrailingStopAmount": 0,
  "TrailingLimitAmountType": "Absolute",
  "TrailingLimitAmount": 0,
  "CreateDate": "2019-02-25T09:59:39.231Z",
  "InitialType": "Market",
  "ExtendedHours": "string",
  "IsExternal": true,
  "ExecBrocker": "string",
  "ExecutionInstructions": {},
  "TransType": "New",
  "ExecId": "string",
  "Token": "string",
  "ValidationsToBypass": 0,
  "ParentRequestId": 0,
  "SettlementDate": "2019-02-25T09:59:39.231Z",
  "LastMarket": "string"
}

Common Mistakes

Here are some of the common mistakes that developers make when attempting to modify an existing order.

Failing to Specify the Et-App-Key Parameter

If you specify the wrong Et-App-Key parameter or fail to include it in the header altogether, you'll get the following error:

{
    "error": "Application key is not defined or does not exist"
}

Specifying the User ID Instead of the Trading Account ID

Another common mistake when making this request is specifying the user ID instead of the user's trading account ID. Doing so will result in the 500 status code and the following error message:

{
    "message": "An error occurred while processing your request",
    "error": "Unexpected server error"
}

Specifying a Trading Account of a Different User

It's critical to understand that when you use the authorization token of a particular user in this request's header, only this user's trading accounts can be used for modifying existing orders. Modifying an existing order on a trading account of a different user will lead to the 401 error.

{
    "Message": "Authorization has been denied for this request."
}

The following article covers the syntax for this API request in detail.

token request
order placement JSON