---
title: "Get account balance"
method: GET
path: "/transactions/{transactionId}/payment/paymentProvider/account/balance"
tags: ["accountData"]
---

# Get account balance

`GET /transactions/{transactionId}/payment/paymentProvider/account/balance`

Retrieves the details of an Account that was authorized for a Transaction. You need only supply the unique transactionId that was returned as part of a bank authorization.

This is a restricted API and must be approved for usage by the Trustly Compliance team.

**Warning**<br />Please wait to receive the [DataReady](/api-reference/api/event-notifications/data-ready) event before calling this endpoint. Requests to this endpoint made prior to receiving the DataReady event can result in partial data being returned.

**Note for International Financial Institutions**<br />In some geographies the `Account` object in the response for this API may contain additional properties. For example, the `taxId` returned for accounts from Brazilian institutions.

## Path parameters

- `transactionId` string, required

## Headers

- `Authorization` string, required

## Response `200`

OK

- AccountDataGetTransactionsAccountBalanceResponse200
  - `accountBalance` TransactionsTransactionIdPaymentPaymentProviderAccountBalanceGetResponsesContentApplicationJsonSchemaAccountBalance, required
    - `account` TransactionsTransactionIdPaymentPaymentProviderAccountBalanceGetResponsesContentApplicationJsonSchemaAccountBalanceAccount, required
      - `providerId` string — Payment provider ID.
      - `paymentProvider` PaymentProvider2
        - `paymentProviderId` string, required — A unique identifier for the Payment Provider.
        - `type` number, double, required
        - `name` string, required — Payment Provider name.
        - `instantPayoutAvailable` boolean, required — Whether payment provider supports instant payout.
        - `subType` '1000' | '2000' | '2001' — Financial Institution Account Type: * `1000`: Online Banking * `2000`: Manual Entry * `2001`: Manual Entry with Challenge Deposit
        - `swift` string
        - `address` Address3
          - `address1` string — Address Line 1.
          - `city` string — Address City.
          - `state` string — 2 character ISO State code.
          - `zip` string — 5 character US Zip Code.
          - `country` 'US', required — 2 character ISO Country code. Currently only the US is supported.
          - `address2` string — Address Line 2.
        - `country` 'US' | 'CA' | 'UK' | 'DE' | 'AU' — 2-character ISO code of the country for the bank account that was selected. Currently only the US, CA, UK, DE, and AU are supported.
        - `instantPayment` boolean
      - `nameOnAccount` string — Account owner name.
      - `country` 'US' | 'CA' | 'UK' | 'DE' | 'AU' — 2-character ISO code of the country for the bank account that was selected. Currently only the US, CA, UK, DE, and AU are supported.
      - `name` string — A description to identify an specific account (e.g. "Test checking account")
      - `type` number, double — See Financial Institution Account Type Values.
      - `profile` number, double — See Financial Institution Account Profile Values
      - `accountNumber` string — Bank Account Number or VAN if `virtualAccountRoutingPair` is equal to `true`.
      - `iban` string — IBAN (International Bank Account Number) is an internationally agreed system of identifying bank accounts across national borders
      - `verified` boolean — Indicates if the account is verified or not.
      - `verification` FinancialInstitutionAccountVerification
        - `verified` boolean, required — true if the account is verified; false otherwise.
        - `type` '1' | '2' | '3', required — Verification Type: * `1`: Manual - The account was verified with manual account verification. For example, Manual Electronic Check and Micro Challenge Deposit. * `2`: Online Banking verification - The Account was verified using the Trustly Online Banking application. * `3`: Database verification - The Account was verified using the Trustly database or a Third-Party Service.
        - `hasEnoughFunds` boolean, required — If true, there is enough balance in account.
        - `verificationDate` integer, required — The date and time the verification was completed as a UNIX timestamp.
        - `score` '0' | '1' | '2' | '3' | '4' | '5' | '6' | '7' | '8' | '9' | '10' — Verification Score: * `0`: Invalid input. The account or routing number are invalid. (Verified Mapping = false) * `1`: There is a strong indication that the account is invalid. (Verified Mapping = false) * `2`: There are active non-bankable returns on this account that are less than 3 years old. (Verified Mapping = false) * `3`: There are administrative returns on this account. (Verified Mapping = false) * `4`: The format appears to be suspicious. (Verified Mapping = false) * `5`: There is no data on this account or format. (Verified Mapping = false) * `6`: We have not seen this account, but the format appears to be valid. (Verified Mapping = true) * `7`: We have seen this account but have not received a final disposition on the transaction. (Verified Mapping = true) * `8`: We have seen this account, but not in the last 6 months, and have seen no returns associated with the account. (Verified Mapping = true) * `9`: We have seen this account in the last 6 months and have seen no returns associated with the account. (Verified Mapping = true) * `10`: This account has been directly validated with/by the financial institution or 3rd party. We have the highest confidence that this account is valid. (Verified Mapping = true)
        - `thirdPartyScore` '0' | '100' | '200' | '300' | '400' | '500' | '600' | '700' | '800' | '900' | '999' — Verification Third-Party Score: * `0`: Failed RT validation. (Verified Mapping = 0) * `100`: The supplier has a strong indication that this account is invalid. (Verified Mapping = 1) * `200`: The supplier has active non-bankable debt(s) on this account that are less than 3 years old. (Verified Mapping = 2) * `300`: The supplier has administrative returns on this account. (Verified Mapping = 3) * `400`: The supplier does not have Neg data on this account, but the format appears to be suspicious. (Verified Mapping = 4) * `500`: The supplier does not have data on this account or format. (Verified Mapping = 5) * `600`: The supplier has not seen this account, but the format appears valid. (Verified Mapping = 6) * `700`: The supplier has seen this account, but did not receive a final disposition on the transaction. (Verified Mapping = 7) * `800`: The supplier has seen this account, but not in the last 6 months. (Verified Mapping = 8) * `900`: The supplier has seen this account in the last 6 months. (Verified Mapping = 9) * `999`: The supplier has the highest confidence that this account is valid. (Verified Mapping = 10)
        - `numberOfTries` number, double — Number of tries allowed.
        - `numberOfAttemptsLeft` number, double — Number of remaining attempts.
      - `source` number, double
      - `routingNumber` string — Bank Routing Number.
      - `token` string — The Account Token.
      - `accountNumberLastFour` string — The last 4 digits of the real account number.
      - `virtualAccountRoutingPair` boolean — Indicates if account is using virtual/tokenized account and routing numbers (VANs/TANs) or not.
      - `taxId` string — (Only Brazilian Accounts) Personal or business taxpayer identifier.
    - `available` string — Funds currently available for withdrawal or spending (after pending transactions). Returns a decimal numeric string.
    - `currency` string, required
    - `amount` string

## Other responses

- `400` — Bad Request

---

[API](https://skmtc.dev/trustly/apis/api.md) · [All operations](https://skmtc.dev/trustly/apis/api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/trustly/api/revisions/2dad675032f1/schema)
