Onboarding
Onboarding is handled by the HashDT team and is subject to the required verification process before banking services can be accessed. Once onboarding is completed, the user's profile and required identifiers are established and can be retrieved through the User Details API for subsequent account and transaction operations.
💡 Want to get onboarded? Contact HashDT Support to initiate the onboarding and verification process.
User Details
Retrieves user details using the user's email address.
{{baseUrl}}/hashdt/banking/api/v1/users
Description
This API is used to retrieve a user's profile and account information, including userId, companyCode, email, name, business name, entity type, country, KYC status, account status, and timestamps.
📩 Request Headers
x-api-key string required
x-product-id string required
x-request-id string required
Content-Type string required
application/json🔍 Query Parameters
email string required
- 🧩 Examples
Request Example
- cURL
- Python
- Java
- NodeJs
curl --location --request GET \
--url '{{baseUrl}}/hashdt/banking/api/v1/users?email={{EmailID}}' \
--header 'x-api-key: {{Shared X-API key}}' \
--header 'x-product-id: {{Shared ProductID}}' \
--header 'x-request-id: {{IdempotencyKey}}' \
--header 'Content-Type: application/json'
import requests
import json
url = "{{baseUrl}}/hashdt/banking/api/v1/users?email={{EmailID}}"
payload = {}
headers = {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json'
}
response = requests.request("GET", url, headers=headers, data=payload)
print(response.text)
OkHttpClient client = new OkHttpClient().newBuilder()
.build();
MediaType mediaType = MediaType.parse("application/json");
RequestBody body = RequestBody.create(mediaType, "");
Request request = new Request.Builder()
.url("{{baseUrl}}/hashdt/banking/api/v1/users?email={{EmailID}}")
.method("GET", body)
.addHeader("x-api-key", "{{Shared X-API key}}")
.addHeader("x-product-id", "{{Shared ProductID}}")
.addHeader("x-request-id", "{{IdempotencyKey}}")
.addHeader("Content-Type", "application/json")
.build();
Response response = client.newCall(request).execute();
const axios = require('axios');
let config = {
method: 'get',
maxBodyLength: Infinity,
url: '{{baseUrl}}/hashdt/banking/api/v1/users?email={{EmailID}}',
headers: {
'x-api-key': '{{Shared X-API key}}',
'x-product-id': '{{Shared ProductID}}',
'x-request-id': '{{IdempotencyKey}}',
'Content-Type': 'application/json'
}
};
axios.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Example
- 200
- 400
{
"code": 200,
"status": "SUCCESS",
"message": "Success",
"data": {
"userId": "user_12345",
"companyCode": "company-code",
"email": "demo@yopmail.com",
"name": "John Doe",
"businessName": "Demo Academy",
"entityType": "COMPANY",
"country": "SG",
"kycStatus": "APPROVED",
"status": "ACTIVE",
"createdAt": "2026-08-06T11:24:31Z",
"updatedAt": "2026-08-06T11:39:30Z"
}
}
{
"code": 400,
"status": "error",
"message": "Error Message"
}