---
schema_version: "1"
id: f9e3b63f553ec31f1eb0776622e659bcb9c03287829978d4a81684f364b37ab3
title: Bulk API 2.0 Ingest
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/platform/api-asynch/guides/api-bulk-v2/bulk-api-2-0-ingest.md
canonical_url: https://developer.salesforce.com/docs/platform/api-asynch/guide/bulk-api-2-0-ingest.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 136a24f2d3e324bad071ae24ec12da9c86c571cfd4e2f1fd3c195466f8e2a28f
products:
  - Bulk API 2.0 and Bulk API Developer Guide
  - Platform Developer Content
---

# Bulk API 2.0 Ingest

With Bulk API 2.0, you can insert, update, upsert, or delete large data sets. Prepare a comma-separated value (CSV) file representation of the data you want to upload, create a job, upload job data, and let Salesforce take care of the rest within your org.

Use CSV data when submitting data rows for Bulk API 2.0 jobs. Bulk API 2.0 supports several formatting options with CSV data, such as multiple field delimiter characters and line ending characters. Bulk API 2.0 ingest limits are described in [Bulk API and Bulk API 2.0 Limits and Allocations](https://developer.salesforce.com/docs/atlas.en-us.salesforce_app_limits_cheatsheet.meta/salesforce_app_limits_cheatsheet/salesforce_app_limits_platform_bulkapi.htm) in the *Salesforce Developer Limits and Allocations Quick Reference*.

-   **[Understanding Bulk API 2.0 Ingest](https://developer.salesforce.com/docs/platform/api-asynch/guide/datafiles/datafiles-understanding-bulk2-ingest.md)**  


    Learn about Bulk API 2.0 availability, supported methods, and SOQL considerations.

-   **[Prepare Data to Ingest](https://developer.salesforce.com/docs/platform/api-asynch/guide/datafiles/datafiles-prepare-data.md)**  


    Format and organize your CSV files for upload.

-   **[Create a Job](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/create-job.md)**  


    Creates a job representing a bulk operation and its associated data that is sent to Salesforce for asynchronous processing. Provide job data via an **Upload Job Data** request or as part of a multipart create job request.

-   **[Upload Job Data](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/upload-job-data.md)**  


    Uploads data for a job using CSV data you provide.

-   **[Upload Complete](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/close-job.md)**  


    Notifies Salesforce servers that the upload of job data is complete and is ready for processing. You can’t add any more job data. This request is required for every Bulk API 2.0 ingest job. If you don't make this request, processing of your data does not start.

-   **[Get Information About an Ingest Job](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/get-job-info.md)**  


    Retrieves detailed information about a job.

-   **[Get Job Successful Record Results](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/get-job-successful-results.md)**  


    Retrieves a list of successfully processed records for a completed job.

-   **[Get Job Failed Record Results](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/get-job-failed-results.md)**  


    Retrieves a list of failed records for a completed insert, delete, update, upsert, refresh, or consentImport job.

-   **[Get Job Unprocessed Record Results](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/get-job-unprocessed-results.md)**  


    Retrieves a list of unprocessed records for failed or aborted jobs.

-   **[Delete a Job](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/delete-job.md)**  


    Deletes a job. To be deleted, a job must have a state of `UploadComplete`, `JobComplete`, `Aborted`, or `Failed`.

-   **[Abort a Job](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/abort-job.md)**  


    If you abort a job, Salesforce doesn’t process the job.

-   **[Get Information About All Ingest Jobs](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/get-all-jobs.md)**  


    Retrieves detailed information about all jobs in the org. Job records are returned in an indeterminate order.

-   **[Upsert Records](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/bulk-api-2-0-upsert.md)**  


    Create records or update existing records (upsert) based on an ID, or the value of a specified external ID field.

-   **[Use Compression for Bulk API 2.0 Ingest Responses](https://developer.salesforce.com/docs/platform/api-asynch/guide/datafiles/datafiles-use-compression.md)**  


    For ingest jobs, Bulk API 2.0 can compress the *response body*, which reduces network traffic and improves response time.

-   **[Troubleshooting Ingest Timeouts](https://developer.salesforce.com/docs/platform/api-asynch/guide/datafiles/bulk-api-2-0-troubleshooting-timeouts.md)**  


    Solve issues encountered with Bulk API 2.0 ingest operations.

-   **[Errors](https://developer.salesforce.com/docs/platform/api-asynch/guide/reference/bulk-api-2-0-errors.md)**  


    Operations that you perform with Bulk API 2.0 can trigger error codes. This list shows the most common error codes and the Bulk API 2.0 action that possibly triggered them.


