GEThttps://api.veriko.mx/v1/beneficiaries/imports/{id}

Get import job status

Audience
public
Auth
API key
Permission
beneficiaries:create
How-to guide →

Returns the job status and per-bucket counters: valid, correctable, fatal, duplicate_account (summed in duplicate_count) and committed/skipped post-commit. Poll this endpoint every 2 s until status is preview_ready, completed, failed or cancelled.

Parameters
ParameterInTypeRequiredDescription
id*pathintegerrequired

Numeric ID of the import job.

e.g. 42
Request
curl -X GET 'https://api.veriko.mx/v1/beneficiaries/imports/{id}' \
  -H 'Authorization: Bearer veriko_••••'

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response 200BeneficiaryImportJobResponse — Current job status with per-bucket counters.
FieldTypeDescription
dataobject

Main response payload. Shape varies by endpoint (object, array, or JSON:API envelope with type, id, attributes).

typestring

JSON:API resource type (always beneficiary_import).

e.g. beneficiary_import
idstring

Numeric job ID expressed as a string (JSON:API format).

e.g. 42
attributesobject

Import job fields.

statusstring

Job status: pending — uploaded, awaiting parsing; parsing — extracting rows; preview_ready — ready for user review; committing — persisting confirmed rows; completed — commit finished; failed — non-recoverable failure (see error_code); cancelled — cancelled by the user.

e.g. preview_ready
file_formatstring

Format of the uploaded file. Accepted: CSV, Excel (xls/xlsx), plain text, and PDF. That is, csv, xls, xlsx, txt, or pdf.

e.g. csv
parse_modestring

Parse mode: template — fixed column format (downloadable from /v1/beneficiaries/imports/template); free — free-form, the system infers the structure.

e.g. template
total_rowsinteger

Total rows extracted from the file. Available once status is preview_ready or later.

e.g. 150
valid_countinteger

Error-free rows, ready for direct commit.

e.g. 120
correctable_countinteger

Rows with auto-corrections applied (e.g. auto-assigned alias). Persisted unless the user rejects them.

e.g. 20
fatal_countinteger

Rows with errors that cannot be auto-corrected. Not persisted and skipped during commit.

e.g. 5
duplicate_countinteger

Sum of duplicate_account and duplicate_alias rows. duplicate_account rows are skipped unless the account is archived (in which case it is reactivated); duplicate_alias rows are persisted with an alias suffix.

e.g. 5
committed_countinteger

Rows effectively persisted in the beneficiary list. Available once status is completed.

e.g. 140
skipped_countinteger

Rows not persisted (fatal or duplicate_account without possible reactivation).

e.g. 10
llm_invokedboolean

true if the AI engine was used during parsing to resolve ambiguous rows in free-form mode.

e.g. false
error_codestring | nullnullable

Stable error code when status=failed (e.g. file_corrupt, plan_cap_exceeded). null in non-failed states.

e.g. null
error_summarystring | nullnullable

Human-readable diagnostic message when status=failed. Card numbers (PANs) are masked in this field.

e.g. null
created_atstring (date-time)

ISO 8601 timestamp in UTC with explicit Z suffix. Example: "2026-05-01T05:14:38Z". Every datetime field uses this shape. The descriptor at meta.datetime makes the contract runtime-assertable.

e.g. 2026-05-01T05:14:38Z
parsed_atstring | nullnullable

ISO 8601 UTC timestamp when parsing completed. null until parsing finishes.

e.g. null
committed_atstring | nullnullable

ISO 8601 UTC timestamp when commit started. null until commit begins.

e.g. null
completed_atstring | nullnullable

ISO 8601 UTC timestamp when the job completed. null while the job has not finished.

e.g. null
metaobject

Response metadata including API version, route prefix, unique request identifier, and the server timestamp in UTC.

versionstring

API version that processed the request.

e.g. 1.47.0
api_versionstring

API route prefix version (e.g. v1).

e.g. v1
request_idstring

Unique request identifier (hex).

e.g. a1b2c3d4e5f6
datetimeobject

Companion descriptor present in every response's meta block (and in outgoing webhook payloads). Lets clients assert the timezone contract without re-reading the spec.

e.g. {"timezone":"UTC","format":"ISO 8601"}
timezone*string

Always UTC — the canonical timezone for every datetime field in the body.

e.g. UTC
format*string

Always ISO 8601 — explicit Z suffix on every datetime.

e.g. ISO 8601
linksobject

Pagination or related links, present only when the endpoint returns a paginated collection.

Response status codesGET /v1/beneficiaries/imports/{id}
StatusClassDescriptionBody
2002xxCurrent job status with per-bucket counters.BeneficiaryImportJobResponse
4014xxAuthentication is required or the provided credentials are invalid.ErrorResponse
4034xxInsufficient permissions.ErrorResponse
4044xxThe resource does not exist or is not visible to the clientError
Errors from GET /v1/beneficiaries/imports/{id}
StatusCodeExample
401unauthorized

Invalid or missing authentication credentials.

Envelope
meta.request_id
c4d5e6f7a8b9
403forbidden

You do not have permission to access this resource.

Envelope
meta.request_id
d5e6f7a8b9c0