Login

Getting Started with Ventura EaseAPI

Ventura EaseAPI is designed for simplicity, enabling you to integrate Ventura's services into your applications with ease. Before you begin, you must register on the EaseAPI portal to obtain your app_key and app_secret, which are essential for authenticating your API requests. You can register by visiting the EaseAPI Portal at https://easeapi.venturasecurities.com/portal

Once you have your app_key and app_secret, you're ready to initiate the Ventura login flow. The following steps will guide you through the process:

Ventura Login


Step 1:
To begin the login process, send a request to the login URL, including your app_key. Optionally, you can include a state variable in this request. The state variable is a flexible parameter that you can use to pass any value you want, and it will be returned with the redirection URL after the login flow is completed. This can be useful for maintaining session information or tracking user interactions.

https://easeapi.venturasecurities.com/auth/v1/login?app_key=xxxxxx&state=xxxxx


Step 2:
After a Ventura client successfully logs in, they will be redirected to a specified URL. This redirection URL will contain two query parameters: the request_token and the state (if it was provided in Step 1). The request_token is a crucial component that you will need to proceed to the next step.

request_token will only be valid for 10 minutes.


Step 3:
With the request_token obtained from the redirect URL, you must now generate the auth_token and refresh_token for the Ventura client. To do this, make a request to the Authorization Token API, including your request_token and SHA256(app_key + secret_key) lower case as part of the request. This API is essential for exchanging the request_token for the necessary authentication tokens.

curl --location 'https://easeapi.venturasecurities.com/login/v1/authorization/token' \
--header 'x-app-key: 7LgeAMyKQgWL6ErlU1wm' \
--header 'Content-Type: application/json' \
--data '{
    "request_token": "uNYfFV9SsK",
    "data": "cc13cb8677d51eb143b5903622ec9f423f5fa6b1ea69e32d783f9cfcb6a742ac"
}'
import requests
import json

url = "https://easeapi.venturasecurities.com/login/v1/authorization/token"
payload = json.dumps({
    "request_token": "uNYfFV9SsK",
    "data": "cc13cb8677d51eb143b5903622ec9f423f5fa6b1ea69e32d783f9cfcb6a742ac"
})
headers = {
    'x-app-key': '7LgeAMyKQgWL6ErlU1wm',
    'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
    "request_token": "uNYfFV9SsK",
    "data": "cc13cb8677d51eb143b5903622ec9f423f5fa6b1ea69e32d783f9cfcb6a742ac"
});

let config = {
    method: 'post',
    maxBodyLength: Infinity,
    url: 'https://easeapi.venturasecurities.com/login/v1/authorization/token',
    headers: {
        'x-app-key': '7LgeAMyKQgWL6ErlU1wm',
        'Content-Type': 'application/json'
    },
    data : data
};

axios.request(config)
    .then((response) => {
        console.log(JSON.stringify(response.data));
    })
    .catch((error) => {
        console.log(error);
    });


Step 4:
Upon a successful request, the Authorization Token API will return a response containing the following key pieces of data:

{
  "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"
}

auth_token will only be valid for 24 hours.