Groww LogoGroww API

Orders

This document describes how to manage orders using the SDK. You can create, modify, cancel, and retrieve order details.

Place Order

POST https://api.groww.in/v1/order/create

This API is used to place a new order in the market. You can specify various parameters such as trading symbol, quantity, price, trigger price, validity, exchange, segment, product type, order type, transaction type, and an optional user-defined order reference ID.

Request

# You can also use wget
curl -X POST https://api.groww.in/v1/order/create \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Body parameter

{
  "trading_symbol": "WIPRO",
  "quantity": 100,
  "price": 2500,
  "trigger_price": 2450,
  "validity": "DAY",
  "exchange": "NSE",
  "segment": "CASH",
  "product": "CNC",
  "order_type": "SL",
  "transaction_type": "BUY",
  "order_reference_id": "Ab-654321234-1628190"
}

Request schema

NameTypeDescription
trading_symbol *stringTrading Symbol of the instrument as defined by the exchange
quantity *integerQuantity of the instrument to order
pricedecimalPrice of the instrument in rupees case of Limit order
trigger_pricedecimalTrigger price in rupees for the order
validity *stringValidity of the order
exchange *stringStock exchange
segment *stringSegment of the instrument such as CASH, FNO etc.
product *stringProduct type
order_type *stringOrder type

transaction_type *stringTransaction type of the trade
order_reference_id *stringUser provided 8 to 20 length alphanumeric string with atmost two hypens (-).

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "groww_order_id": "GMK39038RDT490CCVRO",
    "order_status": "OPEN",
    "order_reference_id": "Ab-654321234-1628190",
    "remark": "Order placed successfully"
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
order_statusstringCurrent status of the placed order
order_reference_idstringUser provided reference id to track the status of an order
remarkstringRemark for the order

Modify Order

POST https://api.groww.in/v1/order/modify

All pending and open orders can be modified using this API.

Request

# You can also use wget
curl -X POST https://api.groww.in/v1/order/modify \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Body parameter

{
  "quantity": 100,
  "price": 2500,
  "trigger_price": 2450,
  "order_type": "SL",
  "segment": "CASH",
  "groww_order_id": "GMK39038RDT490CCVRO"
}

Request schema

NameTypeDescription
quantityintegerQuantity of the instrument to order
pricedecimalPrice of the instrument in rupees case of Limit order
trigger_pricedecimalTrigger price in rupees for the order
order_type *stringEnumeration of order types with examples
segment *stringSegment of the instrument such as CASH, FNO etc.
groww_order_id *stringOrder id generated by Groww for an order

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
      "groww_order_id": "GMK39038RDT490CCVRO",
      "order_status": "OPEN"
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
order_statusstringCurrent status of the placed order

Cancel Order

POST https://api.groww.in/v1/order/cancel

All pending and open orders can be cancelled using this API.

Request

# You can also use wget
curl -X POST https://api.groww.in/v1/order/cancel \
  -H 'Content-Type: application/json' \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Body parameter

{
  "status": "SUCCESS",
  "payload": {
    "segment": "CASH",
    "groww_order_id": "GMK39038RDT490CCVRO"
  }
}

Request schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
segment *stringSegment of the instrument such as CASH, FNO etc..
groww_order_id *stringOrder id generated by Groww for an order

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "groww_order_id": "GMK39038RDT490CCVRO",
    "order_status": "OPEN"
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
order_statusstringCurrent status of the placed order

Get Trades for Order

GET https://api.groww.in/v1/order/trades/{groww_order_id}

An order may be executed at the exchange differently from how an order is placed based on market liquidity. A single order might get executed in a single fulfilment, or as multiple smaller fulfilments. For example, an order of 100 quantity can get executed as 20-50-30 or any other combination. Since each of these fulfilments is defined as a trade, an order can be assigned to one or more trades. You can use groww_order_id to retrieve all the trades assigned to that order

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/order/trades/{groww_order_id}?segment=CASH&page=0&page_size=50 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
groww_order_id *stringOrder id generated by Groww for an order
segment *stringSegment of the instrument such as CASH, FNO etc.
pageintegerPage Number
page_sizeintegerSize of the page. Maximum size is 50.

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "trade_list": [
      {
        "price": 0,
        "isin": "ISN378331005",
        "quantity": 100,
        "groww_order_id": "GROW123456",
        "groww_trade_id": "TRADE123456",
        "exchange_trade_id": "EXCH123456",
        "exchange_order_id": "EXORD123456",
        "trade_status": "COMPLETED",
        "trading_symbol": "AAPL",
        "remark": "Trade executed successfully",
        "exchange": "NSE",
        "segment": "CASH",
        "product": "CNC",
        "transaction_type": "BUY",
        "created_at": "2024-08-24T14:15:22Z",
        "trade_date_time": "2024-08-24T14:15:22Z",
        "settlement_number": "SETTLE123456"
      }
    ]
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
pricedecimalPrice of the instrument in rupees case of Limit order
isinstringISIN (International Securities Identification number)
quantityintegerQuantity of the trade
groww_order_idstringGroww order ID
groww_trade_idstringGroww trade ID
exchange_trade_idstringExchange trade ID
exchange_order_idstringExchange order ID
trade_statusstringStatus of the trade
trading_symbolstringTrading symbol
remarkstringRemark for the trade
exchangestringStock exchange
segmentstringSegment of the instrument such as CASH, FNO etc.
productstringProduct type
transaction_typestringTransaction type of the trade
created_atstringCreation timestamp
trade_date_timestringTrade date and time
settlement_numberstringSettlement number

Get Order Status

GET https://api.groww.in/v1/order/status/{groww_order_id}

The API can be used to check the status of an order using the groww_order_id.

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/order/status/{groww_order_id}?segment=CASH \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
groww_order_id *stringOrder id generated by Groww for an order
segment *stringSegment defines whether the instrument is equity, fno contract or commodity
CASH FNO

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "groww_order_id": "GMK39038RDT490CCVRO",
    "order_status": "OPEN",
    "remark": "Order placed successfully",
    "filled_quantity": 100,
    "order_reference_id": "Ab-654321234-1628190"
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
order_statusstringCurrent status of the placed order
remarkstringRemark for the order
filled_quantityintegerQuantity of the order which has been executed
order_reference_idstringUser provided reference id to track the status of an order

Get Order Status by Reference ID

GET https://api.groww.in/v1/order/status/reference/{order_reference_id}

The API can be used to check the status of an order using the orderReferenceId.

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/order/status/reference/{order_reference_id}?segment=CASH \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
order_reference_id *stringUser provided reference id to track the status of an order
segment *stringSegment defines whether the instrument is equity, fno contract or commodity
CASH FNO

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "groww_order_id": "GMK39038RDT490CCVRO",
    "order_status": "OPEN",
    "remark": "Order placed successfully",
    "filled_quantity": 100,
    "order_reference_id": "Ab-654321234-1628190"
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
order_statusstringCurrent status of the placed order
remarkstringRemark for the order
filled_quantityintegerQuantity of the order which has been executed.
order_reference_idstringUser provided reference id to track the status of an order

Get Order List

GET https://api.groww.in/v1/order/list

The API can be used to get the history of orders executed for the day. It includes all the orders for the day including open, pending, and executed ones.

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/order/list?segment=CASH&page=0&page_size=100 \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
segmentstringSegment defines whether the instrument is equity or fno contract.
CASH FNO
pageintegerPage number
page_sizeintegerSize of the page. Max page size is 100

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "order_list": [
      {
        "groww_order_id": "GMK39038RDT490CCVRO",
        "trading_symbol": "WIPRO",
        "order_status": "OPEN",
        "remark": "Order placed successfully",
        "quantity": 100,
        "price": 2500,
        "trigger_price": 2450,
        "filled_quantity": 100,
        "remaining_quantity": 10,
        "average_fill_price": 2500,
        "deliverable_quantity": 10,
        "amo_status": "PENDING",
        "validity": "DAY",
        "exchange": "NSE",
        "order_type": "MARKET",
        "transaction_type": "BUY",
        "segment": "CASH",
        "product": "CNC",
        "created_at": "2023-10-01T10:15:30",
        "exchange_time": "2023-10-01T10:15:30",
        "trade_date": "2019-08-24T14:15:22Z",
        "order_reference_id": "Ab-654321234-1628190"
      }
    ]
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
trading_symbolstringGroww specific trading symbol of the instrument
order_statusstringCurrent status of the placed order
remarkstringRemark for the order
quantityintegerQuantity of the instrument to order
pricedecimalPrice of the instrument in rupees case of Limit order
trigger_pricedecimalTrigger price in rupees for the order
filled_quantityintegerQuantity of the order which has been executed
remaining_quantityintegerQuantity remained to be filled
average_fill_pricedecimalAvg price of the order placed
deliverable_quantityintegerDeliverable quantity
amo_statusstringStatus of the order placed after market (Not applicable during market hours)
validitystringValidity of the order
exchangestringStock exchange
order_typestringOrder type
transaction_typestringTransaction type of the trade
segmentstringSegment of the instrument such as CASH, FNO etc.
productstringProduct type
created_atstringOrder created at date and time
exchange_timestringDate and Time at which order was placed at exchange
trade_datestringDate on which trade has taken place
order_reference_idstringUser provided reference id to track the status of an order

Get Order Details

GET https://api.groww.in/v1/order/detail/{groww_order_id}

The api can be used to get the details of an order using the groww_order_id.

Request

# You can also use wget
curl -X GET https://api.groww.in/v1/order/detail/{groww_order_id}?segment=CASH \
  -H 'Accept: application/json' \
  -H 'Authorization: Bearer {ACCESS_TOKEN}' \
  -H 'X-API-VERSION: 1.0'

Request schema

NameTypeDescription
groww_order_id *stringOrder id generated by Groww for an order
segment *stringSegment of the instrument such as CASH, FNO etc.

*required parameters

Response

{
  "status": "SUCCESS",
  "payload": {
    "groww_order_id": "GMK39038RDT490CCVRO",
    "trading_symbol": "WIPRO",
    "order_status": "OPEN",
    "remark": "Order placed successfully",
    "quantity": 100,
    "price": 2500,
    "trigger_price": 2450,
    "filled_quantity": 100,
    "remaining_quantity": 10,
    "average_fill_price": 2500,
    "deliverable_quantity": 10,
    "amo_status": "PENDING",
    "validity": "DAY",
    "exchange": "NSE",
    "order_type": "MARKET",
    "transaction_type": "BUY",
    "segment": "CASH",
    "product": "CNC",
    "created_at": "2023-10-01T10:15:30",
    "exchange_time": "2023-10-01T10:15:30",
    "trade_date": "2019-08-24T14:15:22Z",
    "order_reference_id": "Ab-654321234-1628190"
  }
}

Response Schema

NameTypeDescription
statusstringSUCCESS if request is processed successfully, FAILURE if the request failed
groww_order_idstringOrder id generated by Groww for an order
trading_symbolstringGroww specific trading symbol of the instrument
order_statusstringCurrent status of the placed order
remarkstringRemark for the order
quantityintegerQuantity of the instrument to order
pricedecimalPrice of the instrument in rupees case of Limit order
trigger_pricedecimalTrigger price in rupees for the order
filled_quantityintegerQuantity of the order which has been executed.
remaining_quantityintegerQuantity remained to be filled
average_fill_pricedecimalAvg price of the order placed
deliverable_quantityintegerDeliverable quantity
amo_statusstringStatus of the order placed after market (Not applicable during market hours)
validitystringValidity of the order
exchangestringStock exchange
order_typestringOrder type
transaction_typestringTransaction type of the trade
segmentstringSegment of the instrument such as CASH, FNO etc.
productstringProduct type
created_atstringOrder created at date and time
exchange_timestringDate and Time at which order was placed at exchange
trade_datestringDate on which trade has taken place
order_reference_idstringUser provided reference id to track the status of an order

On this page