Skip to content

Zoho: Get bulk write job details

Zoho bulkWrite.getBulkWriteJobDetails: arguments, response, policy and SDK examples.

← Bulk write operations · Get started

Operation zoho.getbulkwritejobdetails

Provider route: GET /crm/bulk/v8/write/{jobId}. Alter supplies the connection’s credentials and routing.

Install @alter-ai/sdk @alter-ai/zoho with npm, or alter-sdk-zoho with pip. Supply your connected customer’s grant ID and the arguments described below.

import { App } from "@alter-ai/sdk";
import { ZohoIntegration } from "@alter-ai/zoho";
async function execute(input: Parameters<ZohoIntegration["bulkWrite"]["getBulkWriteJobDetails"]>[0]) {
const app = new App({ apiKey: process.env.ALTER_API_KEY! });
try {
const provider = new ZohoIntegration(app, { grantId: process.env.PROVIDER_GRANT_ID! });
const call = await provider.bulkWrite.getBulkWriteJobDetails(input);
const result = await call.wait();
return result.bodyJson();
} finally {
await app.close();
}
}
import os
from alter_sdk import App
from alter_sdk_zoho import ZohoIntegration
async def execute(arguments):
async with App(api_key=os.environ["ALTER_API_KEY"]) as app:
provider = ZohoIntegration(app, {"grant_id": os.environ["PROVIDER_GRANT_ID"]})
call = await provider.bulk_write.get_bulk_write_job_details(arguments)
result = await call.wait()
return result.body_json()
FieldTypePresenceDescription and constraints
$objectRootAdditional keys: not allowed
pathobjectRequired within parentAdditional keys: not allowed
path.jobIdstringRequired within parentMaximum length: 100

Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.

FieldTypePresenceDescription and constraints
$objectRootRepresents the full state and processing result of a bulk write job, including the overall status, the per-resource processing summary, the job creator, and the download URL of the result archive.
Additional keys: not allowed
callbackobjectRequired within parentRepresents the callback configuration registered for the bulk write job, used to notify the configured URL when the job completes or fails.
Additional keys: not allowed
callback.methodstringRequired within parentRepresents the HTTP method used to invoke the callback URL.
Possible values:
post - The callback URL is invoked with an HTTP POST request.
Known values: post
callback.urlstringRequired within parentRepresents the URL that receives the job completion notification.
Possible values:
http://requestbin.fullcontact.com/1fcimk51 - Sample callback URL recorded for the job.
Known values: http://requestbin.fullcontact.com/1fcimk51
character_encodingstringOptionalRepresents the character encoding used to read the uploaded file. Returned with the value detected automatically by Zoho CRM, or with the value supplied in the original create request when it was specified.
Maximum length: 50
created_byobjectRequired within parentRepresents the Zoho CRM user who created the bulk write job.
Additional keys: not allowed
created_by.idstringRequired within parentRepresents the unique identifier of the Zoho CRM user who created the bulk write job. Refer to the [Users API](users.yaml#$.paths./users.get) endpoint for details.
Maximum length: 100
created_by.namestringRequired within parentRepresents the display name of the Zoho CRM user who created the bulk write job. Refer to the [Users API](users.yaml#$.paths./users.get) endpoint for details.
Maximum length: 100
created_timestringRequired within parentRepresents the ISO 8601 timestamp at which Zoho CRM created the bulk write job.
Format: date-time
idstringRequired within parentRepresents the unique identifier of the bulk write job.
Maximum length: 100
operationstringRequired within parentRepresents the type of bulk write operation performed by the job, such as insert, update, or upsert.
Maximum length: 50
resourcearrayRequired within parentRepresents the list of resource entries processed by the bulk write job, one entry per resource configuration submitted in the create request.
Maximum items: 100
resource[]objectEach itemRepresents the processing record for a single resource configuration in the bulk write job.
Additional keys: not allowed
resource[].codestringOptionalRepresents the result code returned by Zoho CRM for the processing of this resource entry.
Maximum length: 100
resource[].field_mappingsarrayOptionalRepresents the field mappings applied between columns in the uploaded file and fields on the target module for this resource.
Maximum items: 500
resource[].field_mappings[]objectEach itemRepresents the mapping between a single column in the uploaded file and a field on the target module.
Additional keys: not allowed
resource[].field_mappings[].api_namestringRequired within parentRepresents the API name of the field on the target module that received the column value. Refer to the [Fields API](fields.yaml#$.paths./settings/fields.get) resource for details.
Maximum length: 100
resource[].field_mappings[].default_valueobjectOptionalRepresents the default value used to populate the field when the corresponding column in the file was empty.
Additional keys: not allowed
resource[].field_mappings[].default_value.valuestringRequired within parentRepresents the default value that replaces empty cells in the mapped column.
Maximum length: 500
resource[].field_mappings[].find_byJSONOptional
resource[].field_mappings[].find_by (anyOf 1)stringAlternativeRepresents the field that the bulk write job used to match existing records for this mapping. Returned as null when no matching key was supplied.
Maximum length: 100
resource[].field_mappings[].find_by (anyOf 2)nullAlternativeRepresents the field that the bulk write job used to match existing records for this mapping. Returned as null when no matching key was supplied.
Maximum length: 100
resource[].field_mappings[].formatJSONOptional
resource[].field_mappings[].format (anyOf 1)stringAlternativeRepresents the value format applied to the column when the field requires a specific date, datetime, numeric, or currency pattern. Returned as null when no explicit format was supplied.
Maximum length: 100
resource[].field_mappings[].format (anyOf 2)nullAlternativeRepresents the value format applied to the column when the field requires a specific date, datetime, numeric, or currency pattern. Returned as null when no explicit format was supplied.
Maximum length: 100
resource[].field_mappings[].indexJSONRequired within parent
resource[].field_mappings[].index (anyOf 1)integerAlternativeRepresents the zero-based column index in the uploaded file whose value was written to the mapped field.
Format: int32
resource[].field_mappings[].index (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resource[].field_mappings[].moduleJSONOptional
resource[].field_mappings[].module (anyOf 1)stringAlternativeRepresents the related module API name supplied for lookup-style mappings that resolve values against a sibling module. Returned as null when no related module was supplied.
Maximum length: 100
resource[].field_mappings[].module (anyOf 2)nullAlternativeRepresents the related module API name supplied for lookup-style mappings that resolve values against a sibling module. Returned as null when no related module was supplied.
Maximum length: 100
resource[].field_mappings[].parent_column_indexJSONOptional
resource[].field_mappings[].parent_column_index (anyOf 1)JSONAlternative
resource[].field_mappings[].parent_column_index (anyOf 1) (anyOf 1)integerAlternativeRepresents the column index of the parent record reference when the mapped field is part of a subform or related record. Returned as null when no parent column was supplied.
Format: int32
resource[].field_mappings[].parent_column_index (anyOf 1) (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resource[].field_mappings[].parent_column_index (anyOf 2)nullAlternativeRepresents the column index of the parent record reference when the mapped field is part of a subform or related record. Returned as null when no parent column was supplied.
Format: int32
resource[].fileobjectOptionalRepresents the per-file processing summary for this resource entry.
Additional keys: not allowed
resource[].file.added_countJSONRequired within parent
resource[].file.added_count (anyOf 1)integerAlternativeRepresents the number of records that were created from the file.
Format: int32
resource[].file.added_count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resource[].file.namestringRequired within parentRepresents the file name read from the uploaded archive.
Maximum length: 255
resource[].file.skipped_countJSONRequired within parent
resource[].file.skipped_count (anyOf 1)integerAlternativeRepresents the number of records that were skipped during processing. The error column in the result file explains why each record was skipped.
Format: int32
resource[].file.skipped_count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resource[].file.statusstringRequired within parentRepresents the processing status of the file within this resource entry.
Possible values:
COMPLETED - The file was fully processed.
ADDED - The file was queued for processing.
INPROGRESS - The file is currently being processed.
SKIPPED - The file was skipped.
Known values: COMPLETED, ADDED, INPROGRESS, SKIPPED
resource[].file.total_countJSONRequired within parent
resource[].file.total_count (anyOf 1)integerAlternativeRepresents the total number of records that were created, updated, or skipped during processing.
Format: int32
resource[].file.total_count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resource[].file.updated_countJSONRequired within parent
resource[].file.updated_count (anyOf 1)integerAlternativeRepresents the number of records that were updated from the file.
Format: int32
resource[].file.updated_count (anyOf 2)stringAlternativePattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$
resource[].ignore_emptybooleanOptionalIndicates whether empty cells in the uploaded file were skipped when updating records.
Possible values:
true - Empty values in a column were ignored and only non-empty values were written.
false - Empty values in a column were written to the corresponding field.
resource[].moduleobjectRequired within parentRepresents the target CRM module into which the resource was written.
Additional keys: not allowed
resource[].module.api_namestringRequired within parentRepresents the API name of the target CRM module into which records were written. Refer to the [Modules](modules.yaml#$.paths./settings/modules.get) resource for details.
Maximum length: 100
resource[].module.idstringOptionalRepresents the unique identifier of the target CRM module. Refer to the [Modules](modules.yaml#$.paths./settings/modules.get) resource for details.
Maximum length: 100
resource[].statusstringRequired within parentRepresents the processing status of this resource entry.
Possible values:
COMPLETED - All records in the resource were processed successfully.
ADDED - The resource was queued for processing.
INPROGRESS - The resource is currently being processed.
SKIPPED - The resource was skipped without being processed.
Known values: COMPLETED, ADDED, INPROGRESS, SKIPPED
resource[].typestringRequired within parentRepresents the type of the processed resource.
Possible values:
data - Indicates that the resource contained record data.
Known values: data
resultobjectOptionalRepresents the result metadata of the completed bulk write job, including the download URL of the result archive.
Additional keys: not allowed
result.download_urlstringRequired within parentRepresents the URL from which the result archive of the bulk write job can be downloaded. The download URL is accessible for up to seven days after job completion.
Maximum length: 500
statusstringRequired within parentRepresents the current overall status of the bulk write job. Sample values include ADDED, INPROGRESS, COMPLETED, and SKIPPED.
Maximum length: 50

SDK function policy ID: zoho.getbulkwritejobdetails. Catalog operation: getBulkWriteJobDetails. Rules can name either ID; function rules distinguish managed calls and conservatively cover raw calls sharing the route. Existing grant permissions and policy rules apply. wait() returns an immediate result or waits for a required approval; it never approves the request itself. Persist the approval ID to resume after a restart.

Provider errors retain their response; JSON decoding raises ProviderAPIError for provider failures. ManagedOperationError identifies contract/input/retention errors. See error handling and provider-specific behavior. Sensitive input may be refused before approval storage. A decoding error never resubmits a write.

Official provider source

Report an issue with this page

Necessary

Required for sign-in, security, authorization, and remembering your choices.

Always active

Analytics

Helps us understand which product and documentation features are useful.

Performance diagnostics

Uses performance tracing and privacy-masked session replay to diagnose problems.

You can change these choices at any time from Cookie settings.