Place your first order
Go from an authenticated FYERS app to a verified order in six steps.
Follow the examples using the global code switcher — Python, Node.js, Java, or cURL.
This guide explains the full sequence without requiring you to assemble the workflow from separate endpoint pages.
Before you begin
Workflow
Generate a valid access token.
Build the order request.
Send the order request.
Check the API response.
Confirm the order status.
Handle rejected or pending orders.
Confirm the workflow result.
Authenticate
Complete the authorisation flow and generate a valid access token. Keep the token secure and confirm that the app has the permissions required for order placement.
View Authentication →Authorization: app_id:access_tokenPrepare your order
Choose the instrument, side, quantity, product type, order type and price fields required for the trade. Validate the symbol and review the order before submission.
View Single Order API →{ "symbol": "NSE:SBIN-EQ", "qty": 1, "type": 1, "side": 1, "productType": "INTRADAY", "limitPrice": 0, "stopPrice": 0, "validity": "DAY", "disclosedQty": 0, "offlineOrder": false, "orderTag": "tag1", "isSliceOrder": false }Submit the order
Send the order request once. Record the returned identifier and response so the result can be checked without placing a duplicate order.
View Single Order API →ApplicationSingle Order APIOrder ID / API responseOrder Book / Order DetailsOrder statusExecution confirmationcurl -H "Authorization:app_id:access_token" \ -H "Content-Type:application/json" \ -X POST -d '{ "symbol":"NSE:SBIN-EQ", "qty":1, "type":1, "side":1, "productType":"INTRADAY" }' \ https://api-t1.fyers.in/api/v3/orders/syncRead the response
Confirm whether the request was accepted or rejected. Do not treat an accepted API request as a completed trade; execution status must be checked separately.
{ "s": "ok", "code": 1101, "message": "Order submitted successfully. Your Order Ref. No.808058117761", "id": "808058117761" }Verify the order
Open the Order Book or request order details using the returned identifier. Check the current status, filled quantity, pending quantity and rejection reason where available.
View Order Book / Order Details →Handle rejected or pending orders
For a rejected order, correct the stated issue before trying again. For a pending order, monitor its status or modify or cancel it according to the trading decision.
View Modify Single Order → View Cancel Single Order →Verify the result
Check the relevant API response and account or market-data state to confirm that the workflow completed successfully. If the result is partial or unsuccessful, review the returned status and message before deciding whether to retry or take another action.
- Request accepted
- Order identifier received
- Order status checked
- Filled/pending/rejected status understood
- Execution confirmed where applicable
Common issues
Authentication failure401 Unauthorized
Check that the access token is valid and that the app has order-placement permission. Generate a new token if it has expired.
HTTP/1.1 401 Unauthorized
{"s":"error","code":-8,"message":"Could not authenticate the user"}View Authentication →Invalid request400 Bad Request
Validate symbol, quantity, side, product type and other required order fields against the Single Order documentation before retrying.
HTTP/1.1 400 Bad Request
{"s":"error","code":-50,"message":"Please provide valid order parameters"}View Error Code Reference →Rate limit429 Too Many Requests
Respect the API rate limits for your plan. Wait, then retry with exponential backoff instead of sending the same request immediately.
HTTP/1.1 429 Too Many Requests
Retry-After: 1
{"s":"error","message":"Rate limit exceeded"}Learn exponential backoff →Pending orderPending
The order was accepted but is not yet complete. Read the current order status from the order book before placing a duplicate.
{"s":"ok","orderStatus":"6","message":"Pending"}View Order Book →Network timeoutTimeout
The request may have reached the exchange even if your client timed out. Verify order state before retrying.
Error: request timed outHandle retries safely →Prefer a guided AI workflow? Use FYERS MCP or FYERS GPT for supported account and trading workflows without starting from REST.
Related API reference
Generate an access token
View API →Submit a new order
View API →Verify the order
View API →Modify an existing order
View API →Cancel an order
View API →Continue with AI
Last updated on August 10, 2026