Equity Insights

6 endpoints · WealthSync API

POST

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

#

Get user linked accounts for equities.

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

This API returns all linked Equity (Stock) demat accounts for a user, grouped by FIP. Each linked account includes demat ID, broker name, holder info, consent status, holdings count, and current 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): 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-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 "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
  • filterZeroValueHoldings
    stringoptional
    Optional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
Sample request body
{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }

Responses

200OK
  • totalFiData
    integer (int32)optional
    No description.
    nullable
  • totalFiDataToBeFetched
    integer (int32)optional
    No description.
    nullable
  • lastFetchDate
    stringoptional
    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: 27 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
      • maskedDematId
        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
      • holderDematId
        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
      • equityHoldingsCount
        integer (int32)optional
        No description.
        nullable
      • accountCurrentValue
        number (double)optional
        No description.
        nullable
      • brokerId
        integer (int32)optional
        No description.
        nullable
      • brokerName
        stringoptional
        No description.
        nullable
      • brandName
        stringoptional
        No description.
        nullable
    • currentValue
      number (double)optional
      No description.
      nullable
  • currentValue
    number (double)optional
    No description.
    nullable
  • totalBrokers
    number (double)optional
    No description.
    nullable
Example
{ "totalFiData": 0, "totalFiDataToBeFetched": 0, "lastFetchDate": "string", "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", "maskedDematId": "string", "linkedAccountType": "string", "holderName": "string", "holderDob": "2026-01-01T00:00:00Z", "holderMobile": "string", "holderNominee": "string", "holderDematId": 0, "holderLandline": "string", "holderAddress": "string", "holderEmail": "string", "holderPan": "string", "holderCkycCompliance": "string", "equityHoldingsCount": 0, "accountCurrentValue": 0, "brokerId": 0, "brokerName": "string", "brandName": "string" } ], "currentValue": 0 } ], "currentValue": 0, "totalBrokers": 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/equities/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", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }'
POST

/pfm/api/v2/equities/user-linked-accounts/holding-broker

#

Get linked accounts — holdings breakdown across brokers.

docs.signcare.io/wealthsync/api/equity-insights/#post-pfm-api-v2-equities-user-linked-accounts-holding-broker

This API returns equity holdings grouped by individual stock, showing which brokers hold each stock. Each holding shows ISIN, stock name, total units, current value, and a per-broker 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.

→ 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-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 "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
  • filterZeroValueHoldings
    stringoptional
    Optional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
Sample request body
{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }

Responses

200OK
  • totalFiData
    integer (int32)optional
    No description.
    nullable
  • totalFiDataToBeFetched
    integer (int32)optional
    No description.
    nullable
  • currentValue
    number (double)optional
    No description.
    nullable
  • holdings
    array<object>optional
    No description.
    nullable
    Each item: 15 fields
    • issuerName
      stringoptional
      No description.
      nullable
    • schemeName
      stringoptional
      No description.
      nullable
    • isin
      stringoptional
      No description.
      nullable
    • isinDescription
      stringoptional
      No description.
      nullable
    • bseSymbol
      stringoptional
      No description.
      nullable
    • nseSymbol
      stringoptional
      No description.
      nullable
    • marketCapCategory
      stringoptional
      No description.
      nullable
    • fiType
      stringoptional
      No description.
      nullable
    • units
      number (double)optional
      No description.
      nullable
    • lastTradedPrice
      number (double)optional
      No description.
      nullable
    • lastFetchTime
      stringoptional
      No description.
      nullable
    • currentValue
      number (double)optional
      No description.
      nullable
    • prevDetails
      objectoptional
      No description.
      6 fields
      • percentageChange
        number (double)optional
        No description.
        nullable
      • priceChange
        number (double)optional
        No description.
        nullable
      • lastFetchTime
        stringoptional
        No description.
        nullable
      • holdingIsin
        stringoptional
        No description.
        nullable
      • totalUnits
        number (double)optional
        No description.
        nullable
      • currentValue
        number (double)optional
        No description.
        nullable
    • portfolioWeightagePercent
      number (double)optional
      No description.
      nullable
    • brokers
      array<object>optional
      No description.
      nullable
      Each item: 8 fields
      • brokerName
        stringoptional
        No description.
        nullable
      • brandName
        stringoptional
        No description.
        nullable
      • brokerId
        integer (int32)optional
        No description.
        nullable
      • units
        number (double)optional
        No description.
        nullable
      • lastTradedPrice
        number (double)optional
        No description.
        nullable
      • currentValue
        number (double)optional
        No description.
        nullable
      • lastFetchTime
        stringoptional
        No description.
        nullable
      • prevDetails
        objectoptional
        No description.
        6 fields
        • percentageChange
          number (double)optional
          No description.
          nullable
        • priceChange
          number (double)optional
          No description.
          nullable
        • lastFetchTime
          stringoptional
          No description.
          nullable
        • holdingIsin
          stringoptional
          No description.
          nullable
        • totalUnits
          number (double)optional
          No description.
          nullable
        • currentValue
          number (double)optional
          No description.
          nullable
  • prevDetails
    objectoptional
    No description.
    6 fields
    • percentageChange
      number (double)optional
      No description.
      nullable
    • priceChange
      number (double)optional
      No description.
      nullable
    • lastFetchTime
      stringoptional
      No description.
      nullable
    • holdingIsin
      stringoptional
      No description.
      nullable
    • totalUnits
      number (double)optional
      No description.
      nullable
    • currentValue
      number (double)optional
      No description.
      nullable
  • totalHoldings
    number (double)optional
    No description.
    nullable
Example
{ "totalFiData": 0, "totalFiDataToBeFetched": 0, "currentValue": 0, "holdings": [ { "issuerName": "string", "schemeName": "string", "isin": "string", "isinDescription": "string", "bseSymbol": "string", "nseSymbol": "string", "marketCapCategory": "string", "fiType": "string", "units": 0, "lastTradedPrice": 0, "lastFetchTime": "string", "currentValue": 0, "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "portfolioWeightagePercent": 0, "brokers": [ { "brokerName": "string", "brandName": "string", "brokerId": 0, "units": 0, "lastTradedPrice": 0, "currentValue": 0, "lastFetchTime": "string", "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 } } ] } ], "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "totalHoldings": 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/equities/user-linked-accounts/holding-broker' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }'
POST

/pfm/api/v2/equities/user-linked-accounts/demat-holding

#

Get linked accounts — demat-wise holdings breakdown.

docs.signcare.io/wealthsync/api/equity-insights/#post-pfm-api-v2-equities-user-linked-accounts-demat-holding

This API returns equity holdings grouped by demat account. Each demat account shows broker name, demat ID, total current value, and the list of stock holdings under it.

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-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 "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
  • filterZeroValueHoldings
    stringoptional
    Optional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
Sample request body
{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }

Responses

200OK
  • totalFiData
    integer (int32)optional
    No description.
    nullable
  • totalFiDataToBeFetched
    integer (int32)optional
    No description.
    nullable
  • currentValue
    number (double)optional
    No description.
    nullable
  • demat
    array<object>optional
    No description.
    nullable
    Each item: 15 fields
    • dematId
      stringoptional
      No description.
      nullable
    • brokerId
      stringoptional
      No description.
      nullable
    • brokerName
      stringoptional
      No description.
      nullable
    • brandName
      stringoptional
      No description.
      nullable
    • fiDataId
      stringoptional
      No description.
      nullable
    • fipId
      stringoptional
      No description.
      nullable
    • fiType
      stringoptional
      No description.
      nullable
    • maskedAccNumber
      stringoptional
      No description.
      nullable
    • accountRefNumber
      stringoptional
      No description.
      nullable
    • units
      number (double)optional
      No description.
      nullable
    • lastTradedPrice
      number (double)optional
      No description.
      nullable
    • currentValue
      number (double)optional
      No description.
      nullable
    • lastFetchTime
      stringoptional
      No description.
      nullable
    • prevDetails
      objectoptional
      No description.
      6 fields
      • percentageChange
        number (double)optional
        No description.
        nullable
      • priceChange
        number (double)optional
        No description.
        nullable
      • lastFetchTime
        stringoptional
        No description.
        nullable
      • holdingIsin
        stringoptional
        No description.
        nullable
      • totalUnits
        number (double)optional
        No description.
        nullable
      • currentValue
        number (double)optional
        No description.
        nullable
    • holdings
      array<object>optional
      No description.
      nullable
      Each item: 17 fields
      • issuerName
        stringoptional
        No description.
        nullable
      • schemeName
        stringoptional
        No description.
        nullable
      • isin
        stringoptional
        No description.
        nullable
      • isinDescription
        stringoptional
        No description.
        nullable
      • bseSymbol
        stringoptional
        No description.
        nullable
      • nseSymbol
        stringoptional
        No description.
        nullable
      • marketCapCategory
        stringoptional
        No description.
        nullable
      • units
        number (double)optional
        No description.
        nullable
      • lastTradedPrice
        number (double)optional
        No description.
        nullable
      • lastFetchTime
        stringoptional
        No description.
        nullable
      • currentValue
        number (double)optional
        No description.
        nullable
      • prevDetails
        objectoptional
        No description.
        6 fields
        • percentageChange
          number (double)optional
          No description.
          nullable
        • priceChange
          number (double)optional
          No description.
          nullable
        • lastFetchTime
          stringoptional
          No description.
          nullable
        • holdingIsin
          stringoptional
          No description.
          nullable
        • totalUnits
          number (double)optional
          No description.
          nullable
        • currentValue
          number (double)optional
          No description.
          nullable
      • portfolioWeightagePercent
        number (double)optional
        No description.
        nullable
      • fiType
        stringoptional
        No description.
        nullable
      • fiDataId
        stringoptional
        No description.
        nullable
      • oneDayReturnsPercent
        number (double)optional
        No description.
        nullable
      • oneDayReturns
        number (double)optional
        No description.
        nullable
  • prevDetails
    objectoptional
    No description.
    6 fields
    • percentageChange
      number (double)optional
      No description.
      nullable
    • priceChange
      number (double)optional
      No description.
      nullable
    • lastFetchTime
      stringoptional
      No description.
      nullable
    • holdingIsin
      stringoptional
      No description.
      nullable
    • totalUnits
      number (double)optional
      No description.
      nullable
    • currentValue
      number (double)optional
      No description.
      nullable
  • totalDemat
    integer (int32)optional
    No description.
    nullable
Example
{ "totalFiData": 0, "totalFiDataToBeFetched": 0, "currentValue": 0, "demat": [ { "dematId": "string", "brokerId": "string", "brokerName": "string", "brandName": "string", "fiDataId": "string", "fipId": "string", "fiType": "string", "maskedAccNumber": "string", "accountRefNumber": "string", "units": 0, "lastTradedPrice": 0, "currentValue": 0, "lastFetchTime": "string", "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "holdings": [ { "issuerName": "string", "schemeName": "string", "isin": "string", "isinDescription": "string", "bseSymbol": "string", "nseSymbol": "string", "marketCapCategory": "string", "units": 0, "lastTradedPrice": 0, "lastFetchTime": "string", "currentValue": 0, "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "portfolioWeightagePercent": 0, "fiType": "string", "fiDataId": "string", "oneDayReturnsPercent": 0, "oneDayReturns": 0 } ] } ], "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "totalDemat": 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/equities/user-linked-accounts/demat-holding' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }'
POST

/pfm/api/v2/equities/user-linked-accounts/broker-holding

#

Get linked accounts — broker-wise holdings breakdown.

docs.signcare.io/wealthsync/api/equity-insights/#post-pfm-api-v2-equities-user-linked-accounts-broker-holding

This API returns equity holdings grouped by broker. Each broker shows broker name, total current value, and the list of stock holdings managed by that broker.

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-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 "true" to exclude accounts with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
  • filterZeroValueHoldings
    stringoptional
    Optional. Send "true" to exclude holdings with zero current value. String "true" or "false". Default: "false".
    nullabledefault false
Sample request body
{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }

Responses

200OK
  • totalFiData
    integer (int32)optional
    No description.
    nullable
  • totalFiDataToBeFetched
    integer (int32)optional
    No description.
    nullable
  • currentValue
    number (double)optional
    No description.
    nullable
  • brokers
    array<object>optional
    No description.
    nullable
    Each item: 9 fields
    • brokerName
      stringoptional
      No description.
      nullable
    • brandName
      stringoptional
      No description.
      nullable
    • brokerId
      stringoptional
      No description.
      nullable
    • units
      number (double)optional
      No description.
      nullable
    • lastTradedPrice
      number (double)optional
      No description.
      nullable
    • currentValue
      number (double)optional
      No description.
      nullable
    • lastFetchTime
      stringoptional
      No description.
      nullable
    • prevDetails
      objectoptional
      No description.
      6 fields
      • percentageChange
        number (double)optional
        No description.
        nullable
      • priceChange
        number (double)optional
        No description.
        nullable
      • lastFetchTime
        stringoptional
        No description.
        nullable
      • holdingIsin
        stringoptional
        No description.
        nullable
      • totalUnits
        number (double)optional
        No description.
        nullable
      • currentValue
        number (double)optional
        No description.
        nullable
    • holdings
      array<object>optional
      No description.
      nullable
      Each item: 14 fields
      • issuerName
        stringoptional
        No description.
        nullable
      • schemeName
        stringoptional
        No description.
        nullable
      • isin
        stringoptional
        No description.
        nullable
      • isinDescription
        stringoptional
        No description.
        nullable
      • bseSymbol
        stringoptional
        No description.
        nullable
      • nseSymbol
        stringoptional
        No description.
        nullable
      • marketCapCategory
        stringoptional
        No description.
        nullable
      • fiType
        stringoptional
        No description.
        nullable
      • units
        number (double)optional
        No description.
        nullable
      • lastTradedPrice
        number (double)optional
        No description.
        nullable
      • lastFetchTime
        stringoptional
        No description.
        nullable
      • currentValue
        number (double)optional
        No description.
        nullable
      • prevDetails
        objectoptional
        No description.
        6 fields
        • percentageChange
          number (double)optional
          No description.
          nullable
        • priceChange
          number (double)optional
          No description.
          nullable
        • lastFetchTime
          stringoptional
          No description.
          nullable
        • holdingIsin
          stringoptional
          No description.
          nullable
        • totalUnits
          number (double)optional
          No description.
          nullable
        • currentValue
          number (double)optional
          No description.
          nullable
      • portfolioWeightagePercent
        number (double)optional
        No description.
        nullable
  • prevDetails
    objectoptional
    No description.
    6 fields
    • percentageChange
      number (double)optional
      No description.
      nullable
    • priceChange
      number (double)optional
      No description.
      nullable
    • lastFetchTime
      stringoptional
      No description.
      nullable
    • holdingIsin
      stringoptional
      No description.
      nullable
    • totalUnits
      number (double)optional
      No description.
      nullable
    • currentValue
      number (double)optional
      No description.
      nullable
  • totalBrokers
    integer (int32)optional
    No description.
    nullable
Example
{ "totalFiData": 0, "totalFiDataToBeFetched": 0, "currentValue": 0, "brokers": [ { "brokerName": "string", "brandName": "string", "brokerId": "string", "units": 0, "lastTradedPrice": 0, "currentValue": 0, "lastFetchTime": "string", "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "holdings": [ { "issuerName": "string", "schemeName": "string", "isin": "string", "isinDescription": "string", "bseSymbol": "string", "nseSymbol": "string", "marketCapCategory": "string", "fiType": "string", "units": 0, "lastTradedPrice": 0, "lastFetchTime": "string", "currentValue": 0, "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "portfolioWeightagePercent": 0 } ] } ], "prevDetails": { "percentageChange": 0, "priceChange": 0, "lastFetchTime": "string", "holdingIsin": "string", "totalUnits": 0, "currentValue": 0 }, "totalBrokers": 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/equities/user-linked-accounts/broker-holding' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "filterZeroValueAccounts": "false", "filterZeroValueHoldings": "false" }'
POST

/pfm/api/v2/equities/user-details

#

Get user details for equities.

docs.signcare.io/wealthsync/api/equity-insights/#post-pfm-api-v2-equities-user-details

This API retrieves the user's subscription status and a summary of equity FI data. It shows total holdings, total brokers, current value, and subscription dates.

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
  • subscriptionStatus
    stringoptional
    No description.
    nullable
  • subscriptionStartDate
    stringoptional
    No description.
    nullable
  • subscriptionEndDate
    stringoptional
    No description.
    nullable
  • fiDatas
    anyoptional
    No description.
    nullable
Example
{ "subscriptionStatus": "string", "subscriptionStartDate": "string", "subscriptionEndDate": "string", "fiDatas": null }
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/equities/user-details' \ -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/equities/user-account-statement

#

Get user account statement / transactions for equities.

docs.signcare.io/wealthsync/api/equity-insights/#post-pfm-api-v2-equities-user-account-statement

This API returns the transaction history for a specific equity (stock) account. Each transaction includes trade date, ISIN, stock name, units, price, type (BUY/SELL), and trade value.

Prerequisites:

→ First call POST equities/user-linked-accounts to get the list of linked equity 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.

→ brokerId (optional): Filter transactions by broker ID.

→ isin (optional): Filter transactions by ISIN.

→ txnOrder (optional): Sort order — "ASC" (oldest first) or "DESC" (newest first). Default: "ASC".

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
  • accountId
    stringrequired
    Required. The fiDataId of the linked account, taken from the linked-accounts response.
    minLength 1default YOUR_FI_DATA_ID
  • dateRangeFrom
    stringoptional
    Optional. Start date to filter transactions, in yyyy-MM-dd format.
    nullabledefault 2024-01-01
  • dateRangeTo
    stringoptional
    Optional. End date to filter transactions, in yyyy-MM-dd format.
    nullabledefault 2024-12-31
  • brokerId
    stringoptional
    Optional. Filter transactions by broker ID.
    nullable
  • isin
    stringoptional
    Optional. Filter transactions by ISIN.
    nullable
  • txnOrder
    stringoptional
    Optional. Sort order of transactions. Allowed values: ASC (oldest first), DESC (newest first). Default: ASC.
    nullabledefault ASC
Sample request body
{ "uniqueIdentifier": "user-12345", "accountId": "YOUR_FI_DATA_ID", "dateRangeFrom": "2024-01-01", "dateRangeTo": "2024-12-31", "txnOrder": "ASC" }

Responses

200OK
Example
[ { "accountId": "string", "brokerId": "string", "txnId": "string", "isin": "string", "isinDescription": "string", "transactionDateTime": "string", "units": 0, "orderId": "string", "companyName": "string", "type": "string", "narration": "string", "equityCategory": "string", "rate": 0, "exchange": "string", "bseSymbol": "string", "marketCapCategory": "string", "nseSymbol": "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/equities/user-account-statement' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "accountId": "YOUR_FI_DATA_ID", "dateRangeFrom": "2024-01-01", "dateRangeTo": "2024-12-31", "txnOrder": "ASC" }'