GTT Order Placement Failing with "Insufficient permission for that call" - Permission Issue?

TusharPurani
Hello,

I'm getting an "Insufficient permission for that call" error when placing GTT orders via the API, despite following the official documentation exactly. I need confirmation on whether GTT requires separate permission enablement in the developer console.

Setup Details:
- Kite Connect API Version: 3
- Client Library: pykiteconnect (latest version)
- Language: Python 3
- App Type: Personal (Free)
- API Key: (working fine for regular orders)
- Access Token: Valid and working for place_order, holdings, ltp, etc.

Issue:
Regular market orders work perfectly, but GTT placement fails consistently with:
```
Insufficient permission for that call
```

Code Implementation:
Following the official GTT documentation (https://kite.trade/docs/connect/v3/gtt/), here's my implementation:

```python
from kiteconnect import KiteConnect

kite = KiteConnect(api_key="your_api_key")
kite.set_access_token("your_access_token")

# Example: Single-leg GTT for SELL
tradingsymbol = "MOREALTY"
exchange = "NSE"
quantity = 10
trigger_price = 106.50
limit_price = 106.40

# Get current LTP for last_price parameter
ltp_data = kite.ltp([f"{exchange}:{tradingsymbol}"])
last_price = ltp_data.get(f"{exchange}:{tradingsymbol}", {}).get('last_price', trigger_price)

# Place GTT
trigger_id = kite.place_gtt(
trigger_type=kite.GTT_TYPE_SINGLE,
tradingsymbol=tradingsymbol,
exchange=exchange,
trigger_values=[trigger_price],
last_price=last_price,
orders=[{
"transaction_type": kite.TRANSACTION_TYPE_SELL,
"quantity": quantity,
"product": kite.PRODUCT_CNC,
"order_type": kite.ORDER_TYPE_LIMIT,
"price": limit_price
}]
)
```

Error:
```
Exception: Insufficient permission for that call.
```

What I've Verified:
✅ Regular orders (place_order) work fine
✅ Holdings and positions API work
✅ LTP data fetch works
✅ Access token is valid and not expired
✅ Code matches official GTT documentation exactly
✅ Using PRODUCT_CNC as required for equity GTT

Questions:
1. Does GTT require a separate permission to be enabled in the Kite Connect app settings on the developer console?
2. Is there a specific API scope/permission for GTT that needs to be activated?
3. Are there any account-level restrictions on GTT API access (like minimum account age, trading volume, etc.)?
4. Is GTT available for all Zerodha accounts or only specific account types?
5. 4. Is GTT available for Paid credit apps types only?

Additional Context:
The app was created recently and has basic permissions enabled. I can place regular orders, fetch holdings, and access market data without issues. Only GTT placement fails.

Would appreciate guidance on whether I need to enable GTT permissions explicitly in the app settings or if there's another configuration step I'm missing.

Thanks in advance!
  • nagavenij
    With the Kite Connect Personal app, it's not possible to access real-time or historical market data. For more details, you might find this thread helpful.
  • nagavenij
    nagavenij edited January 14
    The call ltp_data = kite.ltp([f"{exchange}:{tradingsymbol}"]) has triggered a permission issue. If you wish to fetch LTP and place GTT orders, you can opt for the paid version of the API, i.e., the Connect API.
Sign In or Register to comment.