I'm trying to use the Bulk API 2.0 to upload big files. I need to know how I have to upload the data in case the file converted to base64 exceeds the 150Mb allowed. After reading the documentation I'am not sure how to proceed. Should I create another upload data request fo the same Job Id or I would have to create two (or more) jobs to upload the chunks?

I know that Salesforce will create interanal 10000 record batch either way, but it would be easier to just monitor the state of one job than several ones.

If they have to be different jobs, can those be in parallel? Or they need to be secuencial for the same object?

  • Wondering the same. Did you try splitting it into multiple uploads in the same job? Commented Feb 16, 2019 at 21:01
  • It doesn't work. Just accepts one file per job. I have to split my file and create separate jobs for each of the chunks.
    – Dan
    Commented Mar 26, 2019 at 12:33
  • This is REALLY frustrating, even 4 years later (2023 now), that Salesforce still does not support more than 1 upload to Job-Ingest, AND even worse that Salesforce has not improved their misleading documentation to make this limitation clear to us. IMHO, Bulk v1's capabilities are far superior to v2 in our ability to control things, but v2 is easier to implement since it's all REST.
    – Whitzz
    Commented Dec 18, 2023 at 0:29

2 Answers 2


After some tests I discovered that the API don't support more than one file per job. It fails if more than one file tries to be uploaded. So I had to split my big file and create a job for each of the chunks.

I have to monitor the state of all the jobs but they can run in parallel.


Salesforce allows limit of 100mb CSV size per Job. So if you want to insert more Data then 100mb then you need to create another CSV. OneCSV per Job could be uploaded, so you could create multiple CSVs of your data and then upload it by calling the create job and upload job request multiple time. Jobs could be created and uploaded parallely also.

This is the best way to upload Data exceeding 100mb via Bulk 2.0.

  • To be clear, Salesforce documentation (developer.salesforce.com/docs/atlas.en-us.api_asynch.meta/…) is misleading, and it is not clearly stated the 100MB limit is per-Job, rather they make it sound like that limit is per ingestion upload. Furthermore, even if you keep ingestion upload far smaller than that, they still (Dec 2023) only allow 1 ingestion upload per Bulk v2.0 job.
    – Whitzz
    Commented Dec 18, 2023 at 0:33

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .