The Bulk API endpoint is used to process a large amount of data while minimizing the number of calls your system makes. This user guide will explain how the Bulk API works and how to use it.

Why Use Bulk Jobs?

Many Cvent REST endpoints support create, update, or delete actions. Depending on the endpoint, it may support performing these actions on one or more records at a time. For example, Create Contact supports creating 10 contacts at a time. To create 50 contacts, a total of 5 requests would need to be made by your system to create all 50 contacts. The bulk endpoint allows you to package data and submit it in fewer requests. In this example, 50 data points can be sent in the Create Bulk Job request, specifying the endpoint (/contacts) and the operation (POST). The job will run and create 50 contacts.

Understanding Bulk Jobs

When you create a bulk job you can include the data in the create request. If data is supplied the job starts immediately. A maximum of 1,000 records can be submitted this way.


process workflow

If data is NOT supplied when the job is created, the job goes into pending status. You’ll receive an ID for the pending job to reference later.

When you need to add data to the job, the Upload Bulk Job Data endpoint allows you to upload records using the job ID as your {id} reference. 1,000 records can be added to the job at a time. Once you’ve added all the data you need (up to 50,000 records), you can begin the job with the Run Bulk Job endpoint, supplying the needed ID.


process workflow

A few key limitations to be aware of:

  • Data being supplied needs to be in an array, structured in the way the endpoint expects. This often means you’ll have nested arrays in your Bulk Job requests. Refer to the Bulk Job sample and the targeted endpoint sample data for examples.
  • Pending bulk jobs have a TTL (time-to-live) of 1 week and expire when they are complete or never run.
  • The 1 week period is refreshed each time new data is uploaded to the job.
  • 1,000 records can be added to the job per call.
  • A maximum of 50,000 records can be added to one job.
  • Bulk jobs do not consume your API quota. Only calls directly made by you (including creating bulk jobs, running jobs, etc.) will consume quota.

You can check the status of a bulk job using the Get Bulk Job request which will report the status of the job and how many records succeeded or failed.

Last updated on