Term Deposit Insights

4 endpoints · WealthSync API

POST

/pfm/api/v2/term-deposit/user-linked-accounts

#

Get user linked accounts for term deposits.

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

This API returns all linked Term Deposit (FD) accounts for a user, grouped by FIP (Financial Information Provider). Each linked account includes details like account type, masked account number, holder info, balance, and consent status.

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
  • totalFiData
    integer (int32)optional
    No description.
    nullable
  • totalFiDataToBeFetched
    integer (int32)optional
    No description.
    nullable
  • lastFetchDate
    string (date-time)optional
    No description.
    nullable
  • fipData
    array<object>optional
    No description.
    nullable
    Each item: 5 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: 13 fields
      • fiDataId
        stringoptional
        No description.
        nullable
      • accountType
        stringoptional
        No description.
        nullable
      • maskedAccNumber
        stringoptional
        No description.
        nullable
      • accountRefNumber
        stringoptional
        No description.
        nullable
      • dataFetched
        stringoptional
        No description.
        nullable
      • accountName
        stringoptional
        No description.
        nullable
      • lastFetchDateTime
        string (date-time)optional
        No description.
        nullable
      • fipId
        stringoptional
        No description.
        nullable
      • fipName
        stringoptional
        No description.
        nullable
      • fiData
        anyoptional
        No description.
        nullable
      • latestConsentPurposeText
        stringoptional
        No description.
        nullable
      • latestConsentExpiryTime
        string (date-time)optional
        No description.
        nullable
      • consentPurposeVersion
        stringoptional
        No description.
        nullable
  • dataSourceDetails
    array<object>optional
    No description.
    nullable
    Each item: 2 fields
    • dataResourceType
      stringoptional
      No description.
      nullable
    • lastFetchDate
      stringoptional
      No description.
      nullable
Example
{ "totalFiData": 0, "totalFiDataToBeFetched": 0, "lastFetchDate": "2026-01-01T00:00:00Z", "fipData": [ { "fipId": "string", "fipName": "string", "totalFiData": 0, "totalFiDataToBeFetched": 0, "linkedAccounts": [ { "fiDataId": "string", "accountType": "string", "maskedAccNumber": "string", "accountRefNumber": "string", "dataFetched": "string", "accountName": "string", "lastFetchDateTime": "2026-01-01T00:00:00Z", "fipId": "string", "fipName": "string", "fiData": null, "latestConsentPurposeText": "string", "latestConsentExpiryTime": "2026-01-01T00:00:00Z", "consentPurposeVersion": "string" } ] } ], "dataSourceDetails": [ { "dataResourceType": "string", "lastFetchDate": "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/term-deposit/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/term-deposit/user-details

#

Get user FI details for term deposits.

docs.signcare.io/wealthsync/api/term-deposit-insights/#post-pfm-api-v2-term-deposit-user-details

This API retrieves the user's subscription status along with a summary of all Term Deposit FI data. It shows subscription start/end dates and a per-FIP account breakdown, indicating how many accounts are linked and how many have been fetched.

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/term-deposit/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/term-deposit/user-account-statement-download

#

Download user account statement for term deposits.

docs.signcare.io/wealthsync/api/term-deposit-insights/#post-pfm-api-v2-term-deposit-user-account-statement-download

This API downloads the term deposit account statement as a binary file (PDF/CSV). Use this for exporting or sharing the transaction history of a specific term deposit account.

Prerequisites:

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

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

→ dateRangeFrom (optional): Start date for filtering transactions. Format: yyyy-MM-dd.

→ dateRangeTo (optional): End date for filtering transactions. Format: yyyy-MM-dd.

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
  • txnOrder
    stringoptional
    Optional. Sort order of transactions. Allowed values: ASC (oldest first), DESC (newest first). Default: ASC.
    nullabledefault ASC
  • 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
Sample request body
{ "uniqueIdentifier": "user-12345", "accountId": "YOUR_FI_DATA_ID", "txnOrder": "ASC", "dateRangeFrom": "2024-01-01", "dateRangeTo": "2024-12-31" }

Responses

200OK
Example
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/term-deposit/user-account-statement-download' \ -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", "txnOrder": "ASC", "dateRangeFrom": "2024-01-01", "dateRangeTo": "2024-12-31" }'
POST

/pfm/api/v2/term-deposit/user-account-statement

#

Get user account statement for term deposits.

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

This API returns the transaction history for a specific Term Deposit account. Each transaction includes txnId, amount, narration, type, mode, balance, and transaction datetime.

Prerequisites:

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

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

→ dateRangeFrom (optional): Start date for filtering transactions. Format: yyyy-MM-dd.

→ dateRangeTo (optional): End date for filtering transactions. Format: yyyy-MM-dd.

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
  • txnOrder
    stringoptional
    Optional. Sort order of transactions. Allowed values: ASC (oldest first), DESC (newest first). Default: ASC.
    nullabledefault ASC
  • 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
Sample request body
{ "uniqueIdentifier": "user-12345", "accountId": "YOUR_FI_DATA_ID", "txnOrder": "ASC", "dateRangeFrom": "2024-01-01", "dateRangeTo": "2024-12-31" }

Responses

200OK
Example
[ { "txnId": "string", "amount": 0, "narration": "string", "type": "string", "mode": "string", "balance": 0, "transactionDateTime": "string", "valueDate": "string", "reference": "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/term-deposit/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", "txnOrder": "ASC", "dateRangeFrom": "2024-01-01", "dateRangeTo": "2024-12-31" }'