Mobile to X Suite
Overview

The Mobile to X API suite is designed to make alternative data aggregation seamless by using a person’s mobile number to retrieve various important datasets.
This API enables seamless access to alternative data sources, providing vital information such as name, Udyam number, UPI VPA, and UAN linked to a mobile number.
By facilitating these data points, the Mobile to X APIs empower financial institutions to enhance customer onboarding, verification, and overall decision-making and underwriting processes for various financial instruments such as loans and insurance.
Key Features:
- Retrieve details like name, Udyam number, UPI VPA, and UAN.
- Built for use cases in finance, banking, and alternative data aggregation.
- Fast, reliable, and secure API integration for real-time data retrieval.
Insights into Use Cases
1. Financial Inclusion and Credit Scoring
Lenders can use Mobile to X to quickly verify business registration details (Udyam number) or UPI VPAs to assess financial credibility. This aids in credit risk analysis and onboarding of thin-file customers.
2. Customer Onboarding and Verification
Financial institutions can prefill names, Udyam numbers, or UAN details using the APIs, making customer onboarding seamless and reducing form abandonment rates.
3. KYC Simplification
Using mobile numbers to fetch verified data like UAN or Udyam streamlines KYC processes, reducing the time and cost associated with traditional document-based KYC.
4. Fraud Prevention
Banks and fintechs can use these APIs to verify whether a mobile number matches its corresponding data points, helping prevent fraud in applications or transactions.
This guide should give users a solid foundation to begin working with the Mobile to X APIs and explore their full potential in finance and banking use cases.
Automatic Salutation Removal
Mobile to Name, Mobile VPA (Basic) and Mobile to VPA (Advanced) APIs now do a salutation removal check, including Indian honorifics, so that all downstream APIs such as PAN Validation and Credit Report fetch have better success rates.
Mobile to Udyam API
Endpoint: /v2/financial_services/mobile_to_udyam
Sample Request Body
{
"reference_id": "XXXXXXXX",
"consent": true,
"purpose": "To verify user VPA/ Name",
"mobile": "XXXXXX"
}
Request Mapping Table
Key | Type | Meaning | Example |
---|---|---|---|
reference_id | String | Unique identifier for the transaction | "XX-wqdw-47d7-abe0-XXwege" |
consent | Boolean | User's consent for VPA verification | "true/false" |
purpose | String | Purpose of verification | To verify user VPA/ Name |
mobile | Integer | User's mobile number(10 digits) | "9999999999" |
Sample Response Body
{
"decentroTxnId": "XXXXXXXXXXXXX",
"status": "SUCCESS",
"responseCode": "S00000",
"message": "Udyam records retrieved Successfully",
"data": {
"result": [
{
"udyamNumber": "XXXXXXXX",
"udyamName": "XXXXXXXX",
"panLinkedToUdyam": "XXXXXXXXX"
}
]
},
"responseKey": "success_udyam_found"
}
Response Mapping Table
Key | Meaning | Example |
---|---|---|
decentroTxnId | Decentro Transaction ID | "D871D26379284A5FD4E550A2D8FE" |
status | Overall status of the verification | "SUCCESS" |
responseCode | Response code indicating the result | "S00000" |
message | Brief description of the status | "VPA fetched successfully" |
data | Detailed information about the verification | For the Mobile to Udyam API, this object will contain all the fields shown in the Data table |
responseKey | Unique identifier for the response type | "success_vpa_found" |
Mobile to Udyam Data Object Fields
Parameter Name | Description |
---|---|
data | A JSON object containing detailed information about the enterprise and its registration details. |
- udyamNumber | The unique Udyam registration number is assigned to the enterprise. |
- udyamName | The name of the enterprise. |
- panLinkedToUdyam | The PAN of the individual who represents the enterprise. |
Mobile to EPFO API
Endpoint
POST https://in.staging.decentro.tech/v2/bytes/mobile_to_epfo
Headers
Header | Description |
---|---|
client_id | Your assigned client identifier. |
client_secret | Your client's secret key for authentication. |
module_secret | The module secret key for the Bytes module. |
Content-Type | It should be set to application/json . |
Request Body
The request body should be in JSON format. Below is a breakdown of each field:
Field | Type | Description | Required |
---|---|---|---|
reference_id | string | A unique identifier for tracking the request (UUID format). | Yes |
consent | boolean | A flag indicating user consent for fetching UAN details. | Yes |
purpose | string | A short description of the request's purpose, e.g., "To fetch the user's UAN details." | Yes |
mobile | string | The mobile number associated with the UAN details to be fetched. | Yes |
Sample Request
curl --location 'https://in.staging.decentro.tech/v2/bytes/mobile_to_epfo' \
--header 'client_id: XXXXXX' \
--header 'client_secret: XXXXXX' \
--header 'module_secret: XXXXXXXXX' \
--header 'Content-Type: application/json' \
--data '{
"reference_id": "XXXXXXXXX",
"consent": true,
"purpose": "To fetch the user's UAN details",
"mobile": "XXXXXXXXXXXX"
}'
Sample Response
{
"decentroTxnId": "XXXXXXXXX",
"status": "SUCCESS",
"responseCode": "S00000",
"message": "EPFO Search by Mobile Success.",
"data": {
"uan": [
"101658327979"
],
"uanDetails": {
"101658327979": {
"memberId": "GNGGN19609610000010022",
"establishmentId": "GNGGN1960961000",
"dateOfExit": "2022-07-31",
"dateOfJoining": "2022-05-02",
"leaveReason": "",
"establishmentName": "SAMPLE ESTABLISHMENT NAME"
}
}
},
"responseKey": "success_epfo_details_fetched"
}
Response Fields
Key | Description |
---|---|
decentroTxnId | Unique transaction identifier generated by Decentro for this API call. |
status | Indicates the status of the API request, such as SUCCESS if the operation was successful. |
responseCode | A code representing the result of the API call. For example, S00000 usually signifies success. |
message | A human-readable message providing additional details about the API response. |
data | Contains the main data returned by the API, including details about the UAN and associated info. |
uan | An array containing one or more UANs associated with the provided mobile number. |
uanDetails | A nested object containing detailed information about each UAN. |
memberId | Unique identifier for the member within the EPFO system. |
establishmentId | Identifier for the establishment (employer) associated with the member. |
dateOfExit | The date when the member exited the establishment, if applicable (format: YYYY-MM-DD). |
dateOfJoining | The date when the member joined the establishment (format: YYYY-MM-DD). |
leaveReason | Reason for leaving the establishment; may be empty if not recorded. |
establishmentName | The name of the establishment (employer) associated with the UAN. |
responseKey | A predefined key indicating the type of response, e.g., success_epfo_details_fetched . |
Mobile to Address API
Endpoint: /v2/bytes/mobile_to_address
Overview
The Mobile to Address API is designed to retrieve address information associated with a mobile number, eliminating the need for manual address entry in checkout flows and significantly reducing friction in payment and onboarding processes.
This API enables businesses to instantly fetch verified address details based on a customer's mobile number, streamlining customer experiences while ensuring accurate delivery information for e-commerce platforms, payment gateways, and financial services.
Sample Request Body
{
"reference_id": "XXXXXXXX",
"consent": true,
"purpose": "To fetch user address for checkout",
"mobile": "XXXXXXXXXX"
}
Request Mapping Table
Key | Type | Meaning | Example |
---|---|---|---|
reference_id | String | Unique identifier for the transaction | "XX-wqdw-47d7-abe0-XXwege" |
consent | Boolean | User's consent for address retrieval | "true/false" |
purpose | String | Purpose of address retrieval | "To fetch user address for checkout" |
mobile | String | User's mobile number (10 digits) | "9999999999" |
Sample Response Body
{
"decentroTxnId": "XXXXXXXXX",
"status": "SUCCESS",
"responseCode": "S00000",
"message": "Successfully fetched Address data for the given Mobile Number.",
"data": {
"addresses": [
{
"id": "65f167110d40e63e1d060ee0",
"addressLine1": "Door no, ABC road",
"addressLine2": "locality",
"email": "[email protected]",
"firstName": "ABCD",
"lastName": "EFGH",
"city": "West Delhi",
"state": "Delhi",
"pincode": "110018",
"country": "India",
"countryCode": "IN",
"stateCode": "DL",
"isdCode": "+91",
"isPrimary": true,
"lastDeliveryAt": "",
"lat": "67.2",
"long": "37.4"
}
]
},
"responseKey": "success_mobile_to_address_fetch"
}
Response Mapping Table
Key | Meaning | Example |
---|---|---|
decentroTxnId | Decentro Transaction ID | "D871D26379284A5FD4E550A2D8FE" |
status | Overall status of the verification | "SUCCESS" |
responseCode | Response code indicating the result | "S00000" |
message | Brief description of the status | "Successfully fetched Address data for the given Mobile Number." |
data | Detailed information about the addresses | Contains the array of addresses associated with the mobile |
responseKey | Unique identifier for the response type | "success_mobile_to_address_fetch" |
Mobile to Address Data Object Fields
Parameter Name | Description |
---|---|
data.addresses | An array containing one or more address objects associated with the mobile number. |
- id | Unique identifier for the address record. |
- addressLine1 | First line of the address (house/building number, street). |
- addressLine2 | Second line of the address (apartment, suite, etc.). |
- email | Email address associated with this address record. |
- firstName | First name of the person associated with this address. |
- lastName | Last name of the person associated with this address. |
- city | City or town of the address. |
- state | State or province of the address. |
- pincode | Postal code/PIN code of the address. |
- country | Country name. |
- countryCode | Two-letter country code (ISO 3166-1 alpha-2). |
- stateCode | Two-letter state code. |
- isdCode | International dialing code (with '+' prefix). |
- isPrimary | Boolean indicating if this is the user's primary address. |
- lastDeliveryAt | Timestamp of the last successful delivery to this address (if available). |
- lat | Latitude coordinate of the address. |
- long | Longitude coordinate of the address. |
Response Codes
Response Key | Message | HTTP Status |
---|---|---|
success_mobile_to_address_fetch | Successfully fetched Address data for the given Mobile Number. | 200 |
error_no_address_found | Unfortunately, we were not able to retrieve any address for the provided Mobile number. | 404 |
error_invalid_mobile | The mobile number provided is invalid. Please enter a valid mobile number. | 400 |
error_decentro_error | Internal server error occurred. Please try again later. | 500 |
error_provider_error | Service provider error. Please try again later. | 422 |
Detailed Use Cases
1. Frictionless Checkout Experience
E-commerce platforms and payment gateways can leverage this API to eliminate the need for customers to manually enter their shipping address during checkout. After mobile number verification, the API can pre-fill address fields, significantly reducing cart abandonment rates and checkout time.
Benefits:
- Reduces checkout time by up to 60%
- Decreases form abandonment rates
- Improves conversion rates
- Ensures accurate delivery information
2. Address Verification for Financial Services
Banks, NBFCs, and fintech companies can use this API to verify customer-provided addresses against system-retrieved addresses, enhancing fraud detection capabilities and simplifying KYC processes.
Benefits:
- Automates address verification
- Reduces manual verification overhead
- Enhances fraud prevention mechanisms
- Strengthens compliance procedures
3. Streamlined Loan Application Processing
Lenders can use the Mobile to Address API to auto-populate loan application forms, reducing manual entry errors and accelerating the application process. This provides a significant advantage in competitive lending markets where speed and convenience are paramount.
Benefits:
- Reduces application processing time
- Minimizes data entry errors
- Improves customer experience
- Increases application completion rates
4. Enhanced Delivery Management
Logistics and delivery companies can utilize address data linked to mobile numbers to optimize route planning, confirm delivery points, and reduce failed deliveries due to incorrect address information.
Benefits:
- Reduces failed delivery attempts
- Improves delivery efficiency
- Enhances customer satisfaction
- Optimizes delivery route planning
5. Targeted Location-Based Marketing
Marketers can use geographical data from the API to create targeted, location-specific campaigns and offers based on the customer's verified address, improving marketing ROI.
Benefits:
- Enables geo-targeted campaigns
- Improves marketing relevance
- Increases campaign effectiveness
- Enhances customer engagement
6. Insurance Policy Issuance
Insurance providers can use the API to verify address information for policy issuance, ensuring accurate risk assessment based on location and streamlining the application process.
Benefits:
- Accelerates policy issuance
- Ensures accurate risk assessment
- Reduces manual verification costs
- Improves customer onboarding experience
7. Travel and Hospitality Check-ins
Travel companies and hotels can use the API to simplify the check-in process by retrieving guest address information, reducing check-in times and improving the guest experience.
Benefits:
- Streamlines check-in processes
- Reduces administrative overhead
- Enhances guest satisfaction
- Ensures compliance with registration requirements
8. Telecom Service Activation
Telecom operators can leverage the API to verify and retrieve customer address information when activating new services or SIM cards, ensuring compliance with KYC requirements.
Benefits:
- Simplifies customer verification
- Accelerates service activation
- Reduces fraudulent registrations
- Improves regulatory compliance
Implementation Best Practices
1. Obtain Explicit User Consent
Always obtain and document explicit user consent before retrieving their address information. The consent
parameter in the API request should be set to true
only after proper consent is obtained.
2. Securely Store Address Data
Implement proper security measures when storing retrieved address data, ensuring compliance with data protection regulations like GDPR, PDPB, etc.
3. Implement Fallback Mechanisms
Design your implementation to gracefully handle scenarios where address information is not available for a given mobile number.
4. Maintain Data Freshness
Periodically refresh stored address data to ensure accuracy, as users may change their addresses over time.
5. Optimize for Mobile Experiences
When implementing on mobile applications, ensure the UI is optimized to display and allow editing of pre-filled address information.
Integration Examples
Checkout Flow Integration Example
// Example code for integrating Mobile to Address API in a checkout flow
async function prefillAddressFields(mobileNumber) {
try {
const response = await fetch('https://in.decentro.tech/v2/bytes/mobile_to_address', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'client_id': 'YOUR_CLIENT_ID',
'client_secret': 'YOUR_CLIENT_SECRET',
'module_secret': 'YOUR_MODULE_SECRET'
},
body: JSON.stringify({
reference_id: generateUniqueId(),
consent: true,
purpose: 'To prefill checkout address',
mobile: mobileNumber
})
});
const data = await response.json();
if (data.responseKey === 'success_mobile_to_address_fetch') {
const primaryAddress = data.data.addresses.find(addr => addr.isPrimary) || data.data.addresses[0];
// Prefill form fields
document.getElementById('addressLine1').value = primaryAddress.addressLine1;
document.getElementById('addressLine2').value = primaryAddress.addressLine2;
document.getElementById('city').value = primaryAddress.city;
document.getElementById('state').value = primaryAddress.state;
document.getElementById('pincode').value = primaryAddress.pincode;
return true;
} else {
console.log('No address found for this mobile number');
return false;
}
} catch (error) {
console.error('Error fetching address:', error);
return false;
}
}
function generateUniqueId() {
return 'ref-' + Date.now() + '-' + Math.random().toString(36).substring(2, 9);
}
Updated 17 days ago