Subscription

2 endpoints · WealthSync API

POST

/pfm/api/v2/user-subscriptions

#

Add user subscription.

docs.signcare.io/wealthsync/api/subscription/#post-pfm-api-v2-user-subscriptions

This API is used to create a new subscription for a user. Call this API ONLY ONCE per user, before initiating the AA consent flow. This is the foundational API called to register a user with WealthSync and establishes the user's permanent identity in the system.

Request Body Parameters:

→ uniqueIdentifier (required): This is the primary identifier for the user in your system. It can be a random string, mobile number, or UUID. This value is added at the time of subscription and MUST be used consistently across ALL WealthSync API calls. It never changes for a user.

→ mobileNumber (required): The user's 10-digit mobile number.

→ subscriptionStatus (required): Set to "YES" to activate the user's account.

FAQ: Q. What is a unique identifier (UID)? Why do we create it? Is it mandatory? UID is simply a value that uniquely identifies a user in your system. It can be anything that stays the same every time the user logs in, such as:

-> Random string: 7410039245type

-> Mobile number: 7410039245

-> UUID: 9805bd63-2bd5-49ef-bd74-21439416487b

We create userId so that Wealthsync can recognize the user across sessions. Is it mandatory? Yes. In Wealthsync it is mandatory. Without it, we cannot create a subscription, link accounts, initiate consent, or fetch/analyze user data.

Q. What happens if I set the subscription as ‘NO’? If set to "NO", the consent journey will not take place. You will still be able to view the previously fetched data, but no new data will be retrieved.

Q. What are the implications if it becomes NO? Will we (FIU) stop getting customers’ data? If status changes YES → NO, you still have access to past data. However, daily data refresh stops immediately.

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
  • mobileNumber
    stringrequired
    Required. The user's 10-digit mobile number.
    nullabledefault 9876543210
  • subscriptionStatus
    stringrequired
    Required. Subscription status. Allowed values: YES (activate), NO (deactivate).
    nullabledefault YES
Sample request body
{ "uniqueIdentifier": "user-12345", "mobileNumber": "9876543210", "subscriptionStatus": "YES" }

Responses

200OK
  • message
    stringoptional
    No description.
    nullable
Example
{ "message": "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/user-subscriptions' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "mobileNumber": "9876543210", "subscriptionStatus": "YES" }'
PUT

/pfm/api/v2/user-subscriptions

#

Update an existing user subscription (WealthSync AA).

docs.signcare.io/wealthsync/api/subscription/#put-pfm-api-v2-user-subscriptions

This API is used to update an existing user's subscription status. Call this API when the user wants to change their subscription from YES → NO or NO → YES.

Prerequisites: → The user must already be subscribed via the Add Subscription API (POST user-subscriptions).

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.

→ mobileNumber (required): The user's 10-digit mobile number.

→ subscriptionStatus (required): Set to "YES" to activate or "NO" to deactivate the subscription. If set to "NO", previously fetched data remains accessible but no new data will be fetched.

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
  • mobileNumber
    stringrequired
    Required. The user's 10-digit mobile number.
    nullabledefault 9876543210
  • subscriptionStatus
    stringrequired
    Required. Subscription status. Allowed values: YES (activate), NO (deactivate).
    nullabledefault YES
Sample request body
{ "uniqueIdentifier": "user-12345", "mobileNumber": "9876543210", "subscriptionStatus": "YES" }

Responses

200OK
  • message
    stringoptional
    No description.
    nullable
Example
{ "message": "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 PUT 'https://uat-ext.signcare.io/pfm/api/v2/user-subscriptions' \ -H 'X-API-KEY: YOUR_API_KEY' \ -H 'X-API-APP-ID: YOUR_APP_ID' \ -H 'Content-Type: application/json' \ -d '{ "uniqueIdentifier": "user-12345", "mobileNumber": "9876543210", "subscriptionStatus": "YES" }'