IPO Order¶
IPO (Initial Public Offering) refers to the process through which a private company offers its shares to the public for the first time. The IPO data API provides detailed information about upcoming, ongoing, and closed IPOs.
Type | API Endpoint | Description |
---|---|---|
GET | iporest/nse/order/openOrders |
Fetch all open IPO orders |
POST | iporest/nse/order/placeOrders |
Place a new IPO order |
GET | /iporest/nse/order/getOrderBook |
Retrieve the full IPO order book |
GET | iporest/nse/order/cancelOrders |
Cancel an open IPO order |
Fetch IPO Detail¶
Retrieves detailed information about IPOs (Initial Public Offerings) available on the stock exchange. This includes current, upcoming, and closed IPOs along with key attributes such as company name, issue size, price band, lot size, subscription dates, and listing details. It helps users stay updated on IPO opportunities for investment decisions.
Response Structure
{
"status": "Ok",
"message": "Success",
"result": [
{
"lotSize": 1600,
"faceValue": 10.0,
"minPrice": 68.0,
"maxPrice": 72.0,
"tickSize": 1.0,
"cutOffPrice": 72.0,
"registrar": "BIGSHARE",
"subType": "SME",
"categoryDetails": [
{
"code": "QIB",
"startTime": "10:00:00",
"endTime": "17:00:00"
},
{
"code": "NIB",
"startTime": "10:00:00",
"endTime": "17:00:00"
},
{
"code": "RETAIL",
"startTime": "10:00:00",
"endTime": "17:00:00"
}
],
"subCategorySettings": [
{
"caCode": "NIB",
"subCatCode": "IND",
"minValue": 200001.0,
"maxValue": 1.283328E8,
"allowCutOff": false,
"allowUpi": true,
"discountType": "",
"discountPrice": null,
"maxUpiLimit": 500000.0,
"maxQuantity": null
}
],
"symbol": "AAKAAR",
"name": "Aakaar Medical Technologies Limited",
"isin": "INE1GYP01013",
"issueType": "EQUITY",
"issueSize": 2683200,
"minBidQuantity": 1600,
"biddingStartDate": "20-06-2025",
"biddingEndDate": "24-06-2025"
},
{
"lotSize": 67,
"faceValue": 2.0,
"minPrice": 210.0,
"maxPrice": 222.0,
"tickSize": 1.0,
"cutOffPrice": 222.0,
"registrar": "LINK",
"subType": "EQ",
"categoryDetails": [
{
"code": "QIB",
"startTime": "10:00:00",
"endTime": "17:00:00"
},
{
"code": "NIB",
"startTime": "10:00:00",
"endTime": "17:00:00"
},
{
"code": "RETAIL",
"startTime": "10:00:00",
"endTime": "17:00:00"
}
],
"subCategorySettings": [
{
"caCode": "NIB",
"subCatCode": "IND",
"minValue": 200001.0,
"maxValue": 1.248984654E9,
"allowCutOff": false,
"allowUpi": true,
"discountType": "",
"discountPrice": null,
"maxUpiLimit": 500000.0,
"maxQuantity": null
}
],
"symbol": "ARISINFRA",
"name": "Arisinfra Solutions Limited",
"isin": "INE0H9P01028",
"issueType": "EQUITY",
"issueSize": 13084656,
"minBidQuantity": 67,
"biddingStartDate": "18-06-2025",
"biddingEndDate": "20-06-2025"
}
]
}
Response Parameters
Field | Type | Description |
---|---|---|
status | String | Response status, typically "Ok" if successful. |
message | String | Response message, typically "Success". |
result | Array | List of IPO detail objects. |
lotSize | Integer | Number of shares in a single lot. |
faceValue | Float | Face value of one share. |
minPrice | Float | Minimum price in the price band. |
maxPrice | Float | Maximum price in the price band. |
tickSize | Float | Minimum price increment allowed during bidding. |
cutOffPrice | Float | Price set for cut-off bids. |
registrar | String | Registrar of the IPO (e.g., BIGSHARE, LINK). |
subType | String | IPO category: "SME" (small/medium enterprises) or "EQ" (mainboard). |
symbol | String | Trading symbol of the IPO. |
name | String | Full name of the issuing company. |
isin | String | ISIN code of the security. |
issueType | String | Type of issue, e.g., "EQUITY". |
issueSize | Integer | Total number of shares issued. |
minBidQuantity | Integer | Minimum number of shares that can be bid for. |
biddingStartDate | String | Start date for bidding in format DD-MM-YYYY. |
biddingEndDate | String | End date for bidding in format DD-MM-YYYY. |
code | String | Category code: QIB, NIB, RETAIL. |
startTime | String | Bidding start time in HH:MM:SS. |
endTime | String | Bidding end time in HH:MM:SS. |
caCode | String | Main category code (e.g., NIB). |
subCatCode | String | Sub-category code (e.g., IND = Individual). |
minValue | Float | Minimum investment amount. |
maxValue | Float | Maximum investment amount. |
allowCutOff | Boolean | If cutoff price bidding is allowed. |
allowUpi | Boolean | If UPI is allowed as payment method. |
discountType | String | Discount type (if any). Usually an empty string if not applicable. |
discountPrice | Float | Discount price if applicable (nullable). |
maxUpiLimit | Float | Maximum amount allowed via UPI (typically ₹5,00,000). |
maxQuantity | Integer | Maximum quantity allowed per sub-category (nullable if unlimited). |
Place IPO Order¶
The "Place IPO Order" API is used to submit a new IPO application for a client. It allows investors to apply for shares in an ongoing IPO by specifying bid details such as quantity, price, category, and UPI payment information.
Request Structure
{
"symbol": "PRANIK",
"category": "IND",
"clientName": "RAJENDRAN GOWRI SANKAR",
"depository": "CDSL",
"dpId": "33445566",
"clientBenId": "1209280000054648",
"nonASBA": false,
"pan": "BZAPG5040A",
"referenceNumber": "",
"allotmentMode": "demat",
"upiFlag": "Y",
"upi": "9791411886@ybl",
"timestamp": "01-12-2015 13:40:55",
"bids": [
{
"activityType": "new",
"quantity": 1600, // minBidQuantity
"atCutOff": false,
"price": 73.0, // minPrice
"amount": 77.0, // cutOffPrice
"remark": "1"
}
]
}
Input Parameter
Field Name | Type | Description |
---|---|---|
symbol | string | IPO symbol you want to apply for (e.g., PRANIK). |
category | string | Investor category (e.g., IND for Individual, QIB, NIB). |
clientName | string | Full name of the applicant as per demat account. |
depository | string | Depository type: either CDSL or NSDL. |
dpId | string | Depository Participant ID (required for NSDL, can be blank for CDSL). |
clientBenId | string | Beneficiary account number (Demat ID). |
nonASBA | boolean | false for ASBA applications (payment through UPI). |
pan | string | PAN number of the applicant. |
referenceNumber | string | Optional field for tracking references. |
allotmentMode | string | Allotment mode – always demat. |
upiFlag | string | Set "Y" if using UPI for payment. |
upi | string | UPI ID for fund blocking (e.g., yourname@bank). |
timestamp | string | Date and time of order submission (dd-MM-yyyy HH:MM:SS). |
bids | array | List of bid objects (can contain multiple bids). |
activityType | string | "new" for placing a new bid. |
quantity | integer | Number of shares (should be multiple of lot size). |
atCutOff | boolean | true for Cut-off price application, else specify price. |
price | float | The bid price per share (ignored if atCutOff = true). |
amount | float | The total price used to calculate funds blocked (usually Cut-off Price). |
remark | string | Optional remarks (e.g., 1 for tracking purposes). |
Response Structure
{
"status": "Ok",
"message": "Success",
"result": [
{
"symbol": "PRANIK",
"reason": "Issue is not open",
"applicationNumber": "800021330",
"clientName": "GOPIKA KANDASAMY",
"chequeNumber": "",
"referenceNumber": "",
"dpVerStatusFlag": "P",
"subBrokerCode": "",
"depository": "CDSL",
"reasonCode": 5,
"pan": "LDPPK6641E",
"ifsc": "IT",
"timestamp": "20-06-2025 15:52:53",
"bankAccount": "",
"bankCode": "",
"dpVerReason": "",
"dpId": "",
"upi": "9791411886@ybl",
"bids": [
{
"activityType": "new",
"bidReferenceNumber": 2025062000314217,
"quantity": 1600,
"series": "",
"atCutOff": false,
"price": 73.0,
"amount": 116800.0,
"remark": "1",
"status": "success"
}
],
"allotmentMode": "demat",
"dpVerFailCode": "",
"nonASBA": false,
"upiFlag": "Y",
"category": "IND",
"locationCode": "",
"clientBenId": "1209280000126047",
"status": "failed"
}
]
}
Response Parameters
Field Name | Type | Description |
---|---|---|
status | string | Overall API response status (Ok, Error, etc.). |
message | string | General message indicating success or reason for failure. |
result | array | Array of IPO order status objects. |
symbol | string | IPO symbol applied for. |
reason | string | Reason for application failure, if any (e.g., "Issue is not open"). |
applicationNumber | string | IPO application reference number. |
clientName | string | Name of the investor. |
chequeNumber | string | Not used in UPI-based IPOs; generally empty. |
referenceNumber | string | UPI or application reference (may be blank). |
dpVerStatusFlag | string | DP verification status: P = Pending, Y = Verified, N = Failed. |
subBrokerCode | string | Optional field for sub-broker ID. |
depository | string | Depository type (CDSL or NSDL). |
reasonCode | integer | Error code (if any), useful for backend or debugging. |
pan | string | PAN number of the applicant. |
ifsc | string | IFSC code of applicant’s bank (if available). |
timestamp | string | Order request timestamp in dd-MM-yyyy HH:MM:SS format. |
bankAccount | string | Bank account number (if submitted). |
bankCode | string | Bank identifier code (if any). |
dpVerReason | string | Reason for DP verification failure (if any). |
dpId | string | Depository Participant ID. |
upi | string | UPI ID used for payment. |
allotmentMode | string | Allotment type (demat is standard). |
dpVerFailCode | string | DP failure code (if verification fails). |
nonASBA | boolean | Indicates whether ASBA is not used (false if UPI is used). |
upiFlag | string | "Y" if UPI is used for fund blocking. |
category | string | Investor category (IND, QIB, NIB, etc.). |
locationCode | string | Optional field for regional tracking. |
clientBenId | string | Beneficiary Demat account number. |
status | string | Final order status: success, failed, etc. |
activityType | string | "new" for a new IPO bid. |
bidReferenceNumber | number | Unique identifier for the bid request. |
quantity | integer | Number of shares applied for (in multiples of lot size). |
series | string | Typically empty for equity IPOs. |
atCutOff | boolean | true if bid is at cut-off price. |
price | float | Bid price (ignored if atCutOff = true). |
amount | float | Total application value (price * quantity). |
remark | string | Optional notes or client-side identifiers. |
status | string | Status of individual bid (success, failed, etc.). |
Fetch IPO Orders¶
The "Fetch IPO Order" API is used to retrieve all active IPO orders that have been placed but are not yet fully processed or allotted.
Response Structure
{
"status": "Ok",
"message": "Success",
"result": [
{
"symbol": "PRANIK",
"clientName": "GOPIKA KANDASAMY",
"chequeNo": "",
"dpVerStatusFlag": "P",
"subBrokerCode": "",
"timestamp": "20-06-2025 15:52:53",
"bankAccount": "",
"bankCode": "",
"dpVerReason": "",
"allotmentMode": "demat",
"dpVerFailCode": "",
"nonASBA": "false",
"upiFlag": "Y",
"locationCode": "",
"userId": "AB0608",
"orderId": 673,
"applicationNo": "800021330",
"referenceNo": "",
"depository": "CDSL",
"panNo": "LDPPK6641E",
"dpId": "",
"accountNumberUpiId": "9791411886@ybl",
"category": "IND",
"clientBenfId": "1209280000126047",
"statusMessage": "failed",
"exchType": "NSE",
"bids": [
{
"orderId": 673,
"actionCode": "new",
"bidId": "2025062000314217",
"qty": "1600",
"rate": "73.0",
"errorCode": "1",
"message": "success",
"amount": "116800.0",
"series": "",
"cutOff": "false"
}
],
"id": 674,
"createdOn": "2025-06-20T10:22:53.000+00:00",
"updatedOn": "2025-06-20T10:22:54.000+00:00",
"createdBy": null,
"updatedBy": null,
"activeStatus": 1
}
]
}
Response Parameters
Field Name | Type | Description |
---|---|---|
status | string | Status of the API call (e.g. "Ok"). |
message | string | Message regarding API response (e.g. "Success"). |
result | array | List of IPO order details. |
symbol | string | IPO symbol (e.g., "PRANIK"). |
clientName | string | Investor name. |
chequeNo | string | Cheque number (if applicable, usually empty for UPI). |
dpVerStatusFlag | string | DP verification status (P = Pending, Y = Verified, N = Failed). |
subBrokerCode | string | Code of sub-broker, if applicable. |
timestamp | string | IPO order placement time (dd-MM-yyyy HH:MM:SS). |
bankAccount | string | Bank account used, if provided. |
bankCode | string | Code of bank, if applicable. |
dpVerReason | string | Reason for DP verification failure (if any). |
allotmentMode | string | demat indicates allotment in dematerialized format. |
dpVerFailCode | string | DP failure error code (blank if successful). |
nonASBA | string | "false" if UPI is used (non-ASBA not applied). |
upiFlag | string | "Y" indicates UPI was used for payment. |
locationCode | string | Optional location code (generally unused). |
userId | string | ID of user who placed the order. |
orderId | integer | Internal order ID. |
applicationNo | string | IPO application number. |
referenceNo | string | UPI or bank reference number (if available). |
depository | string | Depository used (CDSL or NSDL). |
panNo | string | PAN number of applicant. |
dpId | string | Depository Participant ID (may be blank). |
accountNumberUpiId | string | UPI ID used for IPO. |
category | string | Application category (IND, QIB, NIB). |
clientBenfId | string | Beneficiary demat account number. |
statusMessage | string | Order result (e.g. "failed" or "success"). |
exchType | string | Exchange type (e.g., "NSE"). |
id | integer | Unique row ID for this order in database. |
createdOn | string | Timestamp when the order was created (ISO format). |
updatedOn | string | Timestamp when the order was last updated (ISO format). |
createdBy | string | Creator identifier (if tracked). |
updatedBy | string | Updater identifier (if tracked). |
activeStatus | integer | Status flag (typically 1 for active). |
orderId | integer | Internal order ID reference. |
actionCode | string | "new" indicates this is a new bid. |
bidId | string | Unique identifier for the bid request. |
qty | string | Quantity of shares applied for. |
rate | string | Price per share. |
errorCode | string | "1" may indicate a warning or issue (interpret based on docs). |
message | string | Result message (e.g., "success"). |
amount | string | Total bid amount (qty × rate). |
series | string | Series code (empty for equity). |
cutOff | string | "true" if bid is at cutoff price, otherwise "false". |
Cancel IPO Orders¶
The "Cancel IPO Order" API is used to cancel a previously placed IPO order before the IPO bidding window closes.
Request Structure
{
"symbol": "ARISINFRA",
"applicationNumber": "800046540",
"category": "IND",
"clientName": "RAJENDRAN GOWRI SANKAR",
"depository": "CDSL",
"dpId": "33445566",
"clientBenId": "1209280000054648",
"nonASBA": false,
"pan": "BZAPG5040A",
"referenceNumber": "",
"allotmentMode": "demat",
"upiFlag": "Y",
"upi": "XXXXXXX@yesb",
"timestamp": "21-06-2025 13:40:55",
"bids": [
{
"activityType": "cancel",
"bidReferenceNumber": 2024101104303953,
"quantity": 1600,
"atCutOff": false,
"price": 73.0,
"amount": 77.0,
"remark": "2"
}
]
}
Input Parameter
Field Name | Type | Description |
---|---|---|
symbol | string | IPO symbol (e.g., "ARISINFRA"). |
applicationNumber | string | IPO application number assigned by the system. |
category | string | Investor category (IND – Individual, QIB, NIB). |
clientName | string | Name of the IPO applicant. |
depository | string | Name of the depository (CDSL or NSDL). |
dpId | string | Depository Participant ID. |
clientBenId | string | Beneficiary account number (demat account). |
nonASBA | boolean | false indicates UPI-based application (not non-ASBA). |
pan | string | PAN number of the applicant. |
referenceNumber | string | UPI or other payment reference (usually empty for cancellation). |
allotmentMode | string | Allotment type, typically "demat". |
upiFlag | string | "Y" if UPI is used for payment. |
upi | string | UPI ID used in the IPO application. |
timestamp | string | Timestamp of the action (dd-MM-yyyy HH:MM:SS format). |
activityType | string | "cancel" indicates this is a cancellation request. |
bidReferenceNumber | number | Unique bid reference number to be canceled. |
quantity | number | Quantity of shares originally applied for in the bid. |
atCutOff | boolean | true if the original bid was at cut-off price. |
price | number | Price per share of the original bid. |
amount | number | Total amount of the bid (may be ignored in cancellation). |
remark | string | User-defined remark or code (e.g., "2" to indicate cancellation reason). |
Response Structure
{
"status": "Ok",
"message": "Success",
"result": [
{
"symbol": "ARISINFRA",
"applicationNumber": "800046540",
"clientName": "GOPIKA KANDASAMY",
"chequeNumber": "",
"referenceNumber": "",
"dpVerStatusFlag": "S",
"subBrokerCode": "",
"depository": "CDSL",
"pan": "LDPPK6641E",
"ifsc": "IT",
"timestamp": "20-06-2025 16:49:43",
"bankAccount": "",
"bankCode": "",
"dpVerReason": "",
"dpId": "",
"upi": "9361456299@yesb",
"bids": [],
"allotmentMode": "demat",
"dpVerFailCode": "",
"nonASBA": false,
"upiFlag": "Y",
"category": "IND",
"locationCode": "",
"clientBenId": "1209280000126047",
"status": "success"
}
]
}
Response Parameters
Field Name | Type | Description |
---|---|---|
status | string | API call status ("Ok" means the call succeeded). |
message | string | Descriptive message (e.g., "Success"). |
result | array | List of IPO cancellation results (usually contains one item per request). |
symbol | string | IPO symbol (ARISINFRA). |
applicationNumber | string | Unique IPO application number. |
clientName | string | Name of the applicant. |
chequeNumber | string | (Unused in UPI flow; blank here). |
referenceNumber | string | Payment or system reference (blank if not applicable). |
dpVerStatusFlag | string | DP (Depository Participant) verification flag: "S" = Success, "P" = Pending, "F" = Failed |
subBrokerCode | string | Sub-broker identifier (if applicable; empty if not used). |
depository | string | Depository name (CDSL or NSDL). |
pan | string | PAN of the applicant. |
ifsc | string | IFSC code (part of bank details; placeholder here). |
timestamp | string | Time of the request (format: dd-MM-yyyy HH![]() |
bankAccount | string | Bank account number (blank in UPI flow). |
bankCode | string | Internal bank identifier (blank here). |
dpVerReason | string | Reason for DP verification status (if failed; blank for success). |
dpId | string | Depository Participant ID (blank if unavailable). |
upi | string | UPI ID used for the IPO. |
bids | array | List of bid cancellation objects (empty if fully canceled or invalidated). |
allotmentMode | string | "demat" – shares will be allotted in demat form. |
dpVerFailCode | string | DP verification failure code (blank for success). |
nonASBA | boolean | false = UPI route used (not ASBA). |
upiFlag | string | "Y" if UPI is used for the order. |
category | string | Investor category (IND, QIB, NIB). |
locationCode | string | Internal location code (blank here). |
clientBenId | string | Beneficiary demat account number. |
status | string | Final status of the cancellation request ("success" / "failed"). |