GET https://api.veriko.mx/v1/public/banks

List SPEI banks

Audience
public

Returns the current SPEI participant catalog (~95 institutions) from the local snapshot maintained by the weekly sync. Used by the bank-selector combobox when creating DiMo phone beneficiaries and in the new-validation modal. The response is ETag-cacheable: includes an ETag header derived from the snapshot fingerprint. A second request with an If-None-Match matching the received ETag returns 304 with no body, avoiding the transfer when the catalog has not changed. The snapshot is refreshed weekly. The code returned here is what goes into bank_code when creating a phone beneficiary via POST /v1/beneficiaries (where it is required). For CLABE/card the bank is inferred from the prefix/BIN, so GET /v1/public/banks is not needed in those flows.

Parameters
Parameter In Type Required Description
If-None-Match header string optional

Weak ETag received previously. If the row's `etag_version` and `status` are still the same, the server responds 304 Not Modified with no body — useful to avoid transferring the body when the async state hasn't changed since the last poll.

Request
curl -X GET 'https://api.veriko.mx/v1/public/banks' \
  -H 'Authorization: Bearer mxcep_••••'

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response 200 ListBanksResponse — Full SPEI catalog.
Field Type Description
type * string

JSON:API resource type.

id * string

5-digit Banxico SPEI code of the bank.

attributes * object

Canonical attributes of the participant bank (code and official name).

code * string

Banxico SPEI code (same value as `id`).

name * string

Bank name.

aliases array

Alternative names (brand/abbreviations) the OCR normaliser maps to this bank. Empty array when no curated alias exists. Lowercase, accent-stripped.

Response status codes GET /v1/public/banks
Status Class Description Body
200 2xx Full SPEI catalog. ListBanksResponse
304 3xx Not modified — the snapshot has not changed since the sent ETag. No body
Response headers 200
Header Type Description
Cache-Control string Client cache TTL (1 h).
ETag string SHA-1 fingerprint of the current snapshot. Pass as `If-None-Match` on subsequent requests.