Zoho Analytics Bulk Import - Asynchronous API
Asynchronous operations for importing data in bulk.
Asynchronous operations for importing data in bulk.
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/zoho-analytics-bulk-import-asynchronous-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Zoho Analytics Bulk Bulk Import - Asynchronous API
version: v2
description: API for Zoho Analytics Bulk Operations, including data import and export.
servers:
- url: https://analyticsapi.zoho.com
security:
- iam-oauth2-schema:
- ZohoAnalytics.data.read
- ZohoAnalytics.data.create
- ZohoAnalytics.data.update
- ZohoAnalytics.data.delete
- ZohoAnalytics.data.all
tags:
- name: Bulk Import - Asynchronous
description: Asynchronous operations for importing data in bulk.
paths:
/restapi/v2/bulk/workspaces/{workspace-id}/data:
post:
tags:
- Bulk Import - Asynchronous
security:
- iam-oauth2-schema:
- ZohoAnalytics.data.create
summary: Create Import Job for a New Table (Asynchronous)
description: 'Create an import job to import data into a new table asynchronously. Max allowed file size is 100 MB.
Workflow of Asynchronous Import API:
1. Create Import Job:
- Initiate the import by calling the Create Import Job API.
- A unique JOBID will be returned in the response, which serves as the reference for tracking the import job.
2. Check Job Status:
- Use the Get Import Job Details API to monitor the status of the import job.
- The JOBID must be used in the request to check the status periodically (e.g., every 10 seconds).
- The response will include a JOBCODE, which indicates the current state of the job.
Handling Import Job Status Based on JOBCODE:
- If the JOBCODE is 1001 or 1002, wait for a few seconds and repeat the status check loop.
- If the JOBCODE is 1003, stop the status check and inspect the error message for details.
- If the JOBCODE is 1005, verify the validity of the JOBID and terminate the status check.
- If the JOBCODE is 1004, the job is complete, and the import summary will be returned.
Limitations:
- The import job summary is retained only for one hour after job completion.
- A maximum of 5 simultaneous import jobs is allowed per organization.
- A maximum file size of 100 MB can be imported.'
operationId: createImportJobNewTable
parameters:
- $ref: '#/components/parameters/org-id'
- $ref: '#/components/parameters/workspace-id'
- in: query
name: CONFIG
required: true
schema:
type: string
examples:
jsonConfig:
summary: JSON
value: '{"tableName":"Sales","fileType":"json","autoIdentify":true}'
csvConfig:
summary: CSV
value: '{"tableName":"Sales","fileType":"csv","autoIdentify":true}'
description: JSONObject with configuration to initiate a new import job. (Refer `BulkImportConfigNewTable` schema). Value must be stringified and URL-encoded.
requestBody:
description: 'The file to be imported. Format should be multipart/form-data. '
required: true
content:
multipart/form-data:
schema:
type: object
properties:
FILE:
type: string
format: binary
description: The file to be imported.
required:
- FILE
responses:
'200':
description: Successful import job creation response
content:
application/json:
schema:
$ref: '#/components/schemas/ImportJobCreationResponse'
examples:
Default:
value:
status: success
summary: Create bulk import job
data:
jobId: '1767024000003153087'
default:
$ref: https://raw.githubusercontent.com/zoho/analytics-oas/refs/heads/main/v2.0/zoho-analytics-api-common.json#/components/responses/CommonErrorResponse
/restapi/v2/bulk/workspaces/{workspace-id}/views/{view-id}/data:
post:
tags:
- Bulk Import - Asynchronous
security:
- iam-oauth2-schema:
- ZohoAnalytics.data.create
summary: Create Import Job for an Existing Table (Asynchronous)
description: 'Create an import job to import data into a specified existing table asynchronously. Max allowed file size is 100 MB.
Workflow of Asynchronous Import API:
1. Create Import Job:
- Initiate the import by calling the Create Import Job API.
- A unique JOBID will be returned in the response, which serves as the reference for tracking the import job.
2. Check Job Status:
- Use the Get Import Job Details API to monitor the status of the import job.
- The JOBID must be used in the request to check the status periodically (e.g., every 10 seconds).
- The response will include a JOBCODE, which indicates the current state of the job.
Handling Import Job Status Based on JOBCODE:
- If the JOBCODE is 1001 or 1002, wait for a few seconds and repeat the status check loop.
- If the JOBCODE is 1003, stop the status check and inspect the error message for details.
- If the JOBCODE is 1005, verify the validity of the JOBID and terminate the status check.
- If the JOBCODE is 1004, the job is complete, and the import summary will be returned.
Limitations:
- The import job summary is retained only for one hour after job completion.
- A maximum of 5 simultaneous import jobs is allowed per organization.
- A maximum file size of 100 MB can be imported.'
operationId: createImportJobExistingTable
parameters:
- $ref: '#/components/parameters/org-id'
- $ref: '#/components/parameters/workspace-id'
- $ref: '#/components/parameters/view-id'
- in: query
name: CONFIG
required: true
schema:
type: string
examples:
jsonConfig:
summary: JSON
value: '{"importType":"append","fileType":"json","autoIdentify":"true"}'
csvConfig:
summary: CSV
value: '{"importType":"append","fileType":"csv","autoIdentify":"true"}'
description: JSONObject with configuration to initiate a new import job. (Refer `BulkImportConfigExitingTable` schema). Value must be stringified and URL-encoded.
requestBody:
description: 'The file to be imported. Format should be multipart/form-data. '
required: true
content:
multipart/form-data:
schema:
type: object
properties:
FILE:
type: string
format: binary
description: The file to be imported.
required:
- FILE
responses:
'200':
description: Successful import job creation response
content:
application/json:
schema:
$ref: '#/components/schemas/ImportJobCreationResponse'
examples:
Default:
value:
status: success
summary: Create bulk import job
data:
jobId: '1767024000003153087'
default:
$ref: https://raw.githubusercontent.com/zoho/analytics-oas/refs/heads/main/v2.0/zoho-analytics-api-common.json#/components/responses/CommonErrorResponse
/restapi/v2/bulk/workspaces/{workspace-id}/importjobs/{job-id}:
get:
tags:
- Bulk Import - Asynchronous
security:
- iam-oauth2-schema:
- ZohoAnalytics.data.read
summary: Get Import Job Details
description: Returns details of the specified asynchronous import job.
operationId: getImportJobDetails
parameters:
- $ref: '#/components/parameters/org-id'
- $ref: '#/components/parameters/workspace-id'
- $ref: '#/components/parameters/job-id'
responses:
'200':
description: Successful response with import job details
content:
application/json:
schema:
$ref: '#/components/schemas/ImportJobDetailsResponse'
examples:
Default:
value:
status: success
summary: Fetch import job info
data:
jobId: '1767024000003153087'
jobCode: '1004'
jobStatus: JOB COMPLETED
jobInfo:
viewId: '1767024000003154002'
importSummary:
importType: APPEND
totalColumnCount: 7
selectedColumnCount: 7
totalRowCount: 755
successRowCount: 755
warnings: 0
importOperation: created
columnDetails:
Date: Date
Region: Plain Text
Product Category: Plain Text
Product: Plain Text
Customer Name: Plain Text
Sales: Currency
Cost: Currency
importErrors: ''
expiryTime: '1623764592309'
default:
$ref: https://raw.githubusercontent.com/zoho/analytics-oas/refs/heads/main/v2.0/zoho-analytics-api-common.json#/components/responses/CommonErrorResponse
components:
parameters:
job-id:
name: job-id
in: path
description: The unique identifier of the import/export job.
required: true
schema:
type: string
org-id:
name: ZANALYTICS-ORGID
in: header
required: true
schema:
type: string
description: Organization ID (can be obtained using Get Organizations API).
workspace-id:
name: workspace-id
in: path
required: true
schema:
type: string
description: ID of the workspace.
view-id:
name: view-id
in: path
required: true
schema:
type: string
description: ID of the view.
schemas:
ImportJobDetailsResponse:
type: object
properties:
status:
type: string
enum:
- success
summary:
type: string
data:
type: object
properties:
jobId:
type: string
jobCode:
type: string
description: 'Numeric code indicating the job status (e.g., 1001: JOB NOT INITIATED, 1002: JOB IN PROGRESS, 1003: ERROR OCCURRED, 1004: JOB COMPLETED, 1005: JOB NOT FOUND). '
jobStatus:
type: string
description: 'Human-readable status message (e.g., ''JOB COMPLETED''). '
jobInfo:
type: object
properties:
viewId:
type: string
importSummary:
type: object
properties:
importType:
type: string
totalColumnCount:
type: integer
selectedColumnCount:
type: integer
totalRowCount:
type: integer
successRowCount:
type: integer
warnings:
type: integer
importOperation:
type: string
columnDetails:
type: object
additionalProperties:
type: string
ImportJobCreationResponse:
type: object
properties:
status:
type: string
enum:
- success
summary:
type: string
data:
type: object
properties:
jobId:
type: string
description: The unique ID of the import job.
securitySchemes:
iam-oauth2-schema:
type: oauth2
flows:
authorizationCode:
authorizationUrl: https://accounts.zoho.com/oauth/v2/auth
tokenUrl: https://accounts.zoho.com/oauth/v2/token
refreshUrl: https://accounts.zoho.com/oauth/v2/token
scopes:
ZohoAnalytics.data.read: Read data from Zoho Analytics.
ZohoAnalytics.data.delete: Delete data from Zoho Analytics.
ZohoAnalytics.data.update: Update data in Zoho Analytics.
ZohoAnalytics.data.create: Create data in Zoho Analytics.
ZohoAnalytics.data.all: Full access to data in Zoho Analytics.
ZohoAnalytics.fullaccess.all: Full access to all Zoho Analytics features.