# Create a data backfill job Use this operation to perform the following types of data backfill actions. Also, you need to upload a corresponding file to perform a data backfill action. * Update Product Rate Plan Charge * Update Rate Plan Charge * Update Invoice Item * Update Credit Memo Detail * Update Debit Memo Detail * Update Invoice Item Adjustment For more information, see Perform data backfill. Endpoint: POST /v1/uno/data-backfill/jobs Version: 2026-02-20 Security: bearerAuth ## Header parameters: - `Zuora-Version` (string) The minor API version. For a list of available minor versions, see API upgrades. ## Request fields (multipart/form-data): - `type` (object, required) - `type.id` (string) Job ID - `type.importType` (string) The data backfill job type Enum: "ProductRatePlanCharge", "RatePlanCharge", "InvoiceDetail", "MemoDetail", "InvoiceItemAdjustment" - `type.uploadedFileId` (string) ID of the uploaded file - `type.uploadedFileName` (string) Name of the uploaded file - `type.uploadedFileUrl` (string) URL of the uploaded file. You can download the uploaded file via this url. - `type.uploadedFileSize` (string) Size of the uploaded file - `type.inputFileSize` (integer) Size of the uploaded file, in the int64 format - `type.outputSize` (string) Size of the output file. - `type.outputType` (string) Type of the output file. - `type.outputFileSize` (integer) Size of the output file, in the int64 format. - `type.resultFileId` (string) ID of the output result file that you can download when a data backfill job is completed. - `type.resultFileName` (string) Name of the result file that you can download when a data backfill job is completed - `type.resultFileUrl` (string) URL of the result file that you can download when a data backfill job is completed. You can download the result file via this URL. In the result file, you can see the data that you uploaded and the result for each record in the Success column of the file. For the record that fails to be updated, you can see the reason for failure in the Error Message column of the file. - `type.uploadedBy` (string) The user who uploads the file - `type.uploadedOn` (string) The date and time when the file is uploaded - `type.completedOn` (string) The date and time when the data backfill action is completed - `type.startedProcessingOn` (string) The date and time when the data backfill action is started - `type.totalCount` (integer) The total count of the data records to backfill - `type.failedCount` (integer) The count of the data records that failed to be backfilled - `type.status` (string) The status of the data backfill job Enum: "Pending", "Processing", "Completed", "Canceled", "Failed", "Stopping", "Stopped" - `type.failureMessage` (string) Message for the failure - `type.processedCount` (integer) The count of the data records that are being processed - `type.successCount` (integer) The count of the data records that are successfully backfilled - `type.remainingTime` (integer) The remaining time for the data backfill job, in the int64 format - `type.remainingTimeText` (string) The remaining time for the data backfill job, in the text format - `type.completedPercentage` (integer) The percentage of the completed data records - `file` (string, required) A file containing the data about the fields that you want to backfill. This file must be a .csv file or a zipped .csv file. The maximum file size is 4 MB. The data in the file must be formatted according to the data backfill action type that you want to perform. You can download a file template to view all fields supported for your data backfill. For more information, see Perform data backfill. - `checksum` (string) An MD5 checksum that is used to validate the integrity of the uploaded file. ## Response 200 fields (application/json): - `processId` (string) The ID of the process that handles the operation. - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (string) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) Unique identifier of the request. - `success` (boolean) Indicates whether the call succeeded. - `jobId` (string) String of 32 characters that identifies the data backfill job. The id is generated before the job is processed. You can use the id to retrieve the data backfill job result. ## Response 500 fields (application/json): - `reasons` (array) Example: [{"code":"ObjectNotFound","message":"Notification definition with id 6e569e1e05f040eda51a927b140c0ac1 does not exist"}] - `reasons.code` (string) The error code of response. - `reasons.message` (string) The detail information of the error response ## Response 4XX fields (application/json): - `processId` (string) The ID of the process that handles the operation. - `reasons` (array) The container of the error code and message. This field is available only if the success field is false. - `reasons.code` (string) The error code of response. - `reasons.message` (string) The detail information of the error response - `requestId` (string) Unique identifier of the request. - `success` (boolean) Indicates whether the call succeeded.