MFC Connect

2 endpoints · WealthSync API

POST

/pfm/api/v2/mutual-fund/mfc/consent-request

#

Get redirection url to give MFC consent via QR code.

docs.signcare.io/wealthsync/api/mfc-connect/#post-pfm-api-v2-mutual-fund-mfc-consent-request

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-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • uniqueIdentifier
    stringrequired
    Required. 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
  • pan
    stringrequired
    Required. 10-character PAN of the customer in the format AAAAA9999A.
    minLength 1default ABCDE1234F
  • mobileNumber
    stringoptional
    Optional. 10-digit mobile number to use for the MFC request. When omitted, the mobile number given in the /user-subscriptions API is used.
    nullable
  • redirectUrl
    stringrequired
    Required. Full URL where the user is redirected after QR verification.
    minLength 1default https://example.com/mfc-done
Sample request body
{ "uniqueIdentifier": "user-12345", "pan": "ABCDE1234F", "redirectUrl": "https://example.com/mfc-done" }

Responses

200OK
  • clientReferenceId
    stringoptional
    No description.
    nullable
  • redirectUrl
    stringoptional
    No description.
    nullable
Example
{ "clientReferenceId": "string", "redirectUrl": "string" }
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/pfm/api/v2/mutual-fund/mfc/consent-request' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "pan": "ABCDE1234F", "redirectUrl": "https://example.com/mfc-done" }'
POST

/pfm/api/v2/mutual-fund/mfc/consent-approve

#

Validate MFC QR code to fetch MFC data.

docs.signcare.io/wealthsync/api/mfc-connect/#post-pfm-api-v2-mutual-fund-mfc-consent-approve

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-KEY
    stringrequired
    Your secret API key for the environment you are calling (Stage and Live use different keys).
  • X-API-APP-ID
    stringrequired
    The App ID issued together with the key.
  • Content-Type
    stringrequired
    application/json

Body parameters

application/json
  • uniqueIdentifier
    stringrequired
    Required. 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
  • clientReferenceId
    stringrequired
    Required. The clientReferenceId returned by POST mutual-fund/mfc/consent-request.
    minLength 1
  • base64QRCode
    stringrequired
    Required. The downloaded QR code image, encoded as a Base64 string.
    minLength 1
  • mobileNumber
    stringconditional
    Conditional: 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
{ "uniqueIdentifier": "user-12345", "clientReferenceId": "string", "base64QRCode": "string" }

Responses

200OK
Example
"string"
400Bad Request
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 400
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 400 }
401Unauthorized
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 401
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 401 }
500Internal Server Error
  • data
    objectoptional
    No description.
  • messages
    array<string>optional
    No description.
    nullable
  • request_id
    stringoptional
    No description.
    nullable
  • success
    booleanoptional
    No description.
    default false
  • message
    stringoptional
    No description.
    nullabledefault XXXXX
  • isBillable
    booleanoptional
    No description.
  • statusCode
    integer (int32)optional
    No description.
    default 500
Example
{ "data": {}, "messages": [ "string" ], "request_id": "string", "success": false, "message": "XXXXX", "isBillable": false, "statusCode": 500 }
Code samplescurl · Node.js · Python
Stage: uat-ext.signcare.io
curl -X POST 'https://uat-ext.signcare.io/pfm/api/v2/mutual-fund/mfc/consent-approve' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "clientReferenceId": "string", "base64QRCode": "string" }'