Login with TOTP
To securely generate an auth_token
via API, you can use the TOTP (Time-based One-Time Password) authentication method. This API enables users to log in using a dynamic passcode generated through an authenticator app.
Please note:
- This API is subject to a maximum limit rate of 1 request per second for each unique app_key.
- Before using this API, ensure that TOTP-based authentication is enabled in your Ventura account. You can activate this by navigating to the ‘My Profile’ section and enabling the Authenticator option.
Note
If your app type is partner you will not be able to call this API. Please go to the EaseAPI For Business section to see how partners can use EaseAPI.
curl --location 'https://easeapi.venturasecurities.com/login/v1/authorization/totp' \
--header 'x-app-key: 8ab5rt7yp2lm9qw4s1ex' \
--header 'x-client-id: AA0605' \
--header 'x-mac-address: 04:7b:cb:5b:be:92' \
--header 'Content-Type: application/json' \
--data '{
"password": "1234",
"data": "f84ede7d9fa88227fd3e6cf483a61e5ccacc88d729c0ef887c2de6409fd387b0",
"totp": "444725"
}'
import requests
import json
url = "https://easeapi.venturasecurities.com/login/v1/authorization/totp"
payload = json.dumps({
"password": "1234",
"data": "f84ede7d9fa88227fd3e6cf483a61e5ccacc88d729c0ef887c2de6409fd387b0",
"totp": "444725"
})
headers = {
'x-app-key': '8ab5rt7yp2lm9qw4s1ex',
'x-client-id': 'AA0605',
'x-mac-address': '04:7b:cb:5b:be:92',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
"password": "1234",
"data": "f84ede7d9fa88227fd3e6cf483a61e5ccacc88d729c0ef887c2de6409fd387b0",
"totp": "444725"
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://easeapi.venturasecurities.com/login/v1/authorization/totp',
headers: {
'x-app-key': 'STVebvfVTcOpf4t5Adoy',
'x-client-id': 'AA0605',
'x-mac-address': '04:7b:cb:5b:be:92',
'Content-Type': 'application/json'
},
data : data
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Request parameters¶
Parameter |
Description |
---|---|
password |
This is your Ventura Pin. |
data |
This is SHA256(app_key + secret_key) in lower case. |
totp |
This is Authenticator TOTP of your account. |
Response¶
{
"client_id": "AA0605",
"auth_token": "eyJraWQiOiJmWTdRYVhEYlR6TGtwYXlzMWR1Qk1kTHViSzFHcWlhZnlGd1RQWFQ1V1dZPSIsImFsZyI6IlJTMjU2In0.eyJzdWIiOiI5NTg4MTg4Yy0yZWYxLTQ1MzktYWM0NC1kZmU1NzY4OGQyNTAiLCJpc3MiOiJodHRwczpcL1wvY29nbml0by1pZHAuYXAtc291dGgtMS5hbWF6b25hd3MuY29tXC9hcC1zb3V0aC0xX3Njc1VQdFM1QiIsImNsaWVudF9pZCI6IjUwdWVjOXJwN241cGVjaDliaDIxcTU3N3RjIiwib3JpZ2luX2p0aSI6Ijc1MTc2OWZkLTY1MzUtNDNhOC1hMmMzLWFmYTUwNzI2OWY1OSIsImV2ZW50X2lkIjoiZDA4ODE5NzQtNTE2OS00MGY0LWExOWItMDZmZDVkMTgxNGZkIiwidG9rZW5fdXNlIjoiYWNjZXNzIiwic2NvcGUiOiJhd3MuY29nbml0by5zaWduaW4udXNlci5hZG1pbiIsImF1dGhfdGltZSI6MTczNzQ0ODAxMSwiZXhwIjoxNzM3NTM0NDExLCJpYXQiOjE3Mzc0NDgwMTEsImp0aSI6IjZkODE4ZTFiLTk5OWQtNDgxZC1iNjUzLTAzMDUzNzE4NWExNCIsInVzZXJuYW1lIjoiYWEwNjA1In0.bWJWtsbttfKKIXfvo0DVW2TfRQ0o6tUnjdZl-Y5g3E6iZ1Bho_zyM0dnkXS1xZWjECjJ7_XILgJMdN2VoxmE8j1JPbAyOQSqasiKpuY48AsqNoYaHEcOpDOm1KhQA9urgDZET9VOzfTeIqOxmJicNSMVtKE38bPEzETR7zuwpm7M7PtS1TAS6KJj2EBYZ7BeOskTUiAMA5zOR4aDZOCf7Z_KLOZpO_JOrkjaQJHoNHHq2eZGZZlVQMDugrUtNtE62sywCFpcPy8N331KSE1ygUwtBjAI34-ZK0OFanrB3pzCochetrEd_X0FUTpIHQa3b-QfUh895_BZUILGzzDDVQ",
"auth_expiry": "2025-01-22 13:56:51",
"refresh_token": "eyJjdHkiOiJKV1QiLCJlbmMiOiJBMjU2R0NNIiwiYWxnIjoiUlNBLU9BRVAifQ.E8skEeee4ItGBG6pziqsxlcUJd1JTGSDMSNNU-BDxuycdishkqXsPPp5o9zDIa2bkWTZvqmWevBQx8oL5QHumTjivQogTz84cG7RdWSdql-BptL56sQm3ZgyGV1WTAc9_YOncPhi3oO_U0gMam2jDSHYqL70rstiEwMaKZ1PdK4afgwSpYFgWz1AwgNcpUbSlZ4DFwxViptfr4_87hmZCHxo1b0Mo3-64MzzKOh2YuUIOwhs1c7j5r3nPpelbEUjli75UttHE__4OyaMVfw6hXzGIAhBoWSXFGCsfzwJhq6_nwGBO7dIUiHAl_GlOypWs0x9DS-fm2pwYLic_6DhvA.iHjo6G6BB9RHRP5O.8FkvxTRLVphkdqeIhcgbuiWuV7XJLFl78bF9xP5AFMxvIgfSi1btGAnWwIv-ywq9G6CNE_Bur3o1nq3MSXdH3dPcqoB6Rw32p2elk8tiv2bdZNFTUucQCW-uy333p27h_xHiJu9B7cCqJ0oNFnhYGoJcTU-dSv5YMChIk05PErz3Gdo4g60S8Mxjc5eDgl-hEBwyt3o5zHyVK4KVTPV7Ulx-3WL5aMwjjV_IQMa9EGTV0UFgJ2o_e5HYFjB9Uc1WjsE0bG1iuqHIDRihtz-5N-PGnksvysFCdh6iue-c7B1CTQoBjbyzfnzF0xYTBv3jPaBfaH5UmsZ3SRcGNk3DwxP2Hff8FWITq9UnCf__ttQflavgFPCVNafTyBa76DzTKiGWoJ5r9HIGag2MmdnQ36VJ7pdDmd51Tq4X_Hx3z7zwKCCszmgIv01l3Okp2we4MYvu0wLXreDD07W19I4gZSFBQmX6VekSbyUrJruMAoqOg3aFybFn7oBv-vVBC6dNM4lnBtPeGfeEuZvlrHvflZghK5Hu--CfeKUU7Df6eqWSoGxB4k1xtnRZhNfb2180zAvdFvtOL95ofruFhB1MJULoNw_5jXJEGn2B8hM_dg0oRamjrB_DOzfOxjTM_qgYdihCUS_WuT47JRQl4izcZmp5SVRovmcBtnDm6ImaGzAKjdf-33W4hbE8KqQdb7UMqgHTMgkzTZw-UbMnXePAZjd4dD7pkpG_aTsaI81C56IV0Z6Xw7jJw16d4MLJe4K6sbBcHK0U8O4nN-gFymhruXnXhfNeSB2Dexy2UOoIIBdAPuL3fWPMjgz90XHssVmoyer1tjYpGpd7Yjra-wHaauPxQxIT6Lo_qiDws69UY3aFBVCIuWx4zZhFBoQSfEsUoCV_MTy9V9vJwKs8IlpYg5jJiLVg79zn_FazQltEhv3-zPSTeLTDaWVA31CX71ZDB0l6HoBokGm0wPmhwgCGSLLKWLkY3MUpf_yAp-V9SbKWpKXO4YBHUU8ZwCPmj5cghVNy3ZU1uYNqia2w_pFpe0rNizJ1lpKZ2bGrjuAFQBr54gyYVZxdZPUqq2kbliBYWBkZSdNWT90gA-S56JdUaOqW7mg-458cPts-ElaDoCXSc0p1K0LuPqwRp70R3sYw5x-zM-HVOsf80ZWsUGhV8VQYpx7XEcIPWADh75de_c9rl84Wjj133JgCVSQd3S4A7gO9Zw1Yo6RjSSRiqLjnRwwMLL1jQiG2eEM3NMI2QXI9L_ww-IjeCsqhw5DNsuGPOq85VCO4QA.3njLtw3O3GNdDwnN4MzXWg",
"refresh_expiry": "2025-01-24 13:56:51"
}