Skip to main content

LOGIN API

This API is used to authenticate users by validating their login credentials. Upon successful authentication, the API returns the following in the response :

  • access_token : This token must be included in the Authorization header of all subsequent API request to authorize the users session.
  • broadcast_access_token :This token is required to establish a connection with the feed endpoint, accessible via the broadCastSocket URL provided in the response. Please refer to the Price Feed API for detailed usage instructions.

Additionally, the response includes essential information for trading, such as: 

  • The list of exchanges allowed for the user.
  • Supported Product type.
  • Other key trading-related parameters.

This API is prerequisite for accessing all authenticated endpoints in the system.

🗝️Login Types and Second-Factor Authentication

login_typePassword Fieldsecond_auth-typesecond_auth_value
PASSWORDPasswordREGISTERNot required
TOKENregister_tokenOTP/TOTP/FINGERPRINTOTP Value/TOTP Value/Registered UDID
PASSWORDPasswordOTP/TOTP/FINGERPRINTOTP Value/TOTP Value/Registered UDID
MPINMPIN RegisteredOTP/TOTP/FINGERPRINTOTP Value/TOTP Value/Registered UDID
TP_TOKENSSO tokenNot RequiredNot Required

📝Authentication Flow Notes

  • To retrieve the second-factor authentication methods available for a user, user REGISTER in the second_auth_type field.
  • This will validate the provided password and return a register_token.
  • The returned register_token can then be used in a subsequent login attempt with login_type set to TOKEN, along with the appropriate second-factor credentials.

🔑Header Parameters

HeaderTypeDescriptionExample
Content-TypestringSpecifies the media type of the request payloadapplication/json
x-api-keystringAPI key used to authorize the requestx-api-key

📑Request Body Parameters

FieldTypeRequiredDescripitonExample/Enum
user_idstringYesUser ID (UCC) Provided to the user"UCC123456"
login_typestringOptionalSpecifies the login method. Determines which value is passed in the password field. Use TP_TOKEN when authentication is handled externally 9eg., via a Super APP)Default: "PASSWORD" Enum : PASSWORD, MPIN, FINGERPRINT, TP_TOKEN
passwordstringYesPassword, MPIN, UDID or SSO Token depending on the login_type selected."mypassword123"
second_auth_typestringOptionalType of secondary authentication selected by the user.User REGISTER on first login to register a second-factor method.Enum : OTP, TOTP, FINGERPRINT, REGISTER
second_authstringOptionalThe credential value for the selected secondary authentication type (e.g., OTP, TOTP,UDID)"123456"/"MyDeviceID"
api_keystringYesAPI Key provided by Synapsewave for authenticating the client application"xyz-api-key"
sourcestringYesIndicates the platform from which the user is logging inEnum : WEBAPI, MOBILEAPI
UDIDStringOptionalUnique Device ID of the user's device."device-12345-udid"
versionstringOptionalversion number for the Android application"2.1.0"
iosversionstringOptionalVersion number of the iOS application"3.0.5"
build_versionstringOptionalInternal build version of the application"build-45"
deviceinfoobjectOptionalAdditional information about the user's device (e.g., OS, model, etc){"os" : "Android", "model" : "Pixel 6"}

📘DeviceInfo Object Fields

FieldTypeDescriptionExample/ENUM
UDIDstringThe unique identifier for the device."123e4567-e89b-a456-426614174000"
DeviceModelstringThe model of the device from which the user has logged in."iPhone 12"
DeviceSerialNostringThe serial number of the device used for log in.SN1234567890
DeviceManufacturerstringThe manufacturer of the device used for login.Apple
DevicePlatformstringThe platform of the device used for loginWeb
DevicePlatformVerstringThe version of the platform (OS) on the device used for login.14.4
LongitudestringThe longitude coordinate of the device's location when logging in.77.5946
LatitudestringThe latitude coordinate of the device's location when logging in."12.9716"
AppNamestringThe name of the application being used for login.Wave 3.0
AppVersionstringThe version of the application used for login."1.2.3"
AppVersionCodestringThe version code of the application used for login."200000"
AppPackageNamestringThe package name of the application used for login (Android only).com.example.myapp
FCMRegKeystringThe Firebase Cloud Messaging (FCM) registration key for push notifications"172.25.90.82:8100
IPstringIP Address of the device used for login"192.168.1.1"
SDKVersionstringThe version of the software development kit (SDK) used for the application."30"

🟢Success Response - 200 OK

Content-Type: application/json

FieldTypeDescriptionExample
statusstringIndicates the result of the API call"success"
codestringResponse code corresponding to the request"s-101"
messagestringDescriptive message for the response"User logged in Successfully."
dataobjectContains the user login response payload, including token and user-specific trading informationRefer to Login Response Data Section

Data Object Fields

FieldTypeDescriptionEnum / Example
access_tokenstringThe authentication token to be used with every subsequent request"eyJhbGciOiJIUzI1NiJ9..."
user_namestringUser's name"John Doe"
login_timestringUser's last login time"2024-01-01 10:00:00"
exchangesstring[]Exchanges allowed to user["NSE", "BSE", "NFO"]
bcastExchangesstring[]Exchanges allowed to user for market feed data["NSE", "BSE"]
product_typesstring[]Product types allowed to user across all exchanges["CNC", "MIS", "NRML"]
product_types_exchangeobjectProduct types allowed to user exchange wise{"NSE": ["CNC", "MIS"]}
mpin_enabledbooleanFlag if user has registered MPINtrue / false
fingerprint_enabledbooleanFlag if user has registered fingerprinttrue / false
user_idstringUser Id (UCC) provided to the user"AB1234"
othersobjectSee below

Others Object Field

FieldTypeDescriptionEnum / Example
userCodestringUser Code"AB1234"
groupIdstringGroup to which the user belongs to"GRP01"
groupCodestringGroup Code"GC01"
newsCategoriesstringNews Categories"GENERAL,MARKET"
messageSocketstringEndpoint of socket.io server for receiving interactive messages"https://socket.example.com"
broadCastSocketstringEndpoint of WebSocket server for receiving market feed data"wss://feed.example.com"
secondBroadCastSocketstring[]Other market feed server endpoints["wss://feed2.example.com"]
POAstringPOA status of user0 = POA user, 2 = Non POA user
nGTDDefaultintegerDefault GTD set7
nGTDMaxDaysintegerMaximum days set for GTD30
sGTDConfigDetailsstringGTD Configuration Details"config_string"
ocTokenstringOC Token"oc_token_string"
managerIPstringManager IP"192.168.1.1"
tslAllowedstring[]TSL Allowed["NSE", "BSE"]
edisForMTFbooleanEDIS for MTFtrue / false
showJumpPriceBothLtpAndTriggerPricebooleanShow jump price for both LTP and trigger pricetrue / false
CFTstringCFT"cft_value"
bAMOAllowedForUserbooleanAMO allowed for usertrue / false