MFC Connect
2 endpoints · WealthSync API
Get redirection url to give MFC consent via QR code.
This API initiates the MFC (Mutual Fund Central) consent flow. It returns a clientReferenceId and a redirectUrl where the user can scan a QR code to approve sharing their MFC mutual fund data.
After the user scans and approves, call the MFC consent-approve API with the clientReferenceId.
Request Body Parameters:
→ uniqueIdentifier (required): The primary identifier added at the time of subscription. It must be the exact same value used during the initial subscription and MUST never change for this user.
→ pan (required): The user's 10-character PAN in the format AAAAA9999A.
→ mobileNumber (optional): The user's 10-digit mobile number to be used for the MFC request. When not provided, the mobile number given in the /user-subscriptions API is used.
→ redirectUrl (required): Full URL where the user will be redirected after QR verification, for example "https://example.com/mfc-done".
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- uniqueIdentifierstringrequiredRequired. Your identifier for the user, exactly as sent when the user was subscribed. Never changes for a user. Non-empty string.minLength 1default user-12345
- panstringrequiredRequired. 10-character PAN of the customer in the format AAAAA9999A.minLength 1default ABCDE1234F
- mobileNumberstringoptionalOptional. 10-digit mobile number to use for the MFC request. When omitted, the mobile number given in the /user-subscriptions API is used.nullable
- redirectUrlstringrequiredRequired. Full URL where the user is redirected after QR verification.minLength 1default https://example.com/mfc-done
Sample request body
Responses
200OK
- clientReferenceIdstringoptionalNo description.nullable
- redirectUrlstringoptionalNo description.nullable
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500
Code samplescurl · Node.js · Python
Validate MFC QR code to fetch MFC data.
This API validates the MFC QR code approval and triggers the data fetch from MFC. Call this after the user has scanned and approved the QR code from the MFC consent-request API.
Prerequisites:
→ First call POST mutual-fund/mfc/consent-request to get the clientReferenceId.
→ User scans the QR code and approves.
→ Call this API with the clientReferenceId and base64-encoded QR code.
Request Body Parameters:
→ uniqueIdentifier (required): The primary identifier added at the time of subscription. It must be the exact same value used during the initial subscription and MUST never change for this user.
→ clientReferenceId (required): The reference ID obtained from POST mutual-fund/mfc/consent-request response.
→ base64QRCode (required): The downloaded QR code image, encoded as a Base64 string.
→ mobileNumber (conditional): The user's 10-digit mobile number. Required only if you sent a mobileNumber in POST mutual-fund/mfc/consent-request; send the same number here.
Headers
- X-API-KEYstringrequiredYour secret API key for the environment you are calling (Stage and Live use different keys).
- X-API-APP-IDstringrequiredThe App ID issued together with the key.
- Content-Typestringrequiredapplication/json
Body parameters
application/json- uniqueIdentifierstringrequiredRequired. Your identifier for the user, exactly as sent when the user was subscribed. Never changes for a user. Non-empty string.minLength 1default user-12345
- clientReferenceIdstringrequiredRequired. The clientReferenceId returned by POST mutual-fund/mfc/consent-request.minLength 1
- base64QRCodestringrequiredRequired. The downloaded QR code image, encoded as a Base64 string.minLength 1
- mobileNumberstringconditionalConditional: required when you sent a mobileNumber in POST mutual-fund/mfc/consent-request. Send the same 10-digit mobile number here.nullable
Sample request body
Responses
200OK
400Bad Request
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 400
401Unauthorized
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 401
500Internal Server Error
- dataobjectoptionalNo description.
- messagesarray<string>optionalNo description.nullable
- request_idstringoptionalNo description.nullable
- successbooleanoptionalNo description.default false
- messagestringoptionalNo description.nullabledefault XXXXX
- isBillablebooleanoptionalNo description.
- statusCodeinteger (int32)optionalNo description.default 500