Skip to content

Guide

Why does my trading webhook answer 200 but place no order?

A 200 from a Nyria webhook means the message arrived and was read, not that an order was placed. The body says which: processed means Nyria handed it to your bots, rejected comes with a reason, and duplicate means an identical body arrived a moment earlier. Rejected is normal when the ticker is not in the strategy's list, the direction is turned off, or there was no position to close. The strategy's Logs tab names the reason.

Official documentation

Find out why a 200 placed no order

  1. 1

    Read the body

    Look at the status field in the answer. It says processed, rejected or duplicate.

  2. 2

    Read the reason

    For rejected, the reason field says why. Common causes are a ticker not in the strategy's list, a direction that is turned off, or no position to close.

  3. 3

    Check for a repeat

    A duplicate means an identical body arrived a moment earlier. Change the body, or send JSON with a unique metadata.message_id.

  4. 4

    Open the Logs tab

    Every message has a row in the strategy's Logs tab, with the reason if no order was placed.

  5. 5

    Paste it into the tester

    Paste the body into the alert tester to see how Nyria reads it.

What each 200 means

  • Processed: Nyria handed the message to your bots. Check the bot's Logs tab for the fill.
  • Rejected with a reason: a normal answer. Nothing was placed.
  • Duplicate: an identical body arrived a moment ago, so this one was dropped.

When it is not a 200

  • 400 or 404: the token in the URL is wrong or was rotated. Copy the URL again.
  • 422: Nyria could not use the message, for example a missing field. The userMessage names the cause.
  • 413: the payload is over 256KB. Trim it.
  • 429: too many messages too fast. Wait as long as Retry-After says, then resend.

Where to look next

  • Every message has a row in the strategy's Logs tab.
  • A missing row can also mean a duplicate.
  • The bot's Logs tab shows the fill for a processed message.

Questions

Does a 200 mean an order was placed?
No. Only processed means Nyria handed the message to your bots. Rejected and duplicate are also 200.
Is a rejected answer an error?
No. It is normal when the ticker is not in the list, the direction is off, or there was no position to close.
Why was my repeat message dropped?
An identical body sent again a moment later counts as a duplicate. Make the body differ to scale in.
What does a 429 mean?
Too many messages too fast. Wait as long as Retry-After says, then resend.
What does it cost?
Paper is free. Live trading from $15 a month.

Next

Try a paper bot first

No card required. Paper is free. Live trading from $15 a month.