Main clusters and core pages.
AlgoWay webhook Error 415 means that AlgoWay received the webhook request, but the payload format was not supported. In automated trading, this usually happens when a TradingView alert, manual webhook, Pine Script alert, or external signal tool sends plain text, broken JSON, an empty message, or a body that does not match the expected AlgoWay JSON structure.
This is not a trading strategy error. It is not an MT5 Expert Advisor error. It is not a broker rejection. A 415 Unsupported Media Type response happens before trade execution, at the webhook parsing layer. AlgoWay protects the account by refusing to process a trading command when the incoming message cannot be read safely.
The short version is simple: send valid JSON to your AlgoWay webhook URL. Once the webhook message is a clean JSON payload with the required fields, AlgoWay can route the command to MetaTrader 5, TradeLocker, Match-Trader, DxTrade, cTrader, Binance, Bybit, OKX, MEXC, Tradovate, Alpaca, or another supported execution destination.
Last updated: May 12, 2026
HTTP status code 415 Unsupported Media Type means that the server refused to process the request because the request body was sent in a format the endpoint does not support. For AlgoWay, the supported format for trading automation is structured JSON. The webhook endpoint must receive a readable trading instruction, not a free-form sentence.
In a normal automated trading webhook flow, the chain looks like this:
Signal source → AlgoWay webhook URL → JSON validation → selected trading platform → trade execution
Error 415 appears near the beginning of this chain. The signal source reached AlgoWay, but AlgoWay could not continue because the body was not usable as a supported trading payload.
This matters because a webhook is not a normal website form. It is a machine-to-machine request. The receiving server must be able to identify the body format, parse the content, validate the fields, and decide whether the instruction is safe enough to continue. If the incoming body is not JSON, or if it is sent in a format that does not match the endpoint behavior, the safest result is rejection before the order reaches any trading platform.
TradingView webhook alerts are one of the most common sources of Error 415 because the alert message controls how the payload is sent. When the alert message is valid JSON, TradingView sends it as application/json. When the alert message is not valid JSON, TradingView sends it as text/plain.
That difference is critical. AlgoWay automated trading webhooks are designed to receive structured trading commands. A plain text alert may be understandable to a human, but it is not a safe execution command for a trading platform.
This kind of message can trigger a 415 error because it is plain text, not JSON:
Buy EURUSD now, lot 0.10, SL 1.0745, TP 1.0820
This message is structured JSON and can be processed by AlgoWay:
{
"platform_name": "metatrader5",
"ticker": "EURUSD",
"order_contracts": 0.10,
"order_action": "buy",
"sl_price": 1.0745,
"tp_price": 1.0820,
"comment": "TradingView alert via AlgoWay"
}
For a basic AlgoWay automated trading webhook, the message should include the core fields that tell AlgoWay where to send the order, what instrument to trade, what size to use, and what action to execute.
| Field | Purpose | Example |
|---|---|---|
platform_name |
Execution destination inside AlgoWay | metatrader5 |
ticker |
Trading symbol or instrument | EURUSD |
order_contracts |
Order size, lot size, quantity, or contract amount depending on the platform | 0.10 |
order_action |
Trade direction or close command | buy, sell, flat |
Optional fields can extend the webhook command with Stop Loss, Take Profit, trailing stop, comments, and platform-specific execution details. The exact set of optional fields depends on the selected trading platform and AlgoWay connector.
Use this checklist before changing the strategy, EA, broker connection, or AlgoWay account settings. In most cases, Error 415 is fixed inside the webhook message itself.
buy EURUSD now is not a safe AlgoWay trading command.order_action, not action or side, unless the selected connector documentation says otherwise.“buy” with standard JSON quotes like "buy".The following examples show clean webhook payloads for common AlgoWay automation flows.
{
"platform_name": "metatrader5",
"ticker": "EURUSD",
"order_contracts": 0.10,
"order_action": "buy"
}
{
"platform_name": "metatrader5",
"ticker": "GBPUSD",
"order_contracts": 0.10,
"order_action": "sell"
}
{
"platform_name": "metatrader5",
"ticker": "XAUUSD",
"order_contracts": 0.05,
"order_action": "buy",
"sl_price": 2340.00,
"tp_price": 2370.00,
"comment": "AlgoWay webhook with SL TP"
}
{
"platform_name": "metatrader5",
"ticker": "EURUSD",
"order_contracts": 0.10,
"order_action": "buy",
"stop_loss": 25,
"take_profit": 50,
"comment": "AlgoWay pips based SL TP"
}
{
"platform_name": "metatrader5",
"ticker": "EURUSD",
"order_contracts": 0.10,
"order_action": "buy",
"sl_price": 1.0745,
"tp_price": 1.0820,
"trailing_pips": 15,
"comment": "AlgoWay trailing stop example"
}
{
"platform_name": "metatrader5",
"ticker": "EURUSD",
"order_contracts": 0,
"order_action": "flat",
"comment": "Close EURUSD from AlgoWay webhook"
}
TradingView placeholders can be used inside a JSON alert message. The safest format is to keep placeholders inside quotes unless you are fully sure the final substituted value will always be valid JSON.
{
"platform_name": "metatrader5",
"ticker": "{{ticker}}",
"order_contracts": "{{strategy.order.contracts}}",
"order_action": "{{strategy.market_position}}",
"comment": "TradingView strategy alert to AlgoWay"
}
If TradingView replaces a placeholder with an empty value, invalid symbol, or non-JSON text, the final message may fail. Always check the final alert message generated by the strategy before connecting it to a live AlgoWay webhook.
Before connecting a live TradingView alert to an AlgoWay webhook, test the exact message body that will be sent. The goal is not only to check that the JSON looks correct, but also to confirm that the final substituted values are still valid after TradingView replaces placeholders such as {{ticker}}, {{strategy.order.contracts}}, or {{strategy.market_position}}.
A useful manual test is to copy the final JSON message into a JSON validator before using it in an alert. If the validator reports a syntax error, AlgoWay will not be able to process the same body as a clean trading instruction. Fix the JSON first, then test the webhook again.
When testing manually with an external tool, make sure the request body is sent as raw JSON, not as form data and not as plain text. The body should start with {, end with }, and contain normal JSON key-value pairs. If the tool has a content type option, choose application/json.
This is the most common case. Human-readable text is not enough for automated execution. AlgoWay needs structured fields.
One missing quote, one extra comma, or one unclosed brace can turn a correct-looking alert into invalid JSON.
AlgoWay should not guess which custom word means trade direction, symbol, or order size. Use the documented AlgoWay field names for the selected connector.
An empty webhook request cannot become a trading command. If the TradingView alert message is empty, or if a script produces an empty alert, AlgoWay has nothing safe to execute.
Some external automation tools can send form data, XML, raw text, or custom content types. AlgoWay trading webhooks should receive JSON when the payload is a trading command.
A JSON template can look correct before the alert fires, but the final alert body can still break after placeholder replacement. For example, an empty contract value, unexpected symbol format, or unquoted text value can make the final body invalid. This is why the final alert output matters more than the template shown in the editor.
AlgoWay is an automated trading infrastructure. A webhook can open, close, or manage real positions on a connected trading platform. Because of that, AlgoWay should not interpret unclear messages as orders.
If a message says BUY GOLD maybe, a human may understand the intention. A trading server should not guess. AlgoWay requires a clean command because automated trading needs predictable fields, predictable values, and predictable routing.
This strict behavior protects traders from accidental execution caused by broken alerts, copied text, Telegram-style messages, HTML content, emojis, or incomplete strategy output.
Error 415 is a webhook format problem. It happens before the order reaches the MT5 Expert Advisor or broker. If the JSON is valid and AlgoWay accepts the command, later errors may still happen at another layer, such as symbol mismatch, insufficient margin, disabled algorithmic trading, invalid stops, or broker-side rejection.
The difference is important:
| Error type | Where it happens | What to check |
|---|---|---|
| Webhook Error 415 | AlgoWay webhook parser | JSON format, body type, required fields |
| AlgoWay validation error | AlgoWay routing layer | Platform name, symbol, size, action, connector settings |
| MT5 EA error | MetaTrader 5 terminal or Expert Advisor | EA connection, WebSocket, algo trading permission, DLL permission |
| Broker execution error | Broker server | Stops, margin, volume, market status, symbol availability |
After the webhook stops returning Error 415, the request has passed the media type and payload parsing stage. At that point, any remaining issue will usually be connected to validation, connector configuration, platform availability, or broker execution rules.
For example, a valid JSON body can still fail if the platform name is wrong, the symbol does not exist on the selected broker, the order size is below the broker minimum, or the market is closed. These are different problems. Error 415 only tells you that the incoming body could not be accepted as a supported webhook payload.
This separation makes troubleshooting faster. First fix the body format. Then check the AlgoWay response, platform logs, MT5 Expert Advisor status, or broker execution message depending on where the next error appears.
After the webhook message is valid JSON, continue with the correct AlgoWay guide for your signal source or execution platform:
AlgoWay Error 415 means the webhook request arrived, but the message format was not supported. In most trading automation cases, the alert was not valid JSON or was sent as plain text.
No. Error 415 happens before MT5 execution. It is a webhook payload format issue, not an MT5 terminal, Expert Advisor, or broker error.
TradingView may send the alert as plain text when the alert message is not valid JSON. AlgoWay expects a structured JSON trading command, so plain text can be rejected.
For standard webhooks, use JSON. AlgoWay should not guess trade size, platform, symbol, or execution action from plain text. If you need human-language signal parsing, use the AlgoWay AI Telegram Signals flow instead of a standard JSON webhook.
Replace the alert message with valid JSON, use exact AlgoWay field names, remove smart quotes and trailing commas, and test the webhook with a small size before live execution.