---
schema_version: "1"
id: 6ad3169065046dd6b6a9bbc44308d940f16dd7f1c68fa73c0f5b78529dfc8d72
title: Bulk Ingestion
collection: developer
version: current
locale: en-us
portal_url: https://docs.salesforce.com/developer/current/en-us/data-cloud/data-cloud-int/references/ingestionapi/c360-a-api-bulk-ingestion.md
canonical_url: https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-bulk-ingestion.html
source_site: developer.salesforce.com
content_type: documentation
content_hash: 549d60dfd84d4bc67e0a1f0e59ea869c83191c3c393ac5c9ab5271c11fa35a8f
products:
  - Data 360 Integration Guide
  - Data 360 Developer Documentation
---
# Bulk Ingestion

With the Data 360 Ingestion API, you can upsert or delete large data sets. Prepare a CSV file for the data you want to upload, create a job, upload job data, and let Salesforce take care of the rest.

## Bulk Jobs and Operations

The Ingestion API upserts or deletes data in Data 360 using jobs. A bulk job typically goes through following stages:

- Create a job to specify the object type of the data being processed and the operation that’s performed on the data. The operations supported are upserting bulk data or deleting bulk data.
- After the job is created upload data in CSV format to the job.
- To signal the data is ready to be processed, close the job. You can choose to abort the job if necessary.
- Monitor the progress of the job and act on any failed records.
- Delete a job.

## Job Status Values

Jobs transition through these status values during their lifecycle.

| Status | Description |
|---|---|
| Open | Job is created and ready to accept data uploads. |
| UploadComplete | All data is uploaded, the job is closed and ready for processing. |
| InProgress | The system is actively processing the uploaded data. |
| JobComplete | Processing completed successfully and data is available. |
| Failed | Processing failed. Check error details. |
| Aborted | Job was manually aborted. |

## Prepare CSV Files

Lists the field names for the object that you're processing in the first row in the CSV file. Each subsequent row corresponds to a record in your Data 360 data lake. All the records in a CSV file must be for the same object. You specify this object when you first create the job.

- Include all required fields when you create a record.
- Each field-name header in the file must be the same as the Datasource Object's field names. Results only include columns that are a match.
- Updating records works as a full replace. Patch semantics aren’t supported.
- Files must be in UTF-8 format. Upload data must not exceed 150 MB.
- CSV files are expected to be formatted according to RFC 4180, Common Format, and MIME Type for CSV Files.
- Only supports comma field delimiters.
- Empty field values are set to null.

## Example

```nolang
id,contact_name,created_date,tax_exempt,ship_address,total,tax_rate,modified_date
f19cae7e-5cdb-41ce-92ba-539afea04f9d,Jadyn Kozey,2021-07-22T08:57:08.118Z,false,9818 Walter Course Apt. 811,77506,84,2021-07-05T09:31:44.457Z
48c8b6a6-8179-4a15-ba19-ec5c8206ce28,Kristina Jakubowski,2021-07-08T22:57:02.008Z,false,245 Schowalter Port Suite 245,16986,61,2021-07-03T06:20:52.886Z
56e005af-cc6c-4f9c-b628-ae6cbbc909cc,Aletha Wilkinson,2021-07-21T04:01:29.838Z,true,7494 Hudson Ports Apt. 123,23907,99,2021-07-18T23:21:43.240Z

```

## Valid Date Format in Records

The Ingestion API supports ISO 8601 UTC with Zulu format.

- Use the `yyyy-MM-dd` format to specify date values. For example, in `2021-07-05`:

  - `yyyy` is the four-digit year
  - `MM` is the two-digit month
  - `dd` is the two-digit day

- Use the `yyyy-MM-dd'T'HH:mm:ss.SSS'Z'` format to specify dateTime fields. For example, in `2021-07-05'T'09:31:44.457'Z'`:

  - `yyyy` is the four-digit year
  - `MM` is the two-digit month
  - `dd` is the two-digit day
  - `'T'` is a separator indicating that time-of-day follows
  - `HH` is the two-digit hour
  - `mm` is the two-digit minute
  - `ss` is the two-digit seconds
  - `SSS` is the optional three-digit milliseconds (000-999)
  - `'Z'` is the reference UTC timezone

- [**Create a Job**](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-create-a-job.md)

  Creates a job that represents the bulk operation for loading data into the Data 360 org.

- [**Upload Job Data**](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-upload-job-data.md)

  Uploads CSV data for the job to process. A job can consist of up to 100 data files. After all of the data has been uploaded, close the job to indicate the data is ready to be processed.

- [**Close or Abort a Job**](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-close-or-abort-a-job.md)

  Close a job by updating the job state to _UploadComplete_. When you close a job, the uploaded data is enqueued for processing. To abort a job, update the job state to _Aborted_. If you abort a job, the job doesn’t get queued or processed. Any data uploaded as part of the aborted job is deleted.

- [**Delete a Job**](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-delete-a-job.md)

  To delete, a job must have a state of _UploadComplete_, _JobComplete_, _Aborted_, or _Failed_. When you delete a job, the stored job data is also deleted and its metadata is removed.

- [**Get Job Info**](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-get-job-info.md)

  Retrieves detailed information about the specified job.

- [**Get All Jobs**](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-get-all-jobs.md)

  Retrieves all jobs in Data 360.

**See Also**

- [_Data Cloud Integration Guide_: Get Started with Ingestion API](https://developer.salesforce.com/docs/data/data-cloud-int/references/data-cloud-ingestionapi-ref/c360-a-api-get-started.md)
- [_Data Cloud Developer Guide_: Quick Start](https://developer.salesforce.com/docs/data/data-cloud-dev/guide/dc-quick-start.html)
