> ## Documentation Index
> Fetch the complete documentation index at: https://docs.mangopay.com/llms.txt
> Use this file to discover all available pages before exploring further.

# View a Bank Account

<Note>
  **Note – Replaced by Recipients feature**

  The Bank Account object and endpoints have been replaced by the Recipients feature, which all platforms should integrate instead.

  Legacy active Bank Accounts (`Active` is `true`) have been migrated to the new feature and their data is retrievable via the [GET View a Recipient](/api-reference/recipients/view-recipient) endpoint using the same `BankAccountId`. Read more about [legacy bank account migration](/guides/payouts#migration-of-legacy-bank-accounts).
</Note>

### Path parameters

<ParamField path="BankAccountId" type="string" required>
  The unique identifier of the bank account.
</ParamField>

### Responses

<AccordionGroup>
  <Accordion title="200 - IBAN-type">
    <ResponseField name="OwnerAddress" type="object">
      Information about the address of residence of the bank account owner.

      <Expandable title="properties">
        <ResponseField name="AddressLine1" type="string">
          Max. length: 255 characters

          The first line of the address.
        </ResponseField>

        <ResponseField name="AddressLine2" type="string">
          Max. length: 255 characters

          The second line of the address.
        </ResponseField>

        <ResponseField name="City" type="string">
          Max. length: 255 characters

          The city of the address.
        </ResponseField>

        <ResponseField name="Region" type="string">
          Max. length: 255 characters

          The region of the address. This field is optional except if the `Country` is US, CA, or MX.
        </ResponseField>

        <ResponseField name="PostalCode" type="string">
          Max. length: 255 characters

          The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
        </ResponseField>

        <ResponseField name="Country" type="string">
          Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats))

          The country of the address.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="IBAN" type="string">
      Max. length: 34 characters

      The IBAN (international bank account number) of the bank account.
      It follows the CCDDBBAN format in which:

      * CC represents the country code (ISO 3166-1 alpha 2)
      * DD represents two check digits used by banking systems to avoid simple errors
      * BBAN stands for the Basic Bank Account Number which is up to 30 alphanumeric characters that are country-specific.\
        Note: You will need a valid IBAN (i.e., existing in real life) when testing on a Sandbox account even if no actual payout will be processed.
    </ResponseField>

    <ResponseField name="BIC" type="string">
      The BIC (international identifier of the bank) for IBAN or OTHER-type bank accounts.

      The BIC can have one of the two following formats:

      * BIC8 – 8-character BIC (AAAABBCC)
      * BIC11 – 11-character BIC (AAAABBCCDDD)

      In which:

      * AAAA represents the bank code: 4 characters defining the bank
      * BB represents the country code: 2 characters forming the country ISO code (ISO 3166 format)
      * CC represents the location code: 2 localization characters (alphabetical or numeric) to distinguish banks from the same country
      * DDD represents the branch code: 3 characters used to define the branch of the bank (sometimes replaced with XXX)
    </ResponseField>

    <ResponseField name="UserId" type="string">
      The unique identifier of the User (natural or legal) who owns the bank account.
    </ResponseField>

    <ResponseField name="OwnerName" type="string">
      Max. length: 255 characters

      The full name of the owner of the bank account. (Format: FirstName LastName)
    </ResponseField>

    <ResponseField name="Type" type="string">
      **Returned values:** `IBAN`, `US`, `CA`, `GB`, `OTHER`

      The type of the bank account, indicating the country where the real-life account is registered\
      The values are:

      * `IBAN` – For accounts registered in countries that use IBAN 
      * `US` – For accounts registered in the United States 
      * `CA` – For accounts registered in Canada
      * `GB` – For accounts registered in the United Kingdom
      * `OTHER` – For accounts registered in countries that do not use IBAN (and are not US, CA, GB)
    </ResponseField>

    <ResponseField name="Id" type="string">
      Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)

      The unique identifier of the object.
    </ResponseField>

    <ResponseField name="Tag" type="string">
      Max. length: 255 characters

      Custom data that you can add to this object.\
      For bank accounts, you can use this parameter to identify the bank account by currency or usage (personal or professional for instance).
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the object was created.
    </ResponseField>

    <ResponseField name="Active" type="boolean">
      Whether or not the Bank Account is active.
      Mangopay automatically sets this parameter to `false` if the bank account is closed or does not exist anymore.
    </ResponseField>
  </Accordion>

  <Accordion title="200 - GB-type">
    <ResponseField name="OwnerAddress" type="object">
      Information about the address of residence of the bank account owner.

      <Expandable title="properties">
        <ResponseField name="AddressLine1" type="string">
          Max. length: 255 characters

          The first line of the address.
        </ResponseField>

        <ResponseField name="AddressLine2" type="string">
          Max. length: 255 characters

          The second line of the address.
        </ResponseField>

        <ResponseField name="City" type="string">
          Max. length: 255 characters

          The city of the address.
        </ResponseField>

        <ResponseField name="Region" type="string">
          Max. length: 255 characters

          The region of the address. This field is optional except if the `Country` is US, CA, or MX.
        </ResponseField>

        <ResponseField name="PostalCode" type="string">
          Max. length: 255 characters

          The postal code of the address. The postal code can contain the following characters: alphanumeric, dashes, and spaces.
        </ResponseField>

        <ResponseField name="Country" type="string">
          Format: Two-letter country code ([ISO 3166-1 alpha-2 format](/api-reference/overview/data-formats))

          The country of the address.
        </ResponseField>
      </Expandable>
    </ResponseField>

    <ResponseField name="AccountNumber" type="string">
      Length: 8 digits

      The unique set of digits of the bank account.
    </ResponseField>

    <ResponseField name="SortCode" type="string">
      The 6-digit sort code, assigned to UK financial institutions, for GB-type bank accounts.
    </ResponseField>

    <ResponseField name="UserId" type="string">
      The unique identifier of the User (natural or legal) who owns the bank account.
    </ResponseField>

    <ResponseField name="OwnerName" type="string">
      Max. length: 255 characters

      The full name of the owner of the bank account. (Format: FirstName LastName)
    </ResponseField>

    <ResponseField name="Type" type="string">
      **Returned values:** `IBAN`, `US`, `CA`, `GB`, `OTHER`

      The type of the bank account, indicating the country where the real-life account is registered\
      The values are:

      * `IBAN` – For accounts registered in countries that use IBAN 
      * `US` – For accounts registered in the United States 
      * `CA` – For accounts registered in Canada
      * `GB` – For accounts registered in the United Kingdom
      * `OTHER` – For accounts registered in countries that do not use IBAN (and are not US, CA, GB)
    </ResponseField>

    <ResponseField name="Id" type="string">
      Max length: 128 characters (see [data formats](/api-reference/overview/data-formats) for details)

      The unique identifier of the object.
    </ResponseField>

    <ResponseField name="Tag" type="string">
      Max. length: 255 characters

      Custom data that you can add to this object.\
      For bank accounts, you can use this parameter to identify the bank account by currency or usage (personal or professional for instance).
    </ResponseField>

    <ResponseField name="CreationDate" type="Unix timestamp">
      The date and time at which the object was created.
    </ResponseField>

    <ResponseField name="Active" type="boolean">
      Whether or not the Bank Account is active.
      Mangopay automatically sets this parameter to `false` if the bank account is closed or does not exist anymore.
    </ResponseField>
  </Accordion>
</AccordionGroup>

<ResponseExample>
  ```json 200 - IBAN-type theme={null}
  {
      "OwnerAddress":{
          "AddressLine1":"The Oasis",
          "AddressLine2":"Rue des plantes",
          "City":"Paris",
          "Region":"Ile de France",
          "PostalCode":"75010",
          "Country":"FR"
      },
      "IBAN":"FR7630004000031234567890143",
      "BIC":"CRLYFRPP",
      "UserId":"user_m_01J18HZSACR1EMYNY1TBS8KTJD",
      "OwnerName":"Alex Smith",
      "Type":"IBAN",
      "Id":"bankacc_m_01J6A30MFXK50P8C8PCB73PM1B",
      "Tag":"Created using Mangopay API Postman Collection",
      "CreationDate":1654073079,
      "Active":true
  }  
  ```

  ```json 200 - GB-type theme={null}
  {
      "OwnerAddress": {
          "AddressLine1": "123 London Road",
          "AddressLine2": "Flat 6",
          "City": "London",
          "Region": "Greater London",
          "PostalCode": "SE1 7WP",
          "Country": "GB"
      },
      "AccountNumber": "11696419",
      "SortCode": "010039",
      "UserId": "user_m_01J18HZSACR1EMYNY1TBS8KTJD",
      "OwnerName": "Alex Smith",
      "Type": "GB",
      "Id": "bankacc_m_01J6A30MFXK50P8C8PCB73PM1B",
      "Tag": "Created using Mangopay API Postman Collection",
      "CreationDate": 1724768080,
      "Active": true
  }
  ```
</ResponseExample>

<RequestExample>
  ```php PHP theme={null}
  <?php 

  require_once 'vendor/autoload.php';

  use MangoPay\MangoPayApi;
  use MangoPay\Libraries\ResponseException as MGPResponseException;
  use MangoPay\Libraries\Exception as MGPException;

  $api = new MangoPayApi();

  $api->Config->ClientId = 'your-client-id';
  $api->Config->ClientPassword = 'your-api-key';
  $api->Config->TemporaryFolder = 'tmp/';

  try {
      $userId = '146476890';
      $bankAccountId = '194612216';

      $response = $api->Users->GetBankAccount($userId, $bankAccountId);

      print_r($response);
  } catch(MGPResponseException $e) {
      print_r($e);
  } catch(MGPException $e) {
      print_r($e);
  }  
  ```

  ```javascript NodeJS   theme={null}
  const mangopayInstance = require('mangopay4-nodejs-sdk')
  const mangopay = new mangopayInstance({
    clientId: 'your-client-id',
    clientApiKey: 'your-api-key',
  })

  let user = {
    Id: '165863393',
  }

  let bankAccount = {
    Id: '172327870',
  }

  const getBankAccount = async (userId, bankAccountId) => {
    return await mangopay.Users.getBankAccount(userId, bankAccountId)
      .then((response) => {
        console.info(response)
        return response
      })
      .catch((err) => {
        console.log(err)
        return false
      })
  }

  getBankAccount(user.Id, bankAccount.Id)  
  ```

  ```ruby Ruby   theme={null}
  require 'mangopay'

  MangoPay.configure do |client|
      client.preproduction = true
      client.client_id = 'your-client-id'
      client.client_apiKey = 'your-api-key'
      client.log_file = File.join(Dir.pwd, 'mangopay.log')
  end

  def viewBankAccount(userId, bankAccountId)
      begin
          response = MangoPay::BankAccount.fetch(userId, bankAccountId)
          puts response
          return response
      rescue MangoPay::ResponseError => error
          puts "Failed to fetch bank account: #{error.message}"
          puts "Error details: #{error.details}"
          return false
      end
  end

  myUser = {
      Id: '165863393'
  }

  myBankAccount = {
      Id: '194239783'
  }

  viewBankAccount(myUser[:Id], myBankAccount[:Id])  
  ```

  ```java Java  theme={null}
  import com.google.gson.Gson;
  import com.google.gson.GsonBuilder;
  import com.mangopay.MangoPayApi;
  import com.mangopay.entities.BankAccount;

  public class DeactivateBankAccount {
      
      public static void main(String[] args) throws Exception {
          MangoPayApi mangopay = new MangoPayApi();
          mangopay.getConfig().setClientId("your-client-id");
          mangopay.getConfig().setClientPassword("your-api-key");
          
          var userId = "user_m_01J29D5XMKKNPX72AR5HRV804X";
          var bankAccountId = "bankacc_m_01J29HTDKMX1P4Z8251CEV81K7";
          BankAccount bankAccount = mangopay.getUserApi().getBankAccount(userId, bankAccountId);

          Gson prettyPrint = new GsonBuilder().setPrettyPrinting().create();
          String prettyJson = prettyPrint.toJson(bankAccount);

          System.out.println(prettyJson);
      }
  }
  ```

  ```python Python   theme={null}
  from pprint import pprint
  import mangopay

  mangopay.client_id='your-client-id'
  mangopay.apikey='your-api-key'

  from mangopay.api import APIRequest
  handler = APIRequest(sandbox=True)

  from mangopay.resources import BankAccount

  bank_account_id = '214651521'

  natural_user_id = '213753890'

  try:
      view_bank_account_id = BankAccount.get(reference = bank_account_id, user_id = natural_user_id)
      pprint(vars(view_bank_account))
  except BankAccount.DoesNotExist:
      print('The Bank Account {} does not exist.'.format(bank_account_id))  
  ```

  ```csharp .NET  theme={null}
  using MangoPay.SDK;
  using Newtonsoft.Json;

  class Program
  {
      static async Task Main(string[] args)
      {
          MangoPayApi api = new MangoPayApi();

          api.Config.ClientId = "your-client-id";
          api.Config.ClientPassword = "your-api-key";


          var userId = "user_m_01J2TZ261WZNDM0ZDRWGDYA4GN";
          var bankAccountId = "bankacc_m_01J536R3EM0A8CSPSVQHHDRG6E";

          var viewBankAccount = await api.Users.GetBankAccountAsync(userId, bankAccountId);

          string prettyPrint = JsonConvert.SerializeObject(viewBankAccount, Formatting.Indented);
          Console.WriteLine(prettyPrint);
  	}
  }
  ```
</RequestExample>
