Skip to Content

Smart SIP

This API allows you to automate recurring investments in equity stocks and ETFs on a daily, weekly, monthly or custom schedule.

USE CASE

Invest a fixed amount or quantity in a stock or ETF on a regular schedule.

Note

Smart SIP is available for equity only. You can invest by amount or quantity and optionally enable step-up.

  • Available only for Equity segment symbols on NSE/BSE CM.
  • You can invest using either a fixed amount or a specified quantity.
  • Use price range protection (HPR/LPR) to skip execution when prices move beyond your defined range.
  • With the step-up option, you can gradually increase the investment amount or quantity over time.

Details

  • Smart SIP allows you to automate recurring investments in equity stocks, ETFs, with orders placed automatically at your selected frequency—daily, weekly, monthly, or on custom dates.
  • freq is 1 (daily), 2 (weekly), 3 (monthly) or 6 (custom). Daily needs sip_time within 9:15 AM to 3:30 PM. The others use sip_day.
  • sip_day is 1 to 28. For weekly it must be 1 (Monday) to 5 (Friday). imd_start as true starts the SIP now instead of waiting for the schedule.
  • Send either amount or qty, not both. An amount-based SIP cannot be less than LTP. productType can be CNC or MTF.
  • Send either endTime or exp_qty, not both. endTime must be after today and not on a weekend, at least 4 days away for daily and 30 days for weekly or monthly.
  • step_up_freq is 3 or 5 and must be at least freq. Send step_up_amount or step_up_qty (matching your SIP mode), not both. Step-up is not allowed for a custom SIP.
  • hpr must be greater than lpr. A custom SIP for today cannot be placed after 11:00 AM.
  • There is a daily limit on the number of SIP orders. Going over it is rejected.
  • Rate limits differ between the Standard and Prime plans. See Plans & rate limits.

Request Attributes

AttributeData TypeRequiredDescription
symbolstringYesThe instrument's unique identifier (Equity only), e.g., "NSE:SBIN-EQ"
productTypestringYesMust be one of: "CNC", "MTF"
freqintYesSIP frequency (enum: 1, 2, 3, 6)
sip_dayintYesDay of the month for SIP execution (Min: 1, Max: 28)
qty OR amountinteger/numberYesAt least one required - Quantity or amount per SIP instalment (Max: 999999)
sip_timeintConditionalRequired if freq = 1 (Daily). Unix timestamp for SIP execution time (must be within market hours)
imd_startbooleanNoWhether to start SIP immediately. true = start now, false = wait for schedule
endTimeintNoDefault: 0 (no end date). Unix timestamp when the SIP should end
hprfloatNoDefault: 0. Skips SIP if price is above this upper limit
lprfloatNoDefault: 0. Skips SIP if price is below this lower limit
step_up_freqintNoFrequency of step-up increase (enum: 3, 5). Default: 0 (no step-up)
step_up_qtyintNoQuantity to increase at each step-up (Default: 0; Max: 999999)
step_up_amountfloatNoAmount to increase at each step-up (Default: 0; Max: 999999)
exp_qtyintNoQuantity for expiry/final SIP order (Default: 0; Max: 999999)

SIP Frequency Values

ValueFrequencyRequired FieldDescription
1Dailysip_timeInvests every trading day at the specified time
2Weeklysip_dayInvests once a week on the specified day
3Monthlysip_dayInvests once a month on the specified day
6Customsip_dayInvests on selected dates each month

Validations & Error Messages

AttributeValidation RuleError Message
qty & amountProvide either amount or qty (exactly one)"Please enter either the amount or qty to place an order."
symbolMust be Equity segment (NSE/BSE CM)"Equity SIP is not available for the selected symbol. Please choose a different symbol."
productTypeMust be CNC or MTF"productType must be one of the following: CNC, MTF"
freqMust be 1, 2, 3, or 6 (enum)"The input details entered is invalid."
sip_dayMin: 1, Max: 28"The input details entered is invalid."
sip_timeRequired if freq=1"Please select a SIP time."
sip_timeMust be within 9:15 AM - 3:30 PM"Please select an SIP time within market hours."
qtyMax: 999999, must be multiple of lot size"Quantity should be multiple of min lot size."
amountIf amount-based SIP, amount must not be < LTP"The SIP amount cannot be less than the LTP."
step_up_freqMust be >= freq (enum: 3, 5)"Step-up frequency should be greater than or equal to the SIP frequency."
step_up_amount & step_up_qtyOnly one of step_up_amount or step_up_qty allowed"Please provide either step_up_amount or step_up_qty, not both."
step_up_freqStep-up not allowed for custom frequency SIP"Step-up is not allowed for custom frequency SIP."
step_up_amount / step_up_qtyStep-up field must match SIP mode (amount vs qty)"Please provide step_up_amount for amount based SIP or step_up_qty for qty based SIP."
hpr & lprHPR must be > LPR"The high price range must be greater than the low price range."
sip_dayRequired for SIP scheduling"Please select a SIP day."
endTimeMust be > current day"End time must be greater than the current day."
endTimeExpiry date must not fall on weekend"The expiry date shouldn't be on a weekend."
endTime (Daily)Must be >= 4 days from today"Please select an expiry date at least 4 days from today."
endTime (Weekly/Monthly)Must be >= 30 days from today"Please select an expiry date at least 30 days from today."
Custom SIPCustom SIP for today not allowed past cutoff"You can't place a custom SIP for today past 11:00 AM."
sip_timeSIP time cannot be in the past"The SIP time cannot be in the past. Please select a future date and time."
sip_day (weekly)Weekly SIP day must be Mon–Fri (1–5)"For weekly SIP, please select a day between 1 (Monday) and 5 (Friday)."
sip_day (monthly)Monthly SIP day must be 1–28"For monthly SIP, please select a day between 1 and 28."
endTime & exp_qtyProvide either endTime or expired quantity, not both"Please provide either endTime or expired quantity, not both."
Daily limitMax SIP orders allowed"You have exceeded the maximum limit of creating X SIP orders for the day."

Response Attributes

AttributeData TypeDescription
codeintStatus code: 200 for success; negative values indicate errors.
messagestringSuccess or error message. Example: "Your Equity SIP for {symbol} has been successfully initiated"
sstring"ok" for success, "error" for failure.
idstringUnique identifier for the placed SIP order (returned only on success).
Last updated on