Mutual Fund Insights
9 endpoints · WealthSync API
Get linked accounts holding folio for mutual funds.
This API returns mutual fund holdings aggregated at the folio level. Each holding includes AMC name, scheme code, ISIN, NAV, units, current value, cost value, and a per-folio breakdown with individual folio numbers, units, and values.
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.
→ filterCdslNsdl (optional): Set to "true" to filter out CDSL/NSDL demat-held mutual fund folios. Default: "true".
→ filterZeroValueAccounts (optional): Set to "true" to exclude accounts with zero balance. Default: "false".
→ filterZeroValueHoldings (optional): Set to "true" to exclude holdings with zero value. Default: "false".
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
- filterCdslNsdlstringoptionalOptional. Send "true" to exclude mutual fund folios held in demat form (CDSL/NSDL). String "true" or "false". Default: "true".nullabledefault true
- filterZeroValueAccountsstringoptionalOptional. Send "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".nullabledefault false
- filterZeroValueHoldingsstringoptionalOptional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".nullabledefault false
Sample request body
Responses
200OK
- totalFiDatainteger (int32)optionalNo description.nullable
- totalFiDataToBeFetchedinteger (int32)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- costValuenumber (double)optionalNo description.nullable
- holdingsarray<object>optionalNo description.nullable
Each item: 20 fields
- amcstringoptionalNo description.nullable
- registrarstringoptionalNo description.nullable
- schemeCodestringoptionalNo description.nullable
- schemaOptionstringoptionalNo description.nullable
- schemaTypesstringoptionalNo description.nullable
- schemaCategorystringoptionalNo description.nullable
- isinstringoptionalNo description.nullable
- isinDescriptionstringoptionalNo description.nullable
- uccstringoptionalNo description.nullable
- amfiCodestringoptionalNo description.nullable
- closingUnitsnumber (double)optionalNo description.nullable
- lienUnitsnumber (double)optionalNo description.nullable
- navnumber (double)optionalNo description.nullable
- avgNavnumber (double)optionalNo description.nullable
- navDatestring (date-time)optionalNo description.nullable
- lockingUnitsnumber (double)optionalNo description.nullable
- lastFetchTimestring (date-time)optionalNo description.nullable
- prevDetailsobjectoptionalNo description.
6 fields
- percentageChangenumber (double)optionalNo description.nullable
- priceChangenumber (double)optionalNo description.nullable
- lastFetchTimestring (date-time)optionalNo description.nullable
- holdingIsinstringoptionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- foliosarray<object>optionalNo description.nullable
Each item: 14 fields
- fipIdstringoptionalNo description.nullable
- fiDataIdstringoptionalNo description.nullable
- maskedAccNumberstringoptionalNo description.nullable
- accountRefNumberstringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- folioNostringoptionalNo description.nullable
- closingUnitsnumber (double)optionalNo description.nullable
- lienUnitsnumber (double)optionalNo description.nullable
- navnumber (double)optionalNo description.nullable
- navDatestring (date-time)optionalNo description.nullable
- lockingUnitsnumber (double)optionalNo description.nullable
- lastFetchTimestring (date-time)optionalNo description.nullable
- prevDetailsobjectoptionalNo description.
6 fields
- percentageChangenumber (double)optionalNo description.nullable
- priceChangenumber (double)optionalNo description.nullable
- lastFetchTimestring (date-time)optionalNo description.nullable
- holdingIsinstringoptionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- sourcestringoptionalNo description.nullable
- prevDetailsobjectoptionalNo description.
6 fields
- percentageChangenumber (double)optionalNo description.nullable
- priceChangenumber (double)optionalNo description.nullable
- lastFetchTimestring (date-time)optionalNo description.nullable
- holdingIsinstringoptionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- totalHoldingsinteger (int32)optionalNo 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
Get user linked accounts for mutual funds.
This API returns all linked Mutual Fund accounts for a user, grouped by FIP (Financial Information Provider). Each linked account includes AMC, folio number, holder info (name, PAN, DOB, email, mobile), consent status, holdings count, and current/cost values.
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.
→ filterCdslNsdl (optional): Set to "true" to filter out CDSL/NSDL demat-held mutual fund folios. Default: "true".
→ filterZeroValueAccounts (optional): Set to "true" to exclude accounts with zero balance. Default: "false".
→ filterZeroValueHoldings (optional): Set to "true" to exclude holdings with zero value. Default: "false".
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
- filterCdslNsdlstringoptionalOptional. Send "true" to exclude mutual fund folios held in demat form (CDSL/NSDL). String "true" or "false". Default: "true".nullabledefault true
- filterZeroValueAccountsstringoptionalOptional. Send "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".nullabledefault false
- filterZeroValueHoldingsstringoptionalOptional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".nullabledefault false
Sample request body
Responses
200OK
- totalFiDatainteger (int32)optionalNo description.nullable
- totalFiDataToBeFetchedinteger (int32)optionalNo description.nullable
- lastFetchDatestringoptionalNo description.nullable
- fipDataarray<object>optionalNo description.nullable
Each item: 7 fields
- fipIdstringoptionalNo description.nullable
- fipNamestringoptionalNo description.nullable
- totalFiDatainteger (int32)optionalNo description.nullable
- totalFiDataToBeFetchedinteger (int32)optionalNo description.nullable
- linkedAccountsarray<object>optionalNo description.nullable
Each item: 26 fields
- fiDataIdstringoptionalNo description.nullable
- accountRefNumberstringoptionalNo description.nullable
- dataFetchedstringoptionalNo description.nullable
- lastFetchDateTimestring (date-time)optionalNo description.nullable
- fiRequestCountOfCurrentMonthinteger (int32)optionalNo description.nullable
- fipIdstringoptionalNo description.nullable
- fipNamestringoptionalNo description.nullable
- latestConsentPurposeTextstringoptionalNo description.nullable
- latestConsentExpiryTimestring (date-time)optionalNo description.nullable
- consentPurposeVersionstringoptionalNo description.nullable
- amcstringoptionalNo description.nullable
- maskedFolioNostringoptionalNo description.nullable
- linkedAccountTypestringoptionalNo description.nullable
- holderNamestringoptionalNo description.nullable
- holderDobstring (date-time)optionalNo description.nullable
- holderMobilestringoptionalNo description.nullable
- holderNomineestringoptionalNo description.nullable
- holderFolioNostringoptionalNo description.nullable
- holderLandlinestringoptionalNo description.nullable
- holderAddressstringoptionalNo description.nullable
- holderEmailstringoptionalNo description.nullable
- holderPanstringoptionalNo description.nullable
- holderCkycCompliancestringoptionalNo description.nullable
- mutualFundHoldingsCountinteger (int32)optionalNo description.nullable
- accountCurrentValuenumber (double)optionalNo description.nullable
- accountCostValuenumber (double)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- costValuenumber (double)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- costValuenumber (double)optionalNo 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
Get user details for mutual funds.
This API retrieves the user's subscription status along with a summary of all Mutual Fund FI data. It shows subscription start/end dates and a per-FIP account breakdown.
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-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
Sample request body
Responses
200OK
- subscriptionStatusstringoptionalNo description.nullable
- subscriptionStartDatestringoptionalNo description.nullable
- subscriptionEndDatestringoptionalNo description.nullable
- fiDatasanyoptionalNo 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
Get user account statement for mutual funds.
This API returns the transaction history for mutual fund accounts. Each transaction includes ISIN, AMC, NAV, units, amount, folio number, tax details, and more. You can filter by specific ISIN, folio, broker, or date range.
Prerequisites:
→ First call POST mutual-fund/user-linked-accounts to get the list of linked mutual fund accounts.
→ From the response, pick the fiDataId of the desired account.
→ Pass that fiDataId as the "accountId" parameter in this API.
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.
→ accountId (required): The fiDataId of the specific account.
→ dateRangeFrom (optional): Start date for filtering transactions. Format: yyyy-MM-dd.
→ dateRangeTo (optional): End date for filtering transactions. Format: yyyy-MM-dd.
→ txnOrder (optional): Sort order — "ASC" (oldest first) or "DESC" (newest first). Default: "ASC".
→ brokerId (optional): Filter transactions by specific broker ID.
→ folioNo (optional): Filter transactions by specific folio number.
→ isin (optional): Filter transactions by specific ISIN code.
→ isins (optional): Filter transactions by multiple ISIN codes (array of strings).
→ accountIds (optional): Filter transactions by multiple account IDs (array of strings).
→ maskedFolioNos (optional): Filter transactions by masked folio numbers (array of strings).
→ filterCdslNsdl (optional): Set to "true" to filter out CDSL/NSDL demat-held mutual fund folios. Default: "True".
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
- accountIdstringrequiredRequired. The fiDataId of the linked account, taken from the linked-accounts response.minLength 1default YOUR_FI_DATA_ID
- dateRangeFromstringoptionalOptional. Start date to filter transactions, in yyyy-MM-dd format.nullabledefault 2024-01-01
- dateRangeTostringoptionalOptional. End date to filter transactions, in yyyy-MM-dd format.nullabledefault 2024-12-31
- txnOrderstringoptionalOptional. Sort order of transactions. Allowed values: ASC (oldest first), DESC (newest first). Default: ASC.nullabledefault ASC
- brokerIdstringoptionalOptional. Filter transactions by broker ID.nullable
- folioNostringoptionalOptional. Filter transactions by folio number.nullable
- isinstringoptionalOptional. Filter transactions by ISIN.nullable
- isinsarray<string>optionalOptional. Filter transactions by a list of ISINs.nullable
- accountIdsarray<string>optionalOptional. Filter transactions by a list of account IDs (fiDataId values).nullable
- maskedFolioNosarray<string>optionalOptional. Filter transactions by a list of masked folio numbers.nullable
- filterCdslNsdlstringoptionalOptional. Send "true" to exclude mutual fund folios held in demat form (CDSL/NSDL). String "true" or "false". Default: "True".nullabledefault true
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
Code samplescurl · Node.js · Python
Get mutual funds related insights (no PII).
This API returns portfolio-level mutual fund insights WITHOUT any Personally Identifiable Information (PII). The response includes an overall summary with current value, invested value, absolute return, XIRR, daily returns, plus distribution breakdowns by category, sub-category, market cap, AMC, and sector. Per-holding insights include fund name, ISIN, returns, NAV, units, and SIP info.
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): Set to "true" to exclude accounts with zero balance. Default: "false".
→ filterZeroValueHoldings (optional): Set to "true" to exclude holdings with zero value. Default: "false".
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
- filterZeroValueAccountsstringoptionalOptional. Send "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".nullabledefault false
- filterZeroValueHoldingsstringoptionalOptional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".nullabledefault false
Sample request body
Responses
200OK
- overallSummaryobjectoptionalNo description.
15 fields
- panstringoptionalNo description.nullable
- mobilestringoptionalNo description.nullable
- totalHoldingsinteger (int32)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- investedValuenumber (double)optionalNo description.nullable
- absoluteReturnnumber (double)optionalNo description.nullable
- absoluteReturnPercentagenumber (double)optionalNo description.nullable
- xirrnumber (double)optionalNo description.nullable
- dailyReturnsnumber (double)optionalNo description.nullable
- dailyReturnsPercentnumber (double)optionalNo description.nullable
- categoryDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- categorystringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- subCategoryDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- subCategorystringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- mutualFundsMarketCapDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- marketCapstringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- mutualFundsAmcDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- amcstringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- mutualFundsSectorDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- sectorstringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- holdingsarray<object>optionalNo description.nullable
Each item: 27 fields
- fundNamestringoptionalNo description.nullable
- isinstringoptionalNo description.nullable
- registrarstringoptionalNo description.nullable
- schemeOptionstringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- investedValuenumber (double)optionalNo description.nullable
- absoluteReturnnumber (double)optionalNo description.nullable
- absoluteReturnPercentagenumber (double)optionalNo description.nullable
- benchmarkNamestringoptionalNo description.nullable
- benchmarkReturnsstringoptionalNo description.nullable
- xirrnumber (double)optionalNo description.nullable
- currentNavDatestring (date-time)optionalNo description.nullable
- currentNavnumber (double)optionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- lienUnitsnumber (double)optionalNo description.nullable
- lockedInUnitsnumber (double)optionalNo description.nullable
- availableUnitsnumber (double)optionalNo description.nullable
- dailyReturnsnumber (double)optionalNo description.nullable
- dailyReturnsPercentnumber (double)optionalNo description.nullable
- sipstringoptionalNo description.nullable
- subcategorystringoptionalNo description.nullable
- categorystringoptionalNo description.nullable
- amcNamestringoptionalNo description.nullable
- amfiCodestringoptionalNo description.nullable
- distributionStatusstringoptionalNo description.nullable
- firstTransactionDatestringoptionalNo description.nullable
- perFolioHoldingInsightsarray<object>optionalNo description.nullable
Each item: 18 fields
- foliostringoptionalNo description.nullable
- brokerCodestringoptionalNo description.nullable
- brokerNamestringoptionalNo description.nullable
- isDematstringoptionalNo description.nullable
- fatcaStatusstringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- investedValuenumber (double)optionalNo description.nullable
- absoluteReturnnumber (double)optionalNo description.nullable
- absoluteReturnPercentagenumber (double)optionalNo description.nullable
- xirrnumber (double)optionalNo description.nullable
- averageNavnumber (double)optionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- lienUnitsnumber (double)optionalNo description.nullable
- lockedInUnitsnumber (double)optionalNo description.nullable
- availableUnitsnumber (double)optionalNo description.nullable
- dailyReturnsnumber (double)optionalNo description.nullable
- dailyReturnsPercentnumber (double)optionalNo description.nullable
- sipstringoptionalNo 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
Get mutual fund insights.
This API returns full mutual fund insights WITH PII (Personally Identifiable Information). The response includes the overall summary (PAN, mobile, total holdings, current value, invested value, absolute return, XIRR, daily returns) and per-holding breakdown with benchmark comparison, per-folio insights, and distribution data.
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): Set to "true" to exclude accounts with zero balance. Default: "false".
→ filterZeroValueHoldings (optional): Set to "true" to exclude holdings with zero value. Default: "false".
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
- filterZeroValueAccountsstringoptionalOptional. Send "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".nullabledefault false
- filterZeroValueHoldingsstringoptionalOptional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".nullabledefault false
Sample request body
Responses
200OK
- overallSummaryobjectoptionalNo description.
15 fields
- panstringoptionalNo description.nullable
- mobilestringoptionalNo description.nullable
- totalHoldingsinteger (int32)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- investedValuenumber (double)optionalNo description.nullable
- absoluteReturnnumber (double)optionalNo description.nullable
- absoluteReturnPercentagenumber (double)optionalNo description.nullable
- xirrnumber (double)optionalNo description.nullable
- dailyReturnsnumber (double)optionalNo description.nullable
- dailyReturnsPercentnumber (double)optionalNo description.nullable
- categoryDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- categorystringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- subCategoryDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- subCategorystringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- mutualFundsMarketCapDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- marketCapstringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- mutualFundsAmcDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- amcstringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- mutualFundsSectorDistributionarray<object>optionalNo description.nullable
Each item: 4 fields
- sectorstringoptionalNo description.nullable
- totalFundsinteger (int32)optionalNo description.nullable
- totalCurrentValuenumber (double)optionalNo description.nullable
- percentagenumber (double)optionalNo description.nullable
- holdingsarray<object>optionalNo description.nullable
Each item: 27 fields
- fundNamestringoptionalNo description.nullable
- isinstringoptionalNo description.nullable
- registrarstringoptionalNo description.nullable
- schemeOptionstringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- investedValuenumber (double)optionalNo description.nullable
- absoluteReturnnumber (double)optionalNo description.nullable
- absoluteReturnPercentagenumber (double)optionalNo description.nullable
- benchmarkNamestringoptionalNo description.nullable
- benchmarkReturnsstringoptionalNo description.nullable
- xirrnumber (double)optionalNo description.nullable
- currentNavDatestring (date-time)optionalNo description.nullable
- currentNavnumber (double)optionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- lienUnitsnumber (double)optionalNo description.nullable
- lockedInUnitsnumber (double)optionalNo description.nullable
- availableUnitsnumber (double)optionalNo description.nullable
- dailyReturnsnumber (double)optionalNo description.nullable
- dailyReturnsPercentnumber (double)optionalNo description.nullable
- sipstringoptionalNo description.nullable
- subcategorystringoptionalNo description.nullable
- categorystringoptionalNo description.nullable
- amcNamestringoptionalNo description.nullable
- amfiCodestringoptionalNo description.nullable
- distributionStatusstringoptionalNo description.nullable
- firstTransactionDatestringoptionalNo description.nullable
- perFolioHoldingInsightsarray<object>optionalNo description.nullable
Each item: 18 fields
- foliostringoptionalNo description.nullable
- brokerCodestringoptionalNo description.nullable
- brokerNamestringoptionalNo description.nullable
- isDematstringoptionalNo description.nullable
- fatcaStatusstringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- investedValuenumber (double)optionalNo description.nullable
- absoluteReturnnumber (double)optionalNo description.nullable
- absoluteReturnPercentagenumber (double)optionalNo description.nullable
- xirrnumber (double)optionalNo description.nullable
- averageNavnumber (double)optionalNo description.nullable
- totalUnitsnumber (double)optionalNo description.nullable
- lienUnitsnumber (double)optionalNo description.nullable
- lockedInUnitsnumber (double)optionalNo description.nullable
- availableUnitsnumber (double)optionalNo description.nullable
- dailyReturnsnumber (double)optionalNo description.nullable
- dailyReturnsPercentnumber (double)optionalNo description.nullable
- sipstringoptionalNo 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
Get mutual fund analysis.
This API returns mutual fund analysis with scheme category and scheme type distribution. It shows current value, cost value, total holdings, and how holdings are distributed across different scheme categories (e.g., Equity, Debt, Hybrid) and scheme types (e.g., Open-Ended, Close-Ended).
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.
→ filterCdslNsdl (optional): Set to "true" to filter out CDSL/NSDL demat-held mutual fund folios. Default: "true".
→ filterZeroValueAccounts (optional): Set to "true" to exclude accounts with zero balance. Default: "false".
→ filterZeroValueHoldings (optional): Set to "true" to exclude holdings with zero value. Default: "false".
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
- filterCdslNsdlstringoptionalOptional. Send "true" to exclude mutual fund folios held in demat form (CDSL/NSDL). String "true" or "false". Default: "true".nullabledefault true
- filterZeroValueAccountsstringoptionalOptional. Send "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".nullabledefault false
- filterZeroValueHoldingsstringoptionalOptional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".nullabledefault false
Sample request body
Responses
200OK
- fipIdstringoptionalNo description.nullable
- fipNamestringoptionalNo description.nullable
- totalFiDatainteger (int32)optionalNo description.nullable
- totalFiDataToBeFetchedinteger (int32)optionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- costValuenumber (double)optionalNo description.nullable
- totalHoldingsinteger (int32)optionalNo description.nullable
- schemeCategoryarray<object>optionalNo description.nullable
Each item: 3 fields
- schemeCategorystringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- totalHoldingsinteger (int32)optionalNo description.nullable
- schemeTypearray<object>optionalNo description.nullable
Each item: 3 fields
- schemeTypesstringoptionalNo description.nullable
- currentValuenumber (double)optionalNo description.nullable
- totalHoldingsinteger (int32)optionalNo 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
Get benchmark trailing comparison.
This API compares mutual fund benchmark trailing returns across configurable time ranges. It shows how a benchmark index performed over a trailing period (e.g., last 1 month) starting from a given date. This helps users see how their mutual fund returns compare against market benchmarks.
Request Body Parameters:
→ benchmarks (required): The benchmark code/ID to compare against (e.g., "OB48").
This is a Wealthsync internal code for a specific benchmark index (e.g., Nifty 50, Sensex, etc.).
You can pass one or multiple comma-separated codes.
→ from (required): The starting date from which trailing returns should be calculated. Format: yyyy-MM-dd.
→ ranges (required): The trailing return period.
Supported values: "1D" (1 day), "1W" (1 week), "1M" (1 month), "3M" (3 months), "6M" (6 months),
"1Y" (1 year), "3Y" (3 years), "5Y" (5 years), etc.
You can pass multiple comma-separated ranges like "1M,3M,1Y".
Example: { "benchmarks": "OB48", "from": "2024-02-01", "ranges": "1M" } This means: "Show me the trailing 1-month return of benchmark OB48 starting from February 1, 2024."
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- benchmarksstringrequiredRequired. Benchmark code. Pass several codes as a comma-separated string.minLength 1default OB48
- fromstringrequiredRequired. Date from which the trailing returns are calculated, in yyyy-MM-dd format.minLength 1default 2024-02-01
- rangesstringrequiredRequired. Trailing period or comma-separated periods, for example "1M" or "1M,3M,1Y".minLength 1default 1M
Sample request body
Responses
200OK
- statusobjectoptionalNo description.
2 fields
- codeinteger (int32)optionalNo description.nullable
- messagestringoptionalNo description.nullable
- dataanyoptionalNo description.nullable
- legendInfoanyoptionalNo 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
Get benchmark point-to-point comparison.
This API compares mutual fund benchmark returns between two specific date points. It shows how a benchmark index performed from one specific date to another.
Request Body Parameters:
→ benchmarks (required): The benchmark code/ID to compare against (e.g., "OB48").
This is a Wealthsync internal code for a specific benchmark index.
You can pass one or multiple comma-separated codes.
→ point_1 (required): The start date for the comparison period. Format: yyyy-MM-dd.
→ point_2 (required): The end date for the comparison period. Format: yyyy-MM-dd.
Example: { "benchmarks": "OB48", "point_1": "2024-01-01", "point_2": "2024-06-01" } This means: "Show me how benchmark OB48 performed between January 1, 2024 and June 1, 2024."
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- benchmarksstringrequiredRequired. Benchmark code. Pass several codes as a comma-separated string.minLength 1default OB48
- point_1stringrequiredRequired. Start date of the comparison period, in yyyy-MM-dd format.minLength 1default 2024-01-01
- point_2stringrequiredRequired. End date of the comparison period, in yyyy-MM-dd format.minLength 1default 2024-06-01
Sample request body
Responses
200OK
- statusobjectoptionalNo description.
2 fields
- codeinteger (int32)optionalNo description.nullable
- messagestringoptionalNo description.nullable
- dataanyoptionalNo 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