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 the import job and triggers the row-by-row persistence into GET /v1/beneficiaries. The operation is asynchronous: the endpoint returns 202 and the job moves to committing while the worker processes rows. Poll GET /v1/beneficiaries/imports/{id} until completed or failed.

Commit rules:

  • valid and correctable rows are persisted (with alias suffix on collision).
  • fatal and duplicate_account rows are skipped.
  • Previously archived accounts with the same number are reactivated instead of duplicated.

The per-plan beneficiary cap is live and checked here just as it is on an individual create. Every plan sets it to "unlimited" today, so plan_cap_exceeded never fires; it can start firing without a line of code changing, as soon as a price sets a maximum.

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

Job attributes returned after commit (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. 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 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. Possible codes: job_not_committable (state != preview_ready), plan_cap_exceeded (when the cap is active) or the generic commit_failed fallback.ErrorResponse
Errors from POST /v1/beneficiaries/imports/{id}/commit
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
422job_not_committable

Commit not allowed.

Envelope
meta.request_id
a5b6c7d8e9f0