🔑 Login Flow (fixed endpoints)

1) TOTP Login → returns viewToken + viewSid

curl -X POST "https://mis.kotaksecurities.com/login/1.0/tradeApiLogin" \
  -H "Authorization: <access_token>" \
  -H "neo-fin-key: neotradeapi" \
  -H "Content-Type: application/json" \
  -d '{
        "mobileNumber": "<+91XXXXXXXXXX>",
        "ucc": "<client_code>",
        "totp": "<6_digit_totp>"
      }'

2) MPIN Validate → returns session token (Auth) + session sid (Sid) + baseUrl

In your collection, viewSid and viewToken are sent as headers to this call.

curl -X POST "https://mis.kotaksecurities.com/login/1.0/tradeApiValidate" \
  -H "Authorization: <access_token>" \
  -H "neo-fin-key: neotradeapi" \
  -H "sid: <viewSid_from_previous_step>" \
  -H "Auth: <viewToken_from_previous_step>" \
  -H "Content-Type: application/json" \
  -d '{
        "mpin": "<mpin>"
      }'

📌 Response gives you:


🔁 Using baseUrl (important)

If MPIN validate returned:

"baseUrl": "https://neo-gw.kotaksecurities.com/xyz"

and the spec shows:

{{baseUrl}}/quick/order/cancel

then your final URL is:

https://neo-gw.kotaksecurities.com/xyz/quick/order/cancel

👉 Just replace {{baseUrl}} with the returned string. No braces in the final URL.