Get Account Metadata
Method is used to obtain configuration information of users bank. If using Create Transfer this information is required to identify flow and processing logic of the transaction.
Configuration returned by the endpoint includes:
beneficiaryCoolDownPeriod- How much time must pass before being able to use newly registered beneficiaryisCreateBeneficiaryEndpointRequired- Whether bank required registration of the beneficiary to perform a transactiontransferBounds- Transaction limits supported by the banktransactionRange- Date range of transactions available for banks users
Pre-RequirementYou have obtained user's permanent access token from
Exchange TokenendpointTo read more about authentication process and access token please refer to Authentication Documentation
Request
https://api.dapi.com/v2/metadata/accounts/getHeaders
| Parameter | Type | Description |
|---|---|---|
| Authorization REQUIRED | String | Set type to bearer token and the value to the accessToken obtained using the Exchange Token request. |
Body Parameters
| Parameter | Type | Description |
|---|---|---|
| appSecret REQUIRED | String | Private token generated at application creation. |
| userSecret REQUIRED | String | Encrypted version of the userKey. |
Request Example
{
"appSecret": "00bae841ad979345fca2e2585c000da7eac420504d189cf63315e7a6234d45c68dbd6fff749167292cd1475622805dce7a2b979db3c16e25a2897158ee63845b1043930ff603e19deb1d2d54ad9afc3d52df241d3c4e7286244a2f98a10212e38b2e9f8b0e3a7592702fa4358fb9103b93a26dd6bb92c2be0327ac054f14becc",
"userSecret": "DSv56dS/PB7QGJI/IGX4qKDhGVhIvQQhWo4zxTDT0gn079JlHnUSSq8NAtavX4fpHj7PGQ74BzVXBO9pFHXdSeLCMnayKLTLD0+zmMu7wfGzy+ZhkYTBe040CXWQ+AYaPhGTzfVWu3Lz6oM2QnqM9X56BbvpC80tN8Zg72VJHWC6YjazdQQ2NK0pl9+ePbmqn7PNjFKLhipgpTl7Hw3kvnLrSIC9AcXzVYQeSWYAv3LAEbECB1aNLXC0glMG2W7L2iLTMwy54wHbXXfSQlK9S6X7wmnZ0tn28H0MwMqWdLLtxvcFyYlMr3E0hqYnK4a5sU0IvF1yJAMHMBCbjw2Trnx2VMuX5IWjdxScfh+8IxWGvKl6RypksJTyNg100H+Q+j0vfKW/bOijFolZgHJtAxUowPlewK9JwoWahkbX2KTGoqQbSCh6KSzaCxdbg7ykNI5n+m6vdoWzGfZGFYjfgMX6aMInAM3b32ZAp9DlfFxRkg3oeoLBuTGTz73E51bZj9mGgD0FxkIXFPIWGx0WyxoYpMEesJeT8phNy0G82Bd7qzWCPGP4gK70jGpqfCWsvj1XZKMMMjReCdUrhtXKB4spQIFi+63WcGV7vDyWQdUTINOhmR8QfZOJoVm+VZgFiqCLI3Aa8AnoYw3UIPiheVjE5lxMulPNIP0QGMR31VY="
}Response
NoteYour responses may differ from those listed below on a case-by-case basis.
| Parameter | Type | Description |
|---|---|---|
| operationD | String | Unique ID generated to identify a specific operation. |
| success | Boolean | Returns true if request is successful and false for all else. |
| msg | `String | Descriptive message returned only in case of failure |
| timestamp | Number | Timestamp of the operation. Is returned only in case of failure |
| status | | Job status. For further explanation seeJob Status |
| accountsMetadata | Object<AccountMetadata> | An object containing account metadata. |
Account Metadata schema
| Parameter | Type | Description |
|---|---|---|
| routingNumber | String | The account's routing number. |
| swiftCode | String | Bank's SWIFT code (e.g.: EBILAEAD). |
| sortCode | String | Bank's sort code. |
| bankId | String | Bank's unique id given by Dapi. |
| bankType | | Bank type, retail (personal banking) or business (business banking) |
| bankName | String | Bank's full name. |
| branchName | String | Bank's branch name. |
| branchAddress | String | Bank's branch address. |
| isCreateBeneficiaryEndpointRequired | Boolean | If the bank requires calling the payment/beneficiaries/create endpoint before initiating a transfer. |
| country | Object<Country> | Object containing country information. |
| address | Object<Address> | Object containing the account's address information. |
| transferBounds | Array<TransferBounds> | Array containing information about account transfer bounds. |
| beneficiaryCoolDownPeriod | Object<CoolDownPeriod> | An object containing information about whether there is a beneficiary cool down period and its duration. |
| transactionRange | Object<TransactionRange> | An object containing information about the available transactions time period. |
Country schema
| Parameter | Type | Description |
|---|---|---|
| code | String | The ISO 3166-1 alpha-2 code of the country. |
| name | String | The full name of the country. |
Address schema
| Parameter | Type | Description |
|---|---|---|
| line1 | String | Street name and number. |
| line2 | String | City name. |
| line3 | String | Country name. |
TransferBounds schema
| Parameter | Type | Description |
|---|---|---|
| minimum | Number | Minimum amount allowed to transfer from the bank for selected type of beneficiary. |
| type | | Type of beneficiary which can be a same bank beneficiary, local bank beneficiary or an international beneficiary. |
| currency | Object<Currency> | Object containing currency information for the minimum amount of transfer allowed. |
Currency schema
| Parameter | Type | Description |
|---|---|---|
| code | String | ISO 4217 code of the currency. |
| name | String | Currency's full name. |
Cool down period schema
| Parameter | Type | Description |
|---|---|---|
| value | Number | Duration of the cool down period. |
| unit | | Duration's unit. |
Transaction range schema
| Parameter | Type | Description |
|---|---|---|
| value | Number | How far back transactions can be retrieved from the financial institution. |
| unit | `Enum( "days" ) | Unit used to specify the duration. |
Response Example
{
"operationID": "c9ee4784-4bcc-4b0f-99af-8583c47fdb77",
"success": true,
"status": "done",
"accountsMetadata": {
"swiftCode": null,
"sortCode": null,
"bankId": "DAPIBANK_AE_DAPI1",
"bankName": "DAPI Sandbox Bank",
"branchName": "dapi CA",
"bankType": "retail",
"branchAddress": "san francisco, ca, usa",
"address": {
"line1": "6c marasi drive",
"line2": "new york",
"line3": "united states of america"
},
"transferBounds": [
{
"minimum": 1,
"currency": {
"code": "USD",
"name": "US DOLLAR"
},
"type": "same"
},
{
"minimum": 1,
"currency": {
"code": "USD",
"name": "US DOLLAR"
},
"type": "local"
}
],
"beneficiaryCoolDownPeriod": {
"value": 0,
"unit": "hrs"
},
"isCreateBeneficiaryEndpointRequired": true,
"willNewlyAddedBeneficiaryExistBeforeCoolDownPeriod": true,
"country": {
"code": "US",
"name": "UNITED STATES OF AMERICA"
},
"transactionRange": {
"unit": "days",
"value": 30
}
}
}Successful Request / Response
Successful Request
{
"appSecret": "00bae841ad979345fca2e2585c000da7eac420504d189cf63315e7a6234d45c68dbd6fff749167292cd1475622805dce7a2b979db3c16e25a2897158ee63845b1043930ff603e19deb1d2d54ad9afc3d52df241d3c4e7286244a2f98a10212e38b2e9f8b0e3a7592702fa4358fb9103b93a26dd6bb92c2be0327ac054f14becc",
"userSecret": "DSv56dS/PB7QGJI/IGX4qKDhGVhIvQQhWo4zxTDT0gn079JlHnUSSq8NAtavX4fpHj7PGQ74BzVXBO9pFHXdSeLCMnayKLTLD0+zmMu7wfGzy+ZhkYTBe040CXWQ+AYaPhGTzfVWu3Lz6oM2QnqM9X56BbvpC80tN8Zg72VJHWC6YjazdQQ2NK0pl9+ePbmqn7PNjFKLhipgpTl7Hw3kvnLrSIC9AcXzVYQeSWYAv3LAEbECB1aNLXC0glMG2W7L2iLTMwy54wHbXXfSQlK9S6X7wmnZ0tn28H0MwMqWdLLtxvcFyYlMr3E0hqYnK4a5sU0IvF1yJAMHMBCbjw2Trnx2VMuX5IWjdxScfh+8IxWGvKl6RypksJTyNg100H+Q+j0vfKW/bOijFolZgHJtAxUowPlewK9JwoWahkbX2KTGoqQbSCh6KSzaCxdbg7ykNI5n+m6vdoWzGfZGFYjfgMX6aMInAM3b32ZAp9DlfFxRkg3oeoLBuTGTz73E51bZj9mGgD0FxkIXFPIWGx0WyxoYpMEesJeT8phNy0G82Bd7qzWCPGP4gK70jGpqfCWsvj1XZKMMMjReCdUrhtXKB4spQIFi+63WcGV7vDyWQdUTINOhmR8QfZOJoVm+VZgFiqCLI3Aa8AnoYw3UIPiheVjE5lxMulPNIP0QGMR31VY="
}Successful Response
{
"operationID": "c9ee4784-4bcc-4b0f-99af-8583c47fdb77",
"success": true,
"status": "done",
"accountsMetadata": {
"swiftCode": null,
"sortCode": null,
"bankId": "DAPIBANK_AE_DAPI1",
"bankName": "DAPI Sandbox Bank",
"branchName": "dapi CA",
"bankType": "retail",
"branchAddress": "san francisco, ca, usa",
"address": {
"line1": "6c marasi drive",
"line2": "new york",
"line3": "united states of america"
},
"transferBounds": [
{
"minimum": 1,
"currency": {
"code": "USD",
"name": "US DOLLAR"
},
"type": "same"
},
{
"minimum": 1,
"currency": {
"code": "USD",
"name": "US DOLLAR"
},
"type": "local"
}
],
"beneficiaryCoolDownPeriod": {
"value": 0,
"unit": "hrs"
},
"isCreateBeneficiaryEndpointRequired": true,
"willNewlyAddedBeneficiaryExistBeforeCoolDownPeriod": true,
"country": {
"code": "US",
"name": "UNITED STATES OF AMERICA"
},
"transactionRange": {
"unit": "days",
"value": 30
}
}
}Request / Response - When Invalid App Secret Is Specified
Request - When Invalid App Secret Is Specified
{
"appSecret": "invalid_secret",
"userSecret": "DSv56dS/PB7QGJI/IGX4qKDhGVhIvQQhWo4zxTDT0gn079JlHnUSSq8NAtavX4fpHj7PGQ74BzVXBO9pFHXdSeLCMnayKLTLD0+zmMu7wfGzy+ZhkYTBe040CXWQ+AYaPhGTzfVWu3Lz6oM2QnqM9X56BbvpC80tN8Zg72VJHWC6YjazdQQ2NK0pl9+ePbmqn7PNjFKLhipgpTl7Hw3kvnLrSIC9AcXzVYQeSWYAv3LAEbECB1aNLXC0glMG2W7L2iLTMwy54wHbXXfSQlK9S6X7wmnZ0tn28H0MwMqWdLLtxvcFyYlMr3E0hqYnK4a5sU0IvF1yJAMHMBCbjw2Trnx2VMuX5IWjdxScfh+8IxWGvKl6RypksJTyNg100H+Q+j0vfKW/bOijFolZgHJtAxUowPlewK9JwoWahkbX2KTGoqQbSCh6KSzaCxdbg7ykNI5n+m6vdoWzGfZGFYjfgMX6aMInAM3b32ZAp9DlfFxRkg3oeoLBuTGTz73E51bZj9mGgD0FxkIXFPIWGx0WyxoYpMEesJeT8phNy0G82Bd7qzWCPGP4gK70jGpqfCWsvj1XZKMMMjReCdUrhtXKB4spQIFi+63WcGV7vDyWQdUTINOhmR8QfZOJoVm+VZgFiqCLI3Aa8AnoYw3UIPiheVjE5lxMulPNIP0QGMR31VY="
}Response - When Invalid App Secret Is Specified
{
"success": false,
"status": "failed",
"msg": "Invalid/expired token or invalid secret",
"timestamp": 1617057964976
}Request / Response - When App Secret Is Not Specified
Request - When App Secret Is Not Specified
{
"userSecret": "DSv56dS/PB7QGJI/IGX4qKDhGVhIvQQhWo4zxTDT0gn079JlHnUSSq8NAtavX4fpHj7PGQ74BzVXBO9pFHXdSeLCMnayKLTLD0+zmMu7wfGzy+ZhkYTBe040CXWQ+AYaPhGTzfVWu3Lz6oM2QnqM9X56BbvpC80tN8Zg72VJHWC6YjazdQQ2NK0pl9+ePbmqn7PNjFKLhipgpTl7Hw3kvnLrSIC9AcXzVYQeSWYAv3LAEbECB1aNLXC0glMG2W7L2iLTMwy54wHbXXfSQlK9S6X7wmnZ0tn28H0MwMqWdLLtxvcFyYlMr3E0hqYnK4a5sU0IvF1yJAMHMBCbjw2Trnx2VMuX5IWjdxScfh+8IxWGvKl6RypksJTyNg100H+Q+j0vfKW/bOijFolZgHJtAxUowPlewK9JwoWahkbX2KTGoqQbSCh6KSzaCxdbg7ykNI5n+m6vdoWzGfZGFYjfgMX6aMInAM3b32ZAp9DlfFxRkg3oeoLBuTGTz73E51bZj9mGgD0FxkIXFPIWGx0WyxoYpMEesJeT8phNy0G82Bd7qzWCPGP4gK70jGpqfCWsvj1XZKMMMjReCdUrhtXKB4spQIFi+63WcGV7vDyWQdUTINOhmR8QfZOJoVm+VZgFiqCLI3Aa8AnoYw3UIPiheVjE5lxMulPNIP0QGMR31VY="
}Response - When App Secret Is Not Specified
{
"success": false,
"status": "failed",
"msg": "The 'appSecret' field is required.",
"type": "VALIDATION_ERROR",
"timestamp": 1617058257299
}
NoteFor more information and detailed breakdown of possible errors, please seeErrors.
Updated about 1 year ago