---
title: "Upload a file for a custom object bulk job"
method: POST
path: "/objects/jobs/{id}/files"
tags: ["Custom Object Jobs"]
---

# Upload a file for a custom object bulk job

`POST /objects/jobs/{id}/files`

Uploads a `.csv` file for a custom object bulk job to create or update custom object records. The job must be in `pending` status. Only one file is allowed per job. Each file supports only one type of operation, with an `id` column required for update operations. The job will start once the upload is finished.

Only the users that have the "Edit Custom Objects" permission can upload files to custom object bulk jobs. See [Platform Permissions](https://knowledgecenter.zuora.com/Billing/Tenant_Management/A_Administrator_Settings/User_Roles/h_Platform_Roles#Platform_Permissions) for more information.

## Path parameters

- `id` string, uuid, required

## Headers

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

## 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://knowledgecenter.zuora.com/Billing/Tenant_Management/A_Administrator_Settings/User_Roles/h_Platform_Roles#Platform_Permissions) 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` — Bad request
- `403` — Unauthorized
- `404` — Job not found

---

[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/702f3caf3985/schema)
