v1

latestOpenAPI 3.0.1MIT2026-07-263151,3912.3 MB
Customers

Update Customers in Bulk

Updates customers in one asynchronous operation.

The request can include up to 10 MB of data.

The response returns a unique asynchronous action ID. Use this ID in the query paramater of the GET Async Action endpoint to check, e.g.:

  • The status of your request (in queue, in progress, done, or failed)

  • Resources that failed to be updated

  • The report file with details about the update

If a customer object is not found, it is upserted. This is shown in the report file in the GET Async Action endpoint. The upserted resources have value false in the found column and true in the updated column.

This API request starts a process that affects Voucherify data in bulk. In the case of small jobs (like bulk update), the request is put into a queue and processed when every other bulk request placed in the queue prior to this request is finished.

post/v1/customers/bulk/async

Request body

source_idstring required

Unique customer source ID.

namestring

Customer's first and last name.

descriptionstring

An arbitrary string that you can attach to a customer object.

emailstring

Customer's email address.

phonestring

Customer's phone number. This parameter is mandatory when you try to send out codes to customers via an SMS channel.

birthdaystring date

Deprecated. Customer's birthdate; format YYYY-MM-DD.

birthdatestring date

Customer's birthdate; format YYYY-MM-DD.

metadataobject

A set of custom key/value pairs that you can attach to a customer. The metadata object stores all custom attributes assigned to the customer. It can be useful for storing additional information about the customer in a structured format. This metadata can be used for validating whether the customer qualifies for a discount or it can be used in building customer segments.

Response

Returns the ID of the scheduled asynchronous action. The response informs you that the request has been accepted and the resources will be updated in the repository asynchronously. To check the status and result, copy the async_action_id from the response and use it as a query parameter in the GET Async Action endpoint.

async_action_idstring required

The ID of the scheduled asynchronous action.

Example response

{
  "async_action_id": "aa_0a875d56c805df6601"
}