GEThttps://api.veriko.mx/v1/validations

List validations

Audience
public
Auth
API key
Permission
validations:read
How-to guide →

Returns the paginated validation history of the authenticated account.

The filters combine with each other:

  • status accepts one status, or several separated by commas.
  • with_deleted distinguishes active records from withdrawn ones.
  • The rest narrow by mode, date, content, bank, amount, origin, reference of your own (client_ref) and retry cycle.

The shape of the response is described in pagination.

For the complete record of a validation, with the detailed state of its retries, there is GET /v1/validations/{id}.

Parameters
ParameterInTypeRequiredDescription
amount_maxquerynumber (float)optional

Inclusive maximum amount, as a number. Same formatting-tolerance and error rules as amount_min. Applied independently of amount_min.

e.g. 50000
amount_minquerynumber (float)optional

Inclusive minimum amount, as a number. The server also tolerates sending it as text with a thousands separator or a currency symbol ("1,000.50", "$500") and normalizes it with the same algorithm used across the platform, but the contract is a number: a typed client should send it that way. A non-empty value that isn't recognized as a number returns HTTP status 422 with invalid_filter, instead of being silently ignored. Applied independently of amount_max.

e.g. 1000.5
bankquerystringoptional

SPEI code of the sending or receiving bank in the original request. Values outside 1 to 5 digits are ignored; sending it as a list (bank[]=) returns HTTP status 422 with invalid_filter.

e.g. 012
banksquerystringoptional

Comma-separated SPEI codes (up to 50); returns the validations whose sending or receiving bank is any of them. If an element does not have 1 to 5 digits, the response is HTTP status 422 with invalid_filter. Combines with bank: if you send both, both must hold.

e.g. 40012,40014,40072
batch_idqueryintegeroptional

Identifier of the import job that generated the validations. Sending it as a list (batch_id[]=) returns HTTP status 422 with invalid_filter instead of being ignored.

e.g. 42
client_refquerystringoptional

Exact match with the client_ref sent when validating. It distinguishes case, accents, and inner spaces. An empty value, or one that does not meet the client_ref rules, returns an HTTP status 422 (with invalid_filter in the body).

e.g. orden-4812
fromquerystring (date)optional

Inclusive start date, applied to the validation creation date. Sending it as a list (from[]=) returns HTTP status 422 with invalid_filter.

e.g. 2025-01-01
pagequeryintegeroptional

Requested page; values below 1 are adjusted to 1.

Default: 1

e.g. 1
per_pagequeryintegeroptional

Items per page; adjusted to the 1 to 50 range.

Default: 10

e.g. 10
playgroundquerystringoptional

Keeps only playground validations. The only accepted value is 1; any other value returns HTTP status 422.

e.g. 1
retry_statequerystringoptional

Retry cycle state: pending, resolved, exhausted, or cancelled. Any other value returns HTTP status 422 with invalid_filter.

e.g. pending
searchquerystringoptional

Case-insensitive text search over the submitted, normalized, and Banxico response data. % and _ are treated as literal characters, and the 100-character limit is counted per character (not per byte), so an accented letter is never split in half. If the text, once spaces and hyphens are removed, is made up only of digits, that separator-free form is also matched against the beneficiary account.

e.g. scotiabank
statusquerystringoptional

Lifecycle state. Accepts one value or a comma-separated list: queued, processing, valid, not_found, cep_unavailable, invalid, returned, failed, or error. Unsupported values are ignored.

e.g. valid
toquerystring (date)optional

Inclusive end date, applied to the validation creation date. Sending it as a list (to[]=) returns HTTP status 422 with invalid_filter.

e.g. 2025-03-31
typequerystringoptional

Mode: direct for manual validation or ocr for image-based validation.

e.g. direct
with_deletedquerystringoptional

Scope for withdrawn records: omitted includes active and withdrawn records; 0 keeps active records only and 1, withdrawn records only.

e.g. 0
Request
curl -X GET 'https://api.veriko.mx/v1/validations' \
  -H 'Authorization: Bearer veriko_••••'

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response 200PublicValidationListItem — Paginated list of validations with pagination metadata.
FieldTypeDescription
type*string

Resource type. It is a fixed value per resource and does not vary between responses; it tells resources apart when a collection mixes several.

e.g. validation
id*string (uuid)

Resource identifier, unique within its type. It always travels as a string, even when it originates from an auto-increment column.

attributes*object

Data shown in the validation history.

bank_namestring

Counterparty bank name. It first uses the stored receptor_name or emisor_name; if absent, it tries to resolve the receiver or sender code. If resolution also fails, it returns the stored value when it is not a numeric code, or Unidentified bank (in Spanish, Banco no identificado).

bank_codestring | nullnullable

Canonical Banxico key (3-5 digits) of the counterparty bank, resolved by the domain authority. null when the bank could not be resolved. Additive to bank_name: it is used to resolve resources/avatars by key, never by the visible name.

beneficiary_labelstring | nullnullable

Registered beneficiary label, when available.

amountnumber | nullnullable

Transfer amount in Mexican pesos (MXN).

tracking_keystring

Identifier assigned by the sending bank of the transfer (tracking key).

referencia_numericastring

Numeric series of up to 7 digits that identifies the transfer. It is not unique and may repeat.

beneficiary_accountstring

CLABE, card, or mobile number that received the transfer.

statusstring

Lifecycle state — queued: Awaiting processing; processing: In progress; valid: The CEP was found and matches; not_found: Banxico cannot find the operation; cep_unavailable: Banxico recognizes the transaction but the CEP is not available; invalid: Banxico did not return a recognizable verdict; returned: the transfer was settled and later returned; failed: The validation stopped because of a problem in the data sent; error: The validation stopped because of a service failure.

banxico_statusstring

Verdict reported by Banxico.

validation_typestring

Validation mode — direct: Manual entry of the fields; ocr: Reading of the receipt image.

is_playgroundboolean

true when the validation belongs to the playground.

created_atstring (date-time)

ISO 8601 timestamp in UTC with an explicit Z suffix; for example, "2026-05-01T05:14:38Z". The *_at, *_end, *_start, and *_date fields follow this format. meta.datetime describes the same contract in the response.

e.g. 2026-05-01T05:14:38Z
deleted_atTimestampUTC | null

History withdrawal date in ISO 8601 UTC.

purged_atobject

Date and time, in ISO 8601 UTC, when the validation was purged. It only appears on a purged validation, which is left as a tombstone with its verdict, its dates, and its amount.

retry_stateobject

Summary retry cycle state with configuration represented as null.

enabledboolean

true when the validation has retries configured, even if its cycle has already ended (terminal_state).

e.g. true
max_retriesinteger | nullnullable

Always null in the summary shape.

e.g. null
interval_secondsinteger | nullnullable

Always null in the summary shape.

e.g. null
outcomesarray | nullnullable

Always null in the summary shape.

e.g. null
attempts_completedinteger

Number of retries completed so far.

e.g. 2
next_attempt_atTimestampUTC | null

Date of the next retry; null when none is scheduled.

resolved_atTimestampUTC | null

Date when a retry produced valid; null until that occurs.

exhausted_atTimestampUTC | null

Date when attempts were exhausted; null until that occurs.

cancelled_atTimestampUTC | null

Cycle cancellation date; null until that occurs.

terminal_statestring | nullnullable

Cycle state: pending, resolved, exhausted, or cancelled. It is null when the validation has no retry cycle.

e.g. pending
client_refstring

Reference of your own sent when validating (client_ref), returned as sent. It only appears when the request included it.

e.g. orden-4812
Response status codesGET /v1/validations
StatusClassDescriptionBody
2002xxPaginated list of validations with pagination metadata.PublicValidationListItem
4014xxAuthentication is required or the provided credentials are invalid.ErrorResponse
4224xxA filter could not be applied (code invalid_filter): unsupported value in retry_state, playground, or amount_min/amount_max with an unrecognized format; or the wrong type in from, to, search, bank, or batch_id (for example, sent as a list from[]=).ErrorResponse
Errors from GET /v1/validations
StatusCodeExample
401unauthorized

Invalid or missing authentication credentials.

Envelope
meta.request_id
c4d5e6f7a8b99b8a7f6e5d4c