Skip to main content
GET 

/ipos/orders/:order_id

Get IPO Order Details

API to retrieve a single IPO application by its application ID. The response contains the same fields as Get IPO Orders, returned as a single object instead of a paginated array.

Use this endpoint to poll one application after applying for ipo — for example, to confirm that payment_status has moved to mandate_accepted once the applicant approves the UPI mandate.

For the meaning of the status, order_status, and payment_status values, see the status tables on Get IPO Orders.

Path Parameters

NameRequiredTypeDescription
order_idRequiredstringIPO application ID. Obtain it from data.order_id in Apply IPO or data[].order_id in Get IPO Orders.

Request

curl --location 'https://api.upstox.com/v2/ipos/orders/UPROYAL00000003' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer {your_access_token}'

For additional samples in various languages, please refer to the Sample code section on this page.

Responses

Response Body

{
"status": "success",
"data": {
"id": "deepak-builders-engineers-india-ipo",
"symbol": "DBEIL",
"exchange": "nse",
"order_id": "UPROYAL00000003",
"status": "ipo_allotted",
"order_status": "allotted",
"payment_status": "mandate_accepted",
"category": "IND",
"issue_type": "regular",
"reason": "alloted",
"upi": "91xxxxxxxx@ybl",
"upi_amount_blocked": "14819",
"nse_submitted_date": "2026-07-21T08:14:20",
"bse_submitted_date": "2026-07-21T08:14:20",
"mandate_approved_date": "2026-07-21T09:02:11",
"rejection_date": null,
"mandate_rejection_date": null,
"cancel_requested_date": null,
"cancel_accepted_date": null,
"units_allotted": 73,
"bids": [
{
"quantity": 30,
"price": 150.3,
"amount": 4509,
"message": "Bid accepted"
}
],
"created_at": "2026-07-21T08:14:18",
"last_updated_at": "2026-07-30T17:36:36"
}
}
NameTypeDescription
statusstringOutcome of the request. Possible values: success, error, partial_success.
data.idstringIdentifier of the IPO the application was placed against. Pass it to Get IPO Details.
data.symbolstringStock exchange ticker symbol of the issuer.
data.exchangestringExchange the application was submitted to.
data.order_idstringApplication ID. Pass it as the order_id path parameter to Cancel IPO Order.
data.statusstringLifecycle stage of the application. See Application status.
data.order_statusstringOutcome of the application. See Order status.
data.payment_statusstringState of the UPI mandate backing the application. See Payment status.
data.categorystringInvestor category the application was placed under. IND (individual) and HNI can be applied for; EMP appears on employee-quota applications.
data.issue_typestringIssue type of the IPO. Possible values: regular (mainboard), sme.
data.reasonstringFree-text reason from the exchange or registrar explaining the current status. null when none was returned.
data.upistringUPI ID the mandate was raised against.
data.upi_amount_blockedstringAmount blocked in the applicant's bank account for this application (in INR), returned as a string. "0" until the mandate is approved.
data.nse_submitted_datestringTimestamp of submission to NSE in YYYY-MM-DDTHH:MM:SS format. null if not submitted there.
data.bse_submitted_datestringTimestamp of submission to BSE in YYYY-MM-DDTHH:MM:SS format. null if not submitted there.
data.mandate_approved_datestringTimestamp at which the UPI mandate was approved. null until approved.
data.rejection_datestringTimestamp at which the application was rejected. null unless rejected.
data.mandate_rejection_datestringTimestamp at which the UPI mandate was rejected. null unless rejected.
data.cancel_requested_datestringTimestamp at which cancellation was requested. null unless a cancellation was raised.
data.cancel_accepted_datestringTimestamp at which the cancellation completed. null unless the cancellation was accepted.
data.units_allottedintegerNumber of shares allotted. 0 until allotment completes, and on applications that were not allotted.
data.bidsarrayBids submitted with this application.
data.bids[].quantityintegerNumber of shares bid for.
data.bids[].pricenumberBid price per share (in INR).
data.bids[].amountnumberValue of the bid (in INR), calculated as quantity × price.
data.bids[].messagestringMessage returned by the exchange for this bid. null when none was returned.
data.created_atstringTimestamp at which the application was created, in YYYY-MM-DDTHH:MM:SS format.
data.last_updated_atstringTimestamp at which the application was last updated, in YYYY-MM-DDTHH:MM:SS format.

Sample Code

import requests

order_id = 'UPROYAL00000003'
url = f'https://api.upstox.com/v2/ipos/orders/{order_id}'
headers = {
'Accept': 'application/json',
'Authorization': 'Bearer {your_access_token}'
}

response = requests.get(url, headers=headers)
print(response.json())