Zoho: Get bulk read job details
Zoho bulkRead.getBulkReadJobDetails: arguments, response, policy and SDK examples.
← Bulk read operations · Get started
Operation zoho.getbulkreadjobdetails
Provider route: GET /crm/bulk/v8/read/{jobId}. Alter supplies the connection’s credentials and routing.
Call through Alter
Section titled “Call through Alter”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["bulkRead"]["getBulkReadJobDetails"]>[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.bulkRead.getBulkReadJobDetails(input); const result = await call.wait(); return result.bodyJson(); } finally { await app.close(); }}import osfrom alter_sdk import Appfrom 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_read.get_bulk_read_job_details(arguments) result = await call.wait() return result.body_json()| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Additional keys: not allowed |
path | object | Required within parent | Additional keys: not allowed |
path.jobId | string | Required within parent | Maximum length: 100 |
Response
Section titled “Response”Response media type: application/json. The table describes the pinned successful response. Referenced models link to their complete fields.
| Field | Type | Presence | Description and constraints |
|---|---|---|---|
$ | object | Root | Represents the response returned when the bulk read job details are successfully retrieved. Additional keys: not allowed |
data | array | Required within parent | Represents the list of bulk read job details returned in the response. Maximum items: 1000 |
data[] | object | Each item | Represents the details of a bulk read job. Additional keys: not allowed |
data[].created_by | object | Required within parent | Represents the user who created the bulk read job. Additional keys: not allowed |
data[].created_by.id | string | Required within parent | Represents the unique identifier of the user who created the job. Maximum length: 100 |
data[].created_by.name | string | Required within parent | Represents the display name of the user who created the job. Maximum length: 255 |
data[].created_time | string | Required within parent | Represents the date and time when Zoho CRM created the bulk read job, in ISO 8601 format. Format: date-time |
data[].file_type | string | Required within parent | Indicates the format of the exported file. Possible values: csv - The records are exported in CSV format. Known values: csv |
data[].id | string | Required within parent | Represents the unique identifier of the bulk read job. Maximum length: 100 |
data[].operation | string | Required within parent | Specifies the type of action the API completed. Sample - “operation” : “read”. Maximum length: 500 |
data[].query | object | Required within parent | Represents the query configuration used to create the bulk read job, including the module, filter criteria, and field selections. Additional keys: not allowed |
data[].query.criteria | object | Optional | Represents the filter criteria used to narrow the records exported in the bulk read job. Additional keys: not allowed |
data[].query.criteria.group | array | Required within parent | Indicates the list of filter conditions applied to the bulk read query. Maximum items: 1000 |
data[].query.criteria.group[] | object | Each item | Represents a single filter condition in the criteria group. Additional keys: not allowed |
data[].query.criteria.group[].comparator | string | Required within parent | Indicates the comparison operator used in the filter condition. Known values: equal, contains, ends_with, not_contains, not_equal, starts_with |
data[].query.criteria.group[].field | object | Required within parent | Represents the field used in the filter condition. Additional keys: not allowed |
data[].query.criteria.group[].field.api_name | string | Required within parent | Indicates the API name of the filter field. Maximum length: 255 |
data[].query.criteria.group[].field.id | JSON | Required within parent | |
data[].query.criteria.group[].field.id (anyOf 1) | string | Alternative | Represents the unique identifier of the filter field. Maximum length: 100 |
data[].query.criteria.group[].field.id (anyOf 2) | null | Alternative | Represents the unique identifier of the filter field. Maximum length: 100 |
data[].query.criteria.group[].id | JSON | Optional | |
data[].query.criteria.group[].id (anyOf 1) | string | Alternative | Represents the position identifier of the filter condition within the criteria group. Maximum length: 100 |
data[].query.criteria.group[].id (anyOf 2) | null | Alternative | Represents the position identifier of the filter condition within the criteria group. Maximum length: 100 |
data[].query.criteria.group[].type | string | Required within parent | Specifies the data type of the filter field. Known values: value |
data[].query.criteria.group[].value | string | Required within parent | Represents the value used in the filter condition. Maximum length: 500 |
data[].query.criteria.group_operator | string | Required within parent | Specifies the logical operator used to combine conditions within the criteria group. Possible values: and - All filter conditions must be satisfied. or - At least one filter condition must be satisfied. Known values: or, and |
data[].query.cvid | string | Optional | Represents the unique identifier of the Custom View used to pre-filter the records for the bulk read job. Maximum length: 100 |
data[].query.fields | array | Optional | Represents the list of field API names included in the exported data. Maximum items: 1000 |
data[].query.fields[] | string | Each item | Represents the API name of a field included in the exported data. Maximum length: 500 |
data[].query.module | object | Required within parent | Represents the CRM module from which records are exported. Additional keys: not allowed |
data[].query.module.api_name | string | Required within parent | Represents the API name of the CRM module. Maximum length: 255 |
data[].query.module.id | string | Required within parent | Represents the unique identifier of the CRM module. Maximum length: 100 |
data[].query.page | JSON | Required within parent | |
data[].query.page (anyOf 1) | integer | Alternative | Specifies the page number of records to export. Format: int32 |
data[].query.page (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
data[].result | object | Optional | specifies the export result details of the bulk read job, including the download URL and pagination information. Present when the job has completed or partially completed. Additional keys: not allowed |
data[].result.count | JSON | Required within parent | |
data[].result.count (anyOf 1) | integer | Alternative | Specifies the total number of records exported in the bulk read job. Format: int32 |
data[].result.count (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
data[].result.download_url | string | Required within parent | Specifies the URL to download the exported file. Maximum length: 2048 |
data[].result.more_records | boolean | Required within parent | Indicates whether additional records are available beyond the current page. |
data[].result.next_page_token | string | Optional | Represents a token used to retrieve the next page of exported records in subsequent requests. Maximum length: 500 |
data[].result.page | JSON | Required within parent | |
data[].result.page (anyOf 1) | integer | Alternative | Represents the page number of the exported result. Format: int32 |
data[].result.page (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
data[].result.per_page | JSON | Required within parent | |
data[].result.per_page (anyOf 1) | integer | Alternative | Represents the number of records per page in the exported result. Format: int32 |
data[].result.per_page (anyOf 2) | string | Alternative | Pattern: ^-?[0-9]+(?:.[0-9]+)?(?:[eE][+-]?[0-9]+)?$ |
data[].state | string | Required within parent | Represents the current processing state of the bulk read job. Possible values: ADDED - The job has been created and is awaiting processing. QUEUED - The job is queued and scheduled for processing. IN PROGRESS - The job is currently being processed. COMPLETED - The job has finished processing and the result is available for download. Known values: COMPLETED, ADDED, QUEUED, IN PROGRESS |
Policy, approvals and errors
Section titled “Policy, approvals and errors”SDK function policy ID: zoho.getbulkreadjobdetails. Catalog operation: getBulkReadJobDetails. 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.