---
title: "Get external account institutions"
description: "Retrieve a list of supported financial institutions for external accounts."
protocol: rest
method: GET
endpoint: "/v1/external-accounts/institutions"
baseUrl: "https://api.gravv.xyz"
group: "External accounts"
auth:
  label: "Api-Key"
  name: "Api-Key"
  in: header
---

# Get external account institutions

<Endpoint method="GET" path="/v1/external-accounts/institutions" />

Retrieve a list of supported financial institutions for external accounts.

## Query Parameters

<ParamField name="page" query="page" type="integer">
  Page number for pagination
</ParamField>

<ParamField name="items_per_page" query="items_per_page" type="integer">
  Number of institutions per page
</ParamField>

<ParamField name="country_iso_code" query="country_iso_code" type="string">
  country ISO 2 code
</ParamField>

<ParamField name="institution_type" query="institution_type" type="string">
  Filters institutions by type.

  Possible values: `bank`, `mobile_money`
</ParamField>

## Responses

| Status | Description |
| --- | --- |
| `200` | List of external account institutions |
| `400` | Input validation failed. |

### 200 response

<ResponseField name="data" type="object">

  <Expandable title="properties">
    <ResponseField name="items" type="object[]">

      <Expandable title="properties">
        <ResponseField name="id" type="string" required>
          Institution identifier.
        </ResponseField>

        <ResponseField name="name" type="string" required>
          Human-readable institution name.
        </ResponseField>

        <ResponseField name="country_iso_code" type="string" required>
          ISO 3166-1 alpha-2 country code.
        </ResponseField>

        <ResponseField name="currency" type="string" required>
          Settlement currency for this institution.
        </ResponseField>

        <ResponseField name="account_number_type" type="string" required>
          Identifier type accepted by this institution.

          Possible values: `bank_account_number`, `iban`, `phone_number`, `clabe`
        </ResponseField>

        <ResponseField name="min_amount" type="integer" required>
          Minimum transfer amount in the institution's currency minor units.
        </ResponseField>

        <ResponseField name="max_amount" type="integer" required>
          Maximum transfer amount in the institution's currency minor units.
        </ResponseField>

        <ResponseField name="logo_url" type="string,null">
          URL to the institution's logo image, when available.
        </ResponseField>

        <ResponseField name="institution_type" type="string,null">
          Category of financial institution.

          Possible values: `bank`, `mobile_money`
        </ResponseField>

      </Expandable>
    </ResponseField>

    <ResponseField name="page" type="integer">
    </ResponseField>

    <ResponseField name="items_per_page" type="integer">
    </ResponseField>

    <ResponseField name="total_pages" type="integer">
    </ResponseField>

  </Expandable>
</ResponseField>

<ResponseField name="error" type="null">
</ResponseField>

<ResponseExample>

```json title="Response"
{
  "data": {
    "items": [
      {
        "account_number_type": "bank_account_number",
        "country_iso_code": "NG",
        "currency": "NGN",
        "id": "c4788635-764d-43d3-9ffb-966b0fe29ff9",
        "max_amount": 10000,
        "min_amount": 1,
        "name": "Keystone Bank PLC"
      },
      {
        "account_number_type": "bank_account_number",
        "country_iso_code": "NG",
        "currency": "NGN",
        "id": "202b48a4-6d18-4ca3-8996-69a83b0e7d0a",
        "max_amount": 10000,
        "min_amount": 1,
        "name": "First City Monument Bank PLC"
      },
      {
        "account_number_type": "bank_account_number",
        "country_iso_code": "NG",
        "currency": "NGN",
        "id": "f91e1b0c-8c98-4917-8c7b-6370a50a2d4f",
        "max_amount": 10000,
        "min_amount": 1,
        "name": "United Bank For Africa PLC"
      }
    ],
    "items_per_page": 10,
    "page": 1,
    "total_pages": 6
  },
  "error": null
}
```

</ResponseExample>

### 400 response

<ResponseField name="data" type="null">
</ResponseField>

<ResponseField name="error" type="string" required>
</ResponseField>

## Authorization

- **ApiKeyAuth**
