Getting error while placing market order using API

I have a upstox account. NSE_FO segment is enabled. Using correct access token in headers. Still getting error. URL, payload and error is as below.

URL: https://api.upstox.com/v2/order/place

Payload: ‘instrument_token’: ‘NSE_FO|42523’, ‘quantity’: 65, ‘transaction_type’: ‘BUY’, ‘order_type’: ‘MARKET’, ‘product’: ‘I’, ‘validity’: ‘DAY’, ‘price’: 0, ‘trigger_price’: 0, ‘tag’: ‘sk’, ‘disclosed_quantity’: 0, ‘is_amo’: False}

Error:- HTTP 400 | Body: {“status”:“error”,“errors”:[{“errorCode”:“UDAPI100038”,“message”:“Invalid input passed to the API”,“propertyPath”:null,“invalidValue”:null,“error_code”:“UDAPI100038”,“property_path”:null,“invalid_value”:null}]}

What could be the issue here… btw, I manage to get live balance using API so I believe access_token must be correct. What payload value is wrong here or endpoint itself is wrong…? Upstox official doc is confusing and mentioned many different endpoints.