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 beneficiary
  • isCreateBeneficiaryEndpointRequired - Whether bank required registration of the beneficiary to perform a transaction
  • transferBounds - Transaction limits supported by the bank
  • transactionRange - Date range of transactions available for banks users

👍

Pre-Requirement

You have obtained user's permanent access token from Exchange Token endpoint

To read more about authentication process and access token please refer to Authentication Documentation

Request

https://api.dapi.com/v2/metadata/accounts/get

Headers

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

📘

Note

Your 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

Enum( "done", "failed", "user_input_required", "initialized" )

Job status. For further explanation see Job 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

Enum( "retail", "business" )

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

Enum( "same", "local", "intl" )

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

Enum( "hrs" )

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
}

📘

Note

For more information and detailed breakdown of possible errors, please see Errors.