# Data Limits

The following limits apply to the payload you include in the create import call (POST /services/api/x/bulk-api/v1/jobs).

Category Limit
Maximum number of columns/fields in a payload 300
Maximum number of records in a payload 1,000,000
Maximum payload size 20 MB

Dealing with large loads

  • The Bulk API will only load records up to the maximum limit. The Bulk API will ignore any additional records in your payload beyond the maximum limit. For example, if your payload has 1,000,500 records, only the first 1,000,000 will be loaded. The last 500 records will be ignored.
  • If your payload to the imports endpoint is larger than 20 MB consider gzip compression. Just remember to include content-encoding = gzip in the header.

Additionally, note the following limits regarding import reports:

  • Cornerstone retains import results and the actual import payloads for 30 days from the day the import was created.
  • You can download results only five times for a given import. Any attempts to call the /services/api/x/bulk-api/v1/imports/{import_id}/report endpoint more than that limit will result in HTTP 410 errors.
  • The job status and the import results returned by the Bulk API do not contain information about any post-processing steps. For example, the employee load has a post-processing step for new user records where it sets the default password. In such a scenario, if you see the job status = completed being returned by the GET /services/api/x/bulk-api/v1/jobs/{job_id} endpoint, that just means that the data load has been completed. It does not provide any information on the post-processing step. You can see the status of the post-processing step in the Bulk API History page.