Banks Autocomplete

The Payiano Banks Autocomplete endpoint helps you efficiently search for registered banks when creating or updating payout accounts. It provides a fast, user-friendly search mechanism that returns matching banks based on partial input.

This endpoint improves user experience by minimizing typing effort and avoiding selection errors. Especially useful when your system supports a large list of banks per country or payout method. Results are paginated and suitable for use in dropdowns or select fields with dynamic searching.

GET/payout/autocomplete/banks
Sandbox: https://api.payiano.dev/v1/payout/autocomplete/banks
Live: https://api.payiano.com/v1/payout/autocomplete/banks
Security
  • Authorization header with access token is required to access this endpoint: Bearer ACCESS-TOKEN
  • Your access token should be associated to one of these permissions payout.accounts.view , payout.accounts.create or payout.accounts.update
Request
Request body schema:
application/json
Query parameters:
page
Type: integer|null
Default: 1

The page number to be retrieved, for the list of banks. So, a combination of page=1 and per_page=25 returns the first 25 banks items. A combination of page=2 and per_page=25 returns the next 25 banks items.

per_page
Type: integer|null
Default: 25
Possible values: [1 ... 200]

The maximum number of banks items to return in the response.

q
Type: string|null
Min: 3

This parameter enables free-text search across key banks fields (including but not limited to name, code and bic), requiring a minimum of 3 characters per search term. It performs case-insensitive partial matching, and returns relevance-ranked results while automatically handling special characters. This provides a simple yet powerful way to quickly find relevant banks items. It could accept an array_of_strings as well.

sort
Type: array_of_objects|null

Control the ordering of results with sophisticated multi-column sorting. Specify an array of objects, each containing a field and direction. Maximum 5 sort fields per request to maintain optimal performance.

field
required
Type: enum
Possible values:
[
"bic", "code", "name" ]

This attribute specifies the field used for sorting. It can be a direct attribute of the resource or a related field referenced using dot notation.

direction
required
Type: enum
Possible values:
[
"asc", "desc" ]

This attribute specifies the sorting direction. It can be either asc for ascending order or desc for descending order. Please note that the value is case-sensitive.

filters
Type: object|null
Apply complex filtering conditions using nested logical groups and comparison operators. Supports advanced querying with and/or logic, multiple operators, and hierarchical conditions.

The filtering system supports unlimited nesting depth , allowing you to build sophisticated query logic. Each group can contain a mix of conditions and other groups. See Filtering Reference for complete documentation, operator list, and examples.
node
required
Type: enum
Possible values:
[
"group" ]

Used exclusively as the root filter node. Specifies the type of the root filter node. At the root level, only a logical group node is supported. A group node acts as a container that combines one or more filter conditions or nested groups using AND/OR logic. Nested group and condition nodes may appear within this root group to build complex filtering structures.

logic
required
Type: enum
Possible values:
[
"and", "or" ]

This parameter is used exclusively on group nodes. Defines how filters within a filter group are logically combined. This parameter is used exclusively on group nodes and determines how the group evaluates its child filters or nested groups:

and — all contained conditions must match
or — at least one contained condition must match

Logical groups can be nested to construct complex filtering expressions with mixed AND/OR logic across multiple levels.

filters
required
Type: array_of_objects

This parameter is used exclusively on group nodes. Contains the filter nodes (conditions or groups) within this logical group. Groups can be nested to create complex hierarchical filtering logic.

node
Type: enum
Possible values:
[
"group", "condition" ]

Specifies the type of filter node. A filter node can be either a logical group or a condition:

group — a logical grouping of multiple filters combined with AND/OR logic
condition — a single filter condition specifying a field, operator, and value

Filter nodes can be nested to create complex filtering structures.

logic
Type: enum
Possible values:
[
"and", "or" ]

This parameter is used exclusively on group nodes. Defines how filters within a filter group are logically combined. This parameter is used exclusively on group nodes and determines how the group evaluates its child filters or nested groups:

and — all contained conditions must match
or — at least one contained condition must match

Logical groups can be nested to construct complex filtering expressions with mixed AND/OR logic across multiple levels.

filters
Type: array_of_objects

This parameter is used exclusively on group nodes. Contains the filter nodes (conditions or groups) within this logical group. Groups can be nested to create complex hierarchical filtering logic.

field
Type: enum
Possible values:
[
"name", "code", "bic" ]

This parameter is used exclusively on condition nodes. It specifies the field evaluated by the filter condition. The selected field determines which operators are available and the expected format of the comparison value based on its data type.

operator
Type: enum
Possible values:
[
"eq", "not_eq", "gt", "gte", "lt", "lte", "starts_with", "not_starts_with", "ends_with", "not_ends_with", "contains", "not_contains", "in", "not_in", "between", "not_between", "is_null", "is_not_null" ]

This parameter is used exclusively on condition nodes. It specifies the comparison operator applied to the selected field. The set of supported operators depends on the field and its data type, and only operators that are valid for the chosen field can be used. Available operators for each field are provided in the response and presented in the filter selection. Refer to the Filtering Reference for the complete operator list, expected value formats, and usage examples.

value
Type: mixed

This parameter is used exclusively on condition nodes. The value used by the selected operator to evaluate the field. The expected structure and data type of this parameter depend on both the field type and the operator:

• Scalar operators (eq, not_eq, gt, gte, lt, lte, starts_with, ends_with, contains, and their negations) expect a single value matching the field type (for example, string or number).

• List operators (in, not_in) expect an array of values compatible with the field type.

• Range operators (between, not_between) expect an array of exactly two values representing the inclusive lower and upper bounds.

• Null-check operators (is_null, is_not_null) do not accept a value and must be used without this parameter.

Supplying a value that does not match the operator or field type will result in a validation error in strict mode. See the Filtering Reference for supported operators, applicable field types, and examples.

response_type
Type: enum|null
Default: json_list
Possible values:
[
"json_list", "json_aggregate", "export_csv", "export_xls", "export_xlsx" ]

Specifies the output format of the datatable response, supporting both JSON and export file types for easy integration and reporting. Refer to Response Types for more details.

Response
200
Response schema:
application/json
Response body:
total_pages
Type: integer

The total number of pages that are available for the payout banks search criteria.

current_page
Type: integer

The current pagination page.

per_page
Type: integer

The amount of payout banks items return per page.

total_items
Type: integer

The total number of payout banks that match the search criteria.

items
Type: array_of_objects

The list of payout banks that match the search criteria.

name
Type: string

A descriptive name for the bank. This helps identify the bank when managing multiple payout recipients such as vendors, employees, or partners. Examples: 'Banque Misr', 'National Bank of Egypt'.

alt_name
Type: string

An alternative or secondary name for the bank, typically used in a different language or script. For example, if name is provided in English ('Banque Misr'), then alt_name may be provided in Arabic ('بنك مصر'), or vice versa. This helps ensure proper identification of banks across multilingual systems and user interfaces.

code
Type: string

The standardized short code of the bank (e.g., NBE, Banque Misr, CIB ). This code should be unique per country and is commonly used internally or for mapping to ACH directories.

country_code
Type: string

Specify the unique two-letter country code ( e.g EG, SA or AE ) corresponding to the country where the bank is located. This code is part of the standard international country codes set by the ISO .

bic
Type: string
Max: 11

The SWIFT BIC (Bank Identifier Code) of the bank used in international wire transfers. Must be 8 or 11 uppercase alphanumeric characters. Example: 'BMISEGCXXXX' for Banque Misr main branch.

Response sample:
1
{
2 "per_page": 25, 3 "total_pages": 1, 4 "total_items": 1, 5 "current_page": 1, 6
"items": [
7
{
8 "name": "Banque Misr", 9 "alt_name": "بنك مصر", 10 "code": "MISR", 11 "country_code": "EG", 12 "bic": "BMISEGCXXXX" 13 } 14 ] 15}