---
title: "Submit a custom object bulk job"
method: POST
path: "/objects/jobs"
tags: ["Custom Object Jobs"]
---

# Submit a custom object bulk job

`POST /objects/jobs`

Submits a bulk job request for a bulk operation on the specified custom object records. A succcessful call returns a newly created bulk job. The job ID can be used to poll the job status or upload the CSV file if it is a `create` or `update` job.

### Limits
This custom object bulk jobs have the following limits:
* The concurrent bulk job limit per tenant is 5. Bulk jobs in `accepted`, `pending`, or `in_progress` status are counted towards the concurrent bulk job limit.
* The bulk job execuation order is not guaranteed, which means the bulk job that you submit ealier may be executed later.  
* Only the users that have the "Delete Custom Objects" permission can create a `delete` bulk job. Only the users that have the "Edit Custom Objects" permission can create a `create` or `update` bulk job. See [Platform Permissions](https://docs.zuora.com?resourceId=platform-user-role-for-platform) for more information.

## Headers

- `Accept-Encoding` string
- `Content-Encoding` string
- `Zuora-Track-Id` string
- `Zuora-Entity-Ids` string
- `Zuora-Org-Ids` string
- `Zuora-Version` string, date

## Request body

- CustomObjectBulkJobRequest
  - `filter` CustomObjectBulkDeleteFilter — Filters to determine which records to be deleted in the bulk delete operation.
    - `conditions` CustomObjectBulkDeleteFilterCondition[], required — Group of field filter conditions that are evaluated in conjunction with each other using the AND operator. The minimum number of conditions is 1 and the maximum is 2.
      - `field` string, required — The object field that is evaluated. Only filterable fields can be evaluated in the filter.
      - `operator` 'EQ' | 'GT' | 'LT' | 'GE' | 'LE', required
      - `value` string, required — The value that the filterable `field` is evaluated against in the filter. The data type of `value` is consistent with that of the `field`.
  - `namespace` 'default' | 'com_zuora', required — The namespace of the object. Custom objects belong to the `default` namespace. Zuora standard objects belong to the `com_zuora` namespace. Bulk job operations on the following Zuora standard objects are supported: * SavedQuery
  - `object` string, required — The object that the bulk operation performs on.
  - `operation` 'delete' | 'create' | 'update', required — The operation that the bulk job performs. Only the users that have the "Delete Custom Objects" permission can submit a `delete` bulk job request. Only the users that have the "Edit Custom Objects" permission can submit a `create` or `update` bulk job request. See [Platform Permissions](https://docs.zuora.com?resourceId=platform-user-role-for-platform) for more information.

## Response `200`

OK

- CustomObjectBulkJobResponse
  - `CreatedById` string, uuid — The ID of the user who creates the job.
  - `CreatedDate` string, date-time — The time when the bulk job is created.
  - `Id` string, uuid — The custom object bulk job ID.
  - `UpdatedById` string, uuid — The ID of the user who updates the job.
  - `UpdatedDate` string, date-time — The time when the bulk job is updated.
  - `error` object
    - `code` integer — The error code.
    - `message` string — The error message.
  - `namespace` 'default' | 'com_zuora' — The namespace of the object. Custom objects belong to the `default` namespace. Zuora standard objects belong to the `com_zuora` namespace. Bulk job operations on the following Zuora standard objects are supported: * SavedQuery
  - `object` string — The object to that the bulk operation performs on.
  - `operation` 'delete' | 'create' | 'update' — The operation that the bulk job performs. Only the users that have the "Delete Custom Objects" permission can submit a `delete` bulk job request. Only the users that have the "Edit Custom Objects" permission can submit a `create` or `update` bulk job request. See [Platform Permissions](https://docs.zuora.com?resourceId=platform-user-role-for-platform) for more information.
  - `processingTime` integer — The amount of time elapsed, in milliseconds, from the submission to the completion of the bulk job.
  - `recordsProcessed` integer — The number of object records processed by the bulk job.
  - `status` 'accepted' | 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled' — The status of the bulk job: - `accepted` - The job has been accepted and is ready to process. - `pending` - The job is waiting for your input. You can use [Upload a file for a custom object bulk job](https://developer.zuora.com/api-references/api/operation/POST_UploadFileForCustomObjectBulkJob) to upload a file so that the job can start creating records. - `in_progress` - The job is processing. - `completed` - The job has completed. - `failed` - The job was unable to complete. You can use [List all errors for a custom object bulk job](https://developer.zuora.com/api-references/api/operation/GET_CustomObjectBulkJobErrors) to list the errors. - `cancelled` - The job was cancelled by the server.

## Other responses

- `400` — Invalid input
- `403` — Unauthorized

---

[API](https://skmtc.dev/zuora/apis/api-reference.md) · [All operations](https://skmtc.dev/zuora/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/zuora/api-reference/revisions/d11e237f3e54/schema)
