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

Confirm the bulk import

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

Confirms an import job and triggers the persistence of its rows into GET /v1/beneficiaries. The operation is asynchronous: the endpoint responds with HTTP status 202 and the import moves to committing while the worker processes the rows. GET /v1/beneficiaries/imports/{id} accepts polling until the state is completed or failed. Commit rules:

  • valid and correctable rows are persisted, with an alias suffix if there was an alias collision. The exception is a phone number without a valid bank (bank_code_required_for_phone or invalid_bank_code): it is fixed by choosing the bank in the preview, and if it still has no bank when you confirm it is not saved, becomes fatal with that same code and counts in skipped_count.
  • fatal and duplicate_account rows are skipped, except a duplicate_account whose account is archived, which is reactivated.
  • Previously archived accounts with the same number are reactivated instead of duplicated.
Parameters
ParameterInTypeRequiredDescription
id*pathintegerrequired

Numeric ID of the import job.

e.g. 42
Request
curl -X POST 'https://api.veriko.mx/v1/beneficiaries/imports/{id}/commit' \
  -H 'Authorization: Bearer veriko_••••' \
  -H 'Content-Type: application/json'

Python example — coming soon.

JavaScript example — coming soon.

PHP example — coming soon.

Response 202CommitBeneficiaryImportResponse — Commit enqueued to the worker. The job transitions to `committing`.
FieldTypeDescription
dataobject

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

type*string

JSON:API resource type. Always beneficiary_import.

e.g. beneficiary_import
id*string

Numeric job ID expressed as a string.

e.g. 42
attributes*object

Import job data after the commit, with its transition status.

status*string

New status after enqueuing the commit. The only possible value is committing.

e.g. committing
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. a1b2c3d4e5f66f5e4d3c2b1a
datetimeobject

Companion descriptor present in the meta block of every response (and in the meta of outgoing webhook bodies). 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 codesPOST /v1/beneficiaries/imports/{id}/commit
StatusClassDescriptionBody
2022xxCommit enqueued to the worker. The job transitions to committing.CommitBeneficiaryImportResponse
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
4224xxCommit pre-condition failed. The possible codes are job_not_committable (when the state is not preview_ready), plan_cap_exceeded (when the cap is active) and the generic commit_failed.ErrorResponse
Errors from POST /v1/beneficiaries/imports/{id}/commit
StatusCodeExample
401unauthorized

Invalid or missing authentication credentials.

Envelope
meta.request_id
c4d5e6f7a8b99b8a7f6e5d4c
403permission_denied

You do not have permission to access this resource.

Envelope
meta.request_id
d5e6f7a8b9c00c9b8a7f6e5d
422job_not_committable

Commit not allowed.

Envelope
meta.request_id
a5b6c7d8e9f00f9e8d7c6b5a