End-to-end automation design even for operational stuff


Upstox’s instrument list page mentioned a very critical note:

Source: Instruments


  • The files undergo daily refresh at around 6 AM, and they are only refreshed as needed during the day, which is a seldom occurrence.

If, for some reason the file had to be updated after it’s standard time of 6 AM IST (because of an update in script code or addition of missing instruments), this may cause disaster for our fellow members who are running on automation and have already downloaded an earlier version.

As a responsible and good design, Upstox should notify it’s users of an update to the file using an API (yes! API for operational stuff) and/or email ID (every API/app user should add their desired email ID)

If using an API, the API should share the MD5 hashes of each file so the user can decide if they want to download an updated file or may choose not to, because they already have the file locally.

API to get the Instrument master list along with their MD5 hashes. And the same API should also provide name and URL of these files (instead of hardcoded URLs to Instrument list). So the starting point is this API and the rest is all driven through API requests.

Notification like this is a standard practice in US. Users subscribe to a distribution list and Exchanges just send an email to this distribution list in case they need to notify users of any disruptions or events.

Upstox can make the format fixed so these notifications over email or API can be monitored by our automated systems. This API can also provide updates if any sub-system within Upstox is facing issues (such as OMS, Market Data, Account, Portfolio, etc) based off which we can stop placing orders if there is an issue in OMS or stop subscribing to market data if there is an issue there.


Thank you for your feedback. I’ve taken note of it and will ensure that it’s communicated to the appropriate team for their attention.

thanks @Pradeep_Jaiswar

Addition of MD5 hashes could save considerable internet bandwidth and network/compute resources for Upstox and fellow developers.