NPS Insights

2 endpoints · WealthSync API

POST

/pfm/api/v2/nps/user-linked-accounts

#

Get user linked accounts for NPS.

docs.signcare.io/wealthsync/api/nps-insights/#post-pfm-api-v2-nps-user-linked-accounts

This API returns all linked NPS (National Pension System) accounts for a user, grouped by FIP. Each linked account includes PRAN ID, holder info (name, DOB, PAN, email, mobile), consent status, and current account value.

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.

→ filterZeroValueAccounts (optional): String value "true" to exclude accounts with zero balance. Send it as a string ("true" or "false"), not a JSON boolean. Default: "false".

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
  • filterZeroValueAccounts
    stringoptional
    Optional. Send the string "true" to exclude accounts with zero current value. Default: "false".
    nullable
Sample request body
{ "uniqueIdentifier": "user-12345" }

Responses

200OK
  • totalFiData
    integer (int32)optional
    No description.
    nullable
  • totalFiDataToBeFetched
    integer (int32)optional
    No description.
    nullable
  • fipData
    array<object>optional
    No description.
    nullable
    Each item: 6 fields
    • fipId
      stringoptional
      No description.
      nullable
    • fipName
      stringoptional
      No description.
      nullable
    • totalFiData
      integer (int32)optional
      No description.
      nullable
    • totalFiDataToBeFetched
      integer (int32)optional
      No description.
      nullable
    • linkedAccounts
      array<object>optional
      No description.
      nullable
      Each item: 23 fields
      • fiDataId
        stringoptional
        No description.
        nullable
      • accountRefNumber
        stringoptional
        No description.
        nullable
      • dataFetched
        stringoptional
        No description.
        nullable
      • lastFetchDateTime
        string (date-time)optional
        No description.
        nullable
      • fiRequestCountOfCurrentMonth
        integer (int32)optional
        No description.
        nullable
      • fipId
        stringoptional
        No description.
        nullable
      • fipName
        stringoptional
        No description.
        nullable
      • latestConsentPurposeText
        stringoptional
        No description.
        nullable
      • latestConsentExpiryTime
        string (date-time)optional
        No description.
        nullable
      • consentPurposeVersion
        stringoptional
        No description.
        nullable
      • maskedPranId
        stringoptional
        No description.
        nullable
      • linkedAccountType
        stringoptional
        No description.
        nullable
      • holderName
        stringoptional
        No description.
        nullable
      • holderDob
        string (date-time)optional
        No description.
        nullable
      • holderMobile
        stringoptional
        No description.
        nullable
      • holderNominee
        stringoptional
        No description.
        nullable
      • holderPranId
        integer (int64)optional
        No description.
        nullable
      • holderLandline
        stringoptional
        No description.
        nullable
      • holderAddress
        stringoptional
        No description.
        nullable
      • holderEmail
        stringoptional
        No description.
        nullable
      • holderPan
        stringoptional
        No description.
        nullable
      • holderCkycCompliance
        stringoptional
        No description.
        nullable
      • accountCurrentValue
        number (double)optional
        No description.
        nullable
    • currentValue
      number (double)optional
      No description.
      nullable
  • currentValue
    number (double)optional
    No description.
    nullable
Example
{ "totalFiData": 0, "totalFiDataToBeFetched": 0, "fipData": [ { "fipId": "string", "fipName": "string", "totalFiData": 0, "totalFiDataToBeFetched": 0, "linkedAccounts": [ { "fiDataId": "string", "accountRefNumber": "string", "dataFetched": "string", "lastFetchDateTime": "2026-01-01T00:00:00Z", "fiRequestCountOfCurrentMonth": 0, "fipId": "string", "fipName": "string", "latestConsentPurposeText": "string", "latestConsentExpiryTime": "2026-01-01T00:00:00Z", "consentPurposeVersion": "string", "maskedPranId": "string", "linkedAccountType": "string", "holderName": "string", "holderDob": "2026-01-01T00:00:00Z", "holderMobile": "string", "holderNominee": "string", "holderPranId": 0, "holderLandline": "string", "holderAddress": "string", "holderEmail": "string", "holderPan": "string", "holderCkycCompliance": "string", "accountCurrentValue": 0 } ], "currentValue": 0 } ], "currentValue": 0 }
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/nps/user-linked-accounts' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345" }'
POST

/pfm/api/v2/nps/insights

#

Get NPS (National Pension System) insights.

docs.signcare.io/wealthsync/api/nps-insights/#post-pfm-api-v2-nps-insights

This API returns NPS portfolio insights including current value, total number of schemes, daily returns, account status, KYC compliance, nominee registration, and scheme preference type. The response includes Tier 1 and Tier 2 breakdowns, each with per-scheme holdings showing scheme name, NAV, total units, allocation percentage, blocked/free units, and daily returns.

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.

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
Sample request body
{ "uniqueIdentifier": "user-12345" }

Responses

200OK
  • currentValue
    number (double)optional
    No description.
    nullable
  • totalNumberOfSchemes
    integer (int32)optional
    No description.
    nullable
  • dailyReturns
    number (double)optional
    No description.
    nullable
  • dailyReturnsPercentage
    number (double)optional
    No description.
    nullable
  • accountStatus
    stringoptional
    No description.
    nullable
  • kycCompliance
    stringoptional
    No description.
    nullable
  • nomineeRegistered
    stringoptional
    No description.
    nullable
  • schemePreferenceType
    stringoptional
    No description.
    nullable
  • tier1
    objectoptional
    No description.
    7 fields
    • currentValue
      number (double)optional
      No description.
      nullable
    • totalNumberOfSchemes
      integer (int32)optional
      No description.
      nullable
    • dailyReturns
      number (double)optional
      No description.
      nullable
    • dailyReturnsPercentage
      number (double)optional
      No description.
      nullable
    • accountStatus
      stringoptional
      No description.
      nullable
    • schemePreferenceType
      stringoptional
      No description.
      nullable
    • holdings
      array<object>optional
      No description.
      nullable
      Each item: 10 fields
      • schemeName
        stringoptional
        No description.
        nullable
      • schemeId
        stringoptional
        No description.
        nullable
      • nav
        number (double)optional
        No description.
        nullable
      • totalUnits
        number (double)optional
        No description.
        nullable
      • totalValueOfScheme
        number (double)optional
        No description.
        nullable
      • allocationPercentage
        number (double)optional
        No description.
        nullable
      • blockedUnits
        number (double)optional
        No description.
        nullable
      • freeUnits
        number (double)optional
        No description.
        nullable
      • dailyReturns
        number (double)optional
        No description.
        nullable
      • dailyReturnsPercentage
        number (double)optional
        No description.
        nullable
  • tier2
    objectoptional
    No description.
    7 fields
    • currentValue
      number (double)optional
      No description.
      nullable
    • totalNumberOfSchemes
      integer (int32)optional
      No description.
      nullable
    • dailyReturns
      number (double)optional
      No description.
      nullable
    • dailyReturnsPercentage
      number (double)optional
      No description.
      nullable
    • accountStatus
      stringoptional
      No description.
      nullable
    • schemePreferenceType
      stringoptional
      No description.
      nullable
    • holdings
      array<object>optional
      No description.
      nullable
      Each item: 10 fields
      • schemeName
        stringoptional
        No description.
        nullable
      • schemeId
        stringoptional
        No description.
        nullable
      • nav
        number (double)optional
        No description.
        nullable
      • totalUnits
        number (double)optional
        No description.
        nullable
      • totalValueOfScheme
        number (double)optional
        No description.
        nullable
      • allocationPercentage
        number (double)optional
        No description.
        nullable
      • blockedUnits
        number (double)optional
        No description.
        nullable
      • freeUnits
        number (double)optional
        No description.
        nullable
      • dailyReturns
        number (double)optional
        No description.
        nullable
      • dailyReturnsPercentage
        number (double)optional
        No description.
        nullable
Example
{ "currentValue": 0, "totalNumberOfSchemes": 0, "dailyReturns": 0, "dailyReturnsPercentage": 0, "accountStatus": "string", "kycCompliance": "string", "nomineeRegistered": "string", "schemePreferenceType": "string", "tier1": { "currentValue": 0, "totalNumberOfSchemes": 0, "dailyReturns": 0, "dailyReturnsPercentage": 0, "accountStatus": "string", "schemePreferenceType": "string", "holdings": [ { "schemeName": "string", "schemeId": "string", "nav": 0, "totalUnits": 0, "totalValueOfScheme": 0, "allocationPercentage": 0, "blockedUnits": 0, "freeUnits": 0, "dailyReturns": 0, "dailyReturnsPercentage": 0 } ] }, "tier2": { "currentValue": 0, "totalNumberOfSchemes": 0, "dailyReturns": 0, "dailyReturnsPercentage": 0, "accountStatus": "string", "schemePreferenceType": "string", "holdings": [ { "schemeName": "string", "schemeId": "string", "nav": 0, "totalUnits": 0, "totalValueOfScheme": 0, "allocationPercentage": 0, "blockedUnits": 0, "freeUnits": 0, "dailyReturns": 0, "dailyReturnsPercentage": 0 } ] } }
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/nps/insights' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345" }'