HTTP 404 in broker APIs: what it means, broker by broker
22 decoded error codes from 8 brokers and platforms return this status, and one general record gives the standard's meaning: 23 records on this page. The count is of records whose recorded HTTP status is 404. A search for the number 404 also finds records that only mention it in their code or meaning, so the error lookup can show more.
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 the status means in general
HTTP 404 is Not Found. The server found nothing current at the address requested, or is not willing to say that something exists there. The status does not say whether this is temporary or permanent.
The path, the version in the path or an identifier inside it matches nothing: an order id, a position id or an instrument code. An order that has just been filled or cancelled may no longer be found where open orders are listed.
Check the path against the documentation, then the identifier. If you were looking up an order, read the list of orders and the account's history before deciding that it does not exist.
The first paragraph is the standard's meaning in this site's words, with its source. The rest is this site's own explanation and describes no particular broker. HTTP 404 Not Found on its own page.
The status alone is only the category. The code or message in the body of the reply is what tells you the cause, and that differs from one API to the next.
The decoded errors that return it
In order of broker name, then code. Each row links to the full meaning and the fix.
Capital.com
| Code | Meaning, first sentence | Source |
|---|---|---|
| error.invalid.watchlist | The watchlist id is not valid. | open-api.capital.comchecked |
| error.not-found.dealId | Position or working order not found. | github.comchecked |
| error.not-found.dealReference | No confirmation was found for the deal reference given. | open-api.capital.comchecked |
| error.not-found.epic | Market not found. | github.comchecked |
| error.not-found.watchlist | The watchlist was not found. | open-api.capital.comchecked |
DXtrade APIs
| Code | Meaning, first sentence | Source |
|---|---|---|
| 2 Entity not found at server | DXtrade errorCode 2, description "Entity not found at server" (the vendor's wording). | demo.dx.tradechecked |
| 35 Data not ready yet | DXtrade errorCode 35, description "Data not ready yet" (the vendor's wording). | demo.dx.tradechecked |
| 404 Not Found | DXtrade REST API: Either the resource does not exist or the client is not permitted to access it. | demo.dx.tradechecked |
eToro
| Code | Meaning, first sentence | Source |
|---|---|---|
| HTTP 404 | The order, position or username in the request was not found. eToro also uses 404 for some upstream or validation failures. | api-portal.etoro.comchecked |
IG
| Code | Meaning, first sentence | Source |
|---|---|---|
| error.confirms.deal-not-found | No deal confirmation was found for the deal reference given. | labs.ig.comchecked |
| error.invalid.watchlist | The watchlist id is not valid. | labs.ig.comchecked |
| error.position.notfound | The requested position was not found. | labs.ig.comchecked |
| error.public-api.epic-not-found | The epic in the request was not found. | labs.ig.comchecked |
| error.trading.otc.instrument-not-found | The instrument named in the dealing request was not found. | labs.ig.comchecked |
| invalid.url | The URL requested is not valid. | labs.ig.comchecked |
| public-api.costs-and-charges.indicative-quote-reference-not-found | The indicative quote reference was not found. | labs.ig.comchecked |
OANDA
| Code | Meaning, first sentence | Source |
|---|---|---|
| NO_SUCH_ORDER | The order ID specified does not exist. | developer.oanda.comchecked |
| NO_SUCH_TRADE | Trade ID does not exist or is no longer in the recent list. | developer.oanda.comchecked |
| NO_SUCH_TRANSACTION | The transaction ID specified does not exist. | developer.oanda.comchecked |
Saxo OpenAPI
| Code | Meaning, first sentence | Source |
|---|---|---|
| HTTP 404 | The resource in the request does not exist, for example an unknown instrument on an info price request. | developer.saxochecked |
TradeLocker API
| Code | Meaning, first sentence | Source |
|---|---|---|
| 404 Not Found | TradeLocker lists 404 with the description "Not Found" as a response of many /trade routes, including placing an order, closing all positions and the account, instrument, configuration and history routes. | public-api.tradelocker.comchecked |
Trading 212
| Code | Meaning, first sentence | Source |
|---|---|---|
| Order not found | No order exists with the id given. | docs.trading212.comchecked |
Brokers and platforms not listed here have no decoded error recorded with this status. That describes this dataset, not their APIs.