GETGet Sender Profile
Fetch the DMT-Levin profile of a sender by mobile number, including monthly, used and remaining limits.
https://staging.eko.in/ekoapi/v3 return an error response. Test it in Production.The first step in the DMT Levin flow. Call this to check whether the sender exists on the platform. For an existing sender (response_type_id 309) the response returns their monthly limit, used amount and remaining limit. For a new sender (response_type_id 2136) it returns an otp_ref_id — proceed to Validate Aadhaar & Generate OTP to create the sender before using other services.
Request
Path parameters
| Field | Type | Required | Description |
|---|---|---|---|
customer_id | string | required | Sender's 10-digit mobile number.e.g. 9999999999 |
customer_idstringRequiredSender's 10-digit mobile number.
example: 9999999999
Query parameters
| Field | Type | Required | Description |
|---|---|---|---|
initiator_id | string | required | Registered mobile number of the API user (see Platform Credentials).e.g. 9962981729 |
client_ref_id | string | optional | Unique reference ID per API call, generated by your system (10–20 characters; 10 recommended). The SDKs generate one for every non-GET call when you don't.e.g. 2026010100123456789 |
user_code | string | required | Agent user code (sent as a query parameter).e.g. 20180020 |
initiator_idstringRequiredRegistered mobile number of the API user (see Platform Credentials).
example: 9962981729
client_ref_idstringoptionalUnique reference ID per API call, generated by your system (10–20 characters; 10 recommended). The SDKs generate one for every non-GET call when you don't.
example: 2026010100123456789
user_codestringRequiredAgent user code (sent as a query parameter).
example: 20180020
These headers authenticate and sign every request. See How Auth Works for details.
| Field | Type | Required | Description |
|---|---|---|---|
developer_key | string | required | Static API key issued to your account after KYC. |
secret-key | string | required | Dynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))). |
secret-key-timestamp | string | required | Current time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time. |
content-type | string | required | application/jsone.g. application/json |
developer_keystringRequiredStatic API key issued to your account after KYC.
secret-keystringRequiredDynamic per-request signature: base64(HMAC-SHA256(timestamp, base64(access_key))).
secret-key-timestampstringRequiredCurrent time in milliseconds since UNIX epoch, used to compute secret-key. Must match server time.
content-typestringRequiredapplication/json
example: application/json
Response types
| response_type_id | Meaning | Next step |
|---|---|---|
309 | Sender found | Get Recipients |
2136 | Sender not found, Aadhaar validation pending | Validate Aadhaar & Generate OTP |
Responses
309Sender foundNext:Get Recipients
statusnumberPrimary success indicator (0 = success).
messagestringHuman-readable response / error message.
response_status_idnumberUI display hint only (-1/0 success, 1 failure, 2 initiated, 3 refund initiated, 4 refunded). Never branch on it — use `status` (and `tx_status` for financial APIs), or `response_type_id` where documented.
response_type_idnumberA unique id for every possible response shape (success or error) — useful for client logic branching and analytics.
dataobjectAPI-specific response payload.
is_registerednumberRegistration flag from the profile lookup. Read customer_profile.kyc_state to determine KYC completion.
next_allowed_limitnumberRemaining remittance limit currently available (INR).
kyc_statenumberTop-level KYC flag for the lookup response.
customer_profileobjectSender profile summary.
namestringSender name (null until set).
mobilestringSender's mobile number.
balancestringSender wallet balance (INR).
total_monthly_limitstringSender's monthly remittance limit (INR).
next_allowed_limitstringRemaining limit currently available (INR).
kyc_statenumberSender KYC state (1 = KYC complete on the profile).
chartarrayPer-period limit-usage breakdown.
data_type_idnumberIdentifier for the limit period/bucket.
dataobjectLimit usage for the period.
unavailablenumberAmount blocked/unavailable (INR).
usednumberAmount already used (INR).
remainingnumberRemaining limit for the period (INR).
labelstringDisplay label for the period.