Confirm an order or check its status: broker API endpoints compared
8 documented calls from 7 of the 12 APIs with endpoint records here, and 2 functions and messages from 1 API whose interface is not HTTP, each with the page it was read on.
Risk warning: CFDs and spread bets are complex instruments and come with a high risk of losing money rapidly due to leverage. You can lose money on these products, and each provider publishes its own loss figure under FCA rules. You should consider whether you understand how they work and whether you can afford to take the high risk of losing your money. Automated and API trading can amplify losses through bugs, connectivity failures and runaway orders.
What this task is
Placing an order and learning its outcome are often two calls. The first returns a reference. The second, listed here, tells you whether the deal was accepted or rejected, at what level, and why if it failed.
Build the confirmation step in from the start. A program that treats the first reply as a fill will sooner or later hold a position it does not know about, or believe in one that was never opened.
The documented endpoint, API by API
Ordered by the name of the broker or platform API, then by path. The order is not a ranking. Open a row for the parameters, the response and a sample request.
| Broker or platform | Endpoint | What the record says it does | Source |
|---|---|---|---|
| Capital.com | GET/api/v1/confirms/{dealReference} | Check whether a deal was accepted or rejected. For a new position, the opened deal IDs are in affectedDeals. | open-api.capital.comchecked |
| eToro | GET/api/v2/trading/info/demo/orders:lookup | Returns the status of one demo order and every position it opened or closed. Look it up by orderId or by the referenceId you sent as x-request-id. | api-portal.etoro.comchecked |
| eToro | GET/api/v2/trading/info/orders:lookup | Looks up one real account order by its ID or by the request ID it was sent with, and returns its status and the positions it opened or closed. | api-portal.etoro.comchecked |
| IG | GET/confirms/{dealReference} | Deal confirmation for a dealReference. This is where you learn whether the deal was ACCEPTED or REJECTED, and why. | labs.ig.comchecked |
| Interactive Brokers | GET/iserver/account/order/status/{orderId} | Status of one order from the current brokerage session: side, type, size, filled amount and account. | interactivebrokers.comchecked |
| MetaApi | GET/users/current/accounts/{accountId}/orders/{orderId} | Read one open order by its id, the ticket number. | metaapi.cloudchecked |
| OANDA | GET/v3/accounts/{accountID}/orders/{orderSpecifier} | The details of one order on the account, whatever its state. | developer.oanda.comchecked |
| Trading 212 | GET/api/v0/equity/orders/{id} | One pending order, looked up by its numeric identifier. Use it to check on an order you placed earlier. | docs.trading212.comchecked |
The same task where the interface is not HTTP
Some platform APIs, and the streaming interfaces of some broker APIs, are not sent as HTTP requests. A function is called from a program in its language, and a message is sent over an open connection. None has a method or a path, so each row is labelled with its kind and its interface. A record is put on this page by hand, from what the vendor's page says the call does, and one call can do several jobs, so the same function can be on more than one task page. Ordered by the name of the broker or platform API, then interface, then name.
| API | Call | What the record says it does | Source |
|---|---|---|---|
| cTrader Open API | messageProtoOAExecutionEvent cTrader Open API | Sent when the server accepts or executes an order. It is the answer to the new order, cancel, amend and close requests, and it is also sent when a deposit or withdrawal takes place. | help.ctrader.comchecked |
| cTrader Open API | messageProtoOAOrderErrorEvent cTrader Open API | Sent when an order request meets an error. It names the error and, where they apply, the order and the position. | help.ctrader.comchecked |
None documented here yet
These APIs have endpoint records on this site, but none is assigned to this task. That describes this dataset. It is not a statement that the API lacks such a call.
- Deriv: none documented here yet
- Saxo OpenAPI: none documented here yet
- DXtrade APIs: none documented here yet
- Match-Trader Platform API: none documented here yet
- TradeLocker API: none documented here yet
Brokers and platforms with no endpoint records at all are not listed above. The broker directory shows what is recorded for each.