Create Consent Request
Introduction
Account Aggregator is a decentralized data-sharing system that allows regulated entities to share user data amongst each other through a consent-based user flow. This data currently contains only transactional data from the bank account. Other variables are going to be added by the AA ecosystem in the future.
To retrieve the required financial details of the user, the API will send them an SMS asking for consent
API Input Guidelines
Need to pass on the following information:
- A valid Mobile number
- A valid Consent Artifact Name
- Consent Description for reference
- A valid callbackUrl

curl --request POST \
--url https://api-preproduction.signzy.app/api/v3/accountAggregator/consent-request \
--header 'Authorization: <token>' \
--header 'Content-Type: application/json' \
--data '{
"mobileNumber" : "<mobile-number>",
"consentArtifactName" : "<artifact-name>",
"consentDescription" : "<description>",
"callbackUrl" : "<url-link>"
}'Input Parameters
PARAMETER NAME | REQUIRED/OPTIONAL | DESCRIPTION | TYPE |
|---|---|---|---|
mobileNumber | Required | Mobile number of the user | String |
consentArtifactName | Required | Consent Artifact Name (Template that contains the metadata of the consent) | String |
consentDescription | Required | Description of the consent | String |
callbackUrl | Optional | A callbackUrl provided by the user | String |
Sample Response
{
"result": {
"custId": "123@asd",
"consentHandle": "f3d8c5a6-f952-4ddd-889b-77cf177a36b5",
"consentPurpose": "Wealth management service",
"consentDescription": "tesitng",
"requestDate": "2022-10-13T11:47:27.177+0000",
"consentStatus": "REQUESTED",
"requestSessionId": null,
"requestConsentId": null,
"dateTimeRangeFrom": "2021-10-13T11:47:26.893+0000",
"dateTimeRangeTo": "2023-10-13T11:47:26.893+0000",
"aaId": "[email protected]"
}
}Response Parameter
PARAMETER NAME | DESCRIPTION | TYPE |
|---|---|---|
result | This holds final result parameters of the response. |  |
result.custId | Customer ID of the end customer for which consent request was triggered. For Example - "9124012479@finvu" | String |
result.consentHandle | consent handle id (used for tracking the consent approval status) | String |
result.consentPurpose | Purpose of consent | String |
result.consentDescription | Description of consent | String |
result.requestDate | Time when the consent was requsted | String |
result.consentStatus | Status of consent | String |
result.requestSessionId | SessionId of the consent requested |  |
result.requestConsentId | ConsentId of the consent requested |  |
result.dateTimeRangeFrom | Timeframe from which the data can be pulled through using this consent | String |
result.dateTimeRangeTo | Timeframe until which the data can be pulled through using this consent | String |
result.aaId | Account Aggregator ID which was used for this transction | String |
Callback Url Data Structure
The callbackUrl that we are passing in the request body, that can be used to view the consent-status. The consent-status will be posted into the callbackUrl and through the url one can view the status corresponding to the consent-HandleId.
The structure of data or the consent-status that will be getting posted into the callbackUrl is as follows:
{
"consentHandle": "<consent-Handle-Id>",
"consentId": "<consent-Id>",
"status": "<status>"
}Error Codes
Error Code | Description |
|---|---|
400 | Bad Request: In case the request is not as per required schema or any other case |
401 | Unauthorized: Authentication failed or user does not have permissions for requested operation. |
409 | Upstream Error/Conflict: Something wrong on AA's side. |
500 | Internal Server Error: An error occurred on the server. |

Getting help
Please feel free to contact us if you have any questions, require clarification, or have ideas for how to make the documents or any of our services better.
You can reach out to us at [email protected].