Orders are getting rejected from API

I placed a HDFCBANK, LIMIT, INTRADAY order from Upstox API, but I got following error:
UDAPI100500: Intraday order is not allowed on this scrip. Place a delivery order instead.

However, when I try the same order from Upstox website; it works just fine. See screenshot below:

Sample Affected accounts: 159401 (all accounts using Upstox API)

Regards,
Pritesh Mhatre
Founder - Stocks Developer

The order you’re attempting to place through the API is for debt securities, whereas the order made through the web pertains to HDFC Bank equity. Although their trading symbols are identical, they have distinct ISIN and instrument keys. This is why we don’t rely solely on the trading symbol.

Details of the instruments are as follows:

Name: HDFC BANK 7.71% 2033 SR1
ISIN: INE040A08AJ4

Name: DFC BANK LTD
ISIN: NE040A01034

For further information on HDFC Bank 7.71% 2033 Sr 1, you can refer to the circular at NSE India Circular - HDFC Bank 7.71% 2033 Sr 1, where you can search using this ISIN.

We will check from outside why this was included in the body file from our side.

Thanks for the update, let me also take a look as to why this was not filtered on our side. Ideally our instruments loading process should have filtered out debt securities.

Looks like it was an issue on your end. The debt security was being sent as EQ.

Right now, I see that it has been fixed as we can see correct data on our side without any changes.

I have your Client ID. I’ll verify it on my end. We ensure that orders are not formed solely based on exchange and ISIN though.