Check Profile
Check if a user is registered with Account Aggregators and has linked financial accounts
Overview
The Profile Check API allows you to verify whether a user (identified by mobile number) is registered with various Account Aggregators (AAs) and whether they have linked financial accounts. This API aggregates data from multiple AAs into a unified response, enabling you to make informed decisions about user onboarding flows.Key Features
- Multi-AA Aggregation: Checks registration status across all enabled Account Aggregators in a single API call
- Parallel Execution: Requests are sent to all AAs simultaneously for optimal performance
- Selective AA Querying: Optionally filter to check only specific AAs
- Unified Response Format: Consistent response structure regardless of underlying AA response formats
Use Cases
- Smart User Onboarding: Determine which AAs a user is registered with to guide them to the appropriate consent flow
- AA Selection Guidance: Help users choose an AA where they already have an account for faster onboarding
- Pre-consent Validation: Verify user readiness before initiating consent requests
Authentication
This API requires the following authentication headers with every request:| Header | Type | Required | Description |
|---|---|---|---|
client_id | string | Yes | API key issued to your organisation for authentication |
client_secret | string | Yes | Secret API key for secure server-side authentication |
organisationId | string | Yes | Unique identifier assigned to your organisation |
appIdentifier | string | Yes | Unique identifier for your client application |
Content-Type | string | Yes | Must be set to application/json |
Request Body
9876543210Validation: Must be exactly 10 numeric digitsconsent-uuid-12345["onemoney", "finvu"]Note: AA identifiers should be provided without the @ symbolResponse
Success Response
"1.0.0""2025-11-25T10:30:00.000Z""550e8400-e29b-41d4-a716-446655440000"@ symbol).Example: "onemoney"true: User has a Virtual User Account (VUA) with this AAfalse: User is not registered with this AAnull: Unable to determine (check failed or timed out)
true: User has linked one or more financial accountsfalse: User has not linked any accounts (or is not registered)null: Unable to determine (check failed or timed out)
success: AA responded successfully with profile informationtimeout: AA did not respond within the configured timeout periodfailed: An error occurred during the check (seeerrorMessage)
status is failed. Not present for successful or timed out requests.Example Requests
Check All AAs
Query all enabled Account Aggregators for the user’s profile status:Check Specific AAs
Query only specific Account Aggregators:Example Responses
Successful Multi-AA Response
Response Interpretation
| AA | registrationStatus | hasLinkedAccounts | Interpretation |
|---|---|---|---|
| onemoney | true | true | User is registered and has linked accounts - can proceed directly to consent |
| finvu | false | false | User not registered - needs to complete AA registration first |
| anumati | null | null | Unable to determine - AA did not respond in time |
Error Response
When the API request fails at the FinPro level (before reaching AAs):Common Error Scenarios
| Error | Cause | Resolution |
|---|---|---|
| Missing mobileNumber | mobileNumber field not provided | Include required field in request body |
| Invalid mobile format | Mobile number is not 10 numeric digits | Validate format before API call |
| Missing userConsentId | userConsentId field not provided | Include required field in request body |
| Authentication failed | Invalid or missing auth headers | Verify credentials in admin portal |
| No active AAs found | No AAs have profile API enabled | Contact support to enable AAs |
Use Cases
Smart AA Selection
Use the profile check results to intelligently guide users:Pre-consent Validation
Before initiating a consent request, verify the user is ready:Usage Notes
Performance Considerations
- Parallel Execution: All AA requests are executed in parallel using
Promise.allSettled(), so the total response time is approximately equal to the slowest AA response (up to the timeout limit) - Timeouts: Each AA has a configurable timeout (typically 4-6 seconds). AAs that don’t respond within their timeout will return
status: "timeout" - Caching: Consider caching results for a short duration (e.g., 5-15 minutes) as registration status doesn’t change frequently
Best Practices
- Always Handle All Status Values: Your application should gracefully handle
success,timeout, andfailedstatuses - Don’t Block on Timeouts: If some AAs timeout, you can still use the successful results to guide the user
- Provide Fallback Options: If all AAs fail or timeout, provide a default flow that allows users to proceed
- Mobile Number Validation: Validate the mobile number format client-side before calling the API
- Selective Querying: If you already know which AA the user prefers, use the
aaIdfilter to reduce unnecessary requests
Privacy Considerations
- This API only returns registration status information
- No personal data or financial information is exposed
- Mobile numbers are used only for lookup purposes
Rate Limiting
This API is subject to rate limiting:| Metric | Value |
|---|---|
| Limit | 1000 requests per time window |
| Remaining | Returned in X-RateLimit-Remaining header |
| Reset | Returned in X-RateLimit-Reset header |
Related APIs
- AA List - Get the list of integrated Account Aggregators
- FIP Health - Check FIP health metrics across AAs
- Consent Request V4 - Create consent requests after profile validation
- Web Redirection Encryption - Generate AA redirect URLs for registration/consent flows
Authorizations
Your unique client identifier provided by MoneyOne during FIU onboarding
Your confidential client secret provided by MoneyOne
Your organization's unique identifier in the FinPro system
Application-specific identifier for tracking API calls
Body
Request body for checking user profile status across Account Aggregators.
The user's 10-digit mobile phone number to check against Account Aggregator databases. Format: 10 digits, numeric only, without country code prefix.
^[0-9]{10}$A unique consent identifier to be passed to AA calls. This is used by some AAs to track the profile check request.
1 - 100Optional array of AA identifiers to filter the check to specific Account Aggregators. If not provided, all enabled AAs are checked. AA identifiers should be provided without the @ symbol.
2 - 50Response
Profile check completed successfully
Response containing profile check results from multiple Account Aggregators.
