Kite Connect 3.0 — Changes

The new APIs continue to be on the same route api.kite.trade, but to connect to the 3.0 backend, the header X-Kite-Version: 3 should be sent with every HTTP request. This is illustrated throughout the documentation in the curl examples.

API endpoint changes

Endpoint Status  
/quote New Retrieve complete market quotes (including depth) for up to 500 instruments in one go
/quote/ohlc New Retrieve OHLC quotes for up to 1000 instruments in one go
/quote/ltp New Retrieve LTP (last_price) quotes for up to 1000 instruments in one go
/user/profile New Retrieve user profile
/market/instruments/:exchange/:tradingsymbol Removed Replaced by the new /quote API

Login

For obtaining a 3.0 login session, the query param v=3 should be added to the initial login URL.

https://kite.trade/connect/login?v=3&api_key=xxx

Authentication

In the previous version, request authentication was done by sending the api_key and access_token query parameters. In 3.0, this has been replaced by the Authorization header. This is evident in all the examples in this documentation.

All requests now have to be authenticated by sending the HTTP header:

Authorization: token api_key:access_token

WebSocket

  • The new WebSocket address is wss://ws.kite.trade. This is already embedded into the updated Kite Connect 3.0 client libraries.
  • The WebSocket API's binary quote protocol has changed to accommodate new fields. The new packet structure is described in the WebSocket section. New fields — Open Interest, Open Interest Day High, Open Interest Day Low, Last trade timestamp, and Exchange timestamp.

  • The WebSocket API now also supports delivery of realtime order Postbacks and other types of messages.

  • For connection authentication, the old combination of api_key, user_id, public_token is not supported anymore. It is now just api_key and access_token query parameters.

  • The number of instruments that can be subscribed to has been increased from 200 to 1000.

Changes to API responses

Date Change
/session/token New fields:
api_key
refresh_token

Changed fields:
order_type -> order_types
exchange -> exchanges
product -> products

Removed fields:
password_reset
member_id
/portfolio/positions New fields:
day_buy_qty
day_buy_price
day_buy_value
day_sell_qty
day_sell_price
day_sell_value
/trades
/orders/:order_id/trades
New fields:
fill_timestamp

Removed fields:
order_timestamp

Changelog

Date Change
2018-01-17 Major version upgrade to Kite Connect 3 from API v1.
2017-09-11 Introduced bulk quote APIs
2016-05-07 /orders call and bracket order modification and cancellation now involve the new parent_order_id parameter
2016-07-02 Several new fields added to the Webhooks payload (exchange_timestamp, order_type, product, unfilled_quantity, validity)
2017-09-11 Added support for granular timestamp from and to queries to historical data APIs
2017-09-12 Added bulk quote fetch APIs
2017-11-13 Added support for 'UPDATE' Postbacks