Zoho Import API

The Import API from Zoho — 3 operation(s) for import.

Operations 3

POST /api/v1/importMappings Get Import Mappings #
GET /api/v1/imports/{importId} Get Import #
POST /api/v1/imports Create Import #

Documentation

Specifications

Code Examples

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/zoho-import-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

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 Specification

zoho-import-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Helpcenter Import API
  version: 1.0.0
tags:
- name: Import
paths:
  /api/v1/importMappings:
    post:
      tags:
      - Import
      summary: Get Import Mappings
      description: This API fetches entity id's for given external ids your help desk portal.
      operationId: getImportMappings
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/importMappingRequest'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/importMappingResponse'
      security:
      - iam-oauth2-schema:
        - Desk.imports.CUSTOM
      x-audience:
      - external-public
  /api/v1/imports/{importId}:
    get:
      tags:
      - Import
      summary: Get Import
      description: This API fetches a single import info from your help desk portal.
      operationId: getImport
      parameters:
      - name: importId
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          pattern: ([0-9]+)
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/importResponse'
      security:
      - iam-oauth2-schema:
        - Desk.imports.CUSTOM
      x-audience:
      - external-public
  /api/v1/imports:
    post:
      tags:
      - Import
      summary: Create Import
      description: This API add a import entry under a given scope in your help desk portal.
      operationId: createImport
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/importRequest'
      responses:
        '422':
          $ref: ./Common.json#/components/responses/invalidDataErrorResponse
        '200':
          $ref: '#/components/responses/importResponse'
      security:
      - iam-oauth2-schema:
        - Desk.imports.CUSTOM
      x-audience:
      - external-public
components:
  responses:
    importResponse:
      description: importResponse template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              importInitiatedTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              importCompletedTime:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (((19|20)\d\d)[-/.]{1}(0?[1-9]|1[012])[-/.]{1}(0?[1-9]|[12][0-9]|3[01])(T)([01]?[0-9]|2[0-3]):[0-5]?[0-9]:[0-5]?[0-9]([/.][\d]{0,3})?(Z))
              scopeId:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ^([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})$
              runAutomation:
                type:
                - boolean
                - 'null'
              errorReportUrl:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&%\$#_@]*)?$)
              notifyUrl:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: (^(ht|f)tp(s?)\://[-.\w]*(/?)([a-zA-Z0-9\-\.\?\,\:\'/\\+=&%\$#_@]*)?$)
              id:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              hasError:
                type:
                - boolean
                - 'null'
              status:
                type:
                - string
                - 'null'
                enum:
                - queued
                - completed
                maxLength: 100
                minLength: 0
              importedBy:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
            required:
            - errorReportUrl
            - hasError
            - id
            - importCompletedTime
            - importInitiatedTime
            - importedBy
            - notifyUrl
            - runAutomation
            - scopeId
            - status
          examples:
            Valid responses Definitions:
              value:
                importInitiatedTime: '2018-12-17T06:40:57.109Z'
                importCompletedTime: '2018-12-17T12:11:04.000Z'
                scopeId: 7d69f2c6-1d6d-4a75-99d1-fafc4e4177a7
                errorReportUrl: https://desk.zoho.com/api/v1/importErrorLog/4000000024001
                runAutomation: 'false'
                notifyUrl: null
                hasError: true
                id: '4000000024001'
                importedBy: '4000000016079'
                status: completed
    importMappingResponse:
      description: importMappingResponse template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              data:
                $ref: ./Import.json#/components/schemas/importMappingData
            required:
            - data
          examples:
            Valid responses Definitions:
              value:
                data:
                - externalId: ticketLayout1
                  entityId: '6000000073007'
  requestBodies:
    importRequest:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              scopeId:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ^([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})$
              data:
                $ref: ./Import.json#/components/schemas/importData
              runAutomation:
                type:
                - boolean
                - 'null'
            required:
            - data
            - scopeId
          examples:
            Valid requestBody Definitions:
              value:
                scopeId: 7d69f2c6-1d6d-4a75-99d1-fafc4e4177a7
                data:
                  endusers:
                  - firstName: John
                    lastName: Abraham
                    phone: null
                    city: null
                    displayName: John
                    mobile: null
                    timeZone: Asia/Kolkata
                    endUserExtId: '14091310393191'
                    countryLocale: en_US
                    helpCenterId: '894114121213421'
                    email:
                    - emailAddress: john.ab@zylker.com
                      isPrimary: 'true'
                    status: ACTIVE
                  tickets:
                  - modifiedTime: '2016-10-12T06:57:38.000Z'
                    subCategory: null
                    contactExtId: externalContact1
                    productId: null
                    contactId: null
                    subject: Here's your first import ticket1.
                    departmentId: '1000000012806'
                    channel: Email
                    priority: null
                    assigneeId: '1000000016086'
                    tags:
                    - meenakshi
                    ticketExtId: externalTicket1
                    phone: 1 888 900 9646
                    createdTime: '2019-07-17T14:00:32.000Z'
                    category: null
                    email: testmail@zylker.com
                    status: Open
                  - modifiedTime: '2016-10-12T06:57:38.000Z'
                    subCategory: null
                    contactExtId: null
                    productId: null
                    contactId: 5000000016426
                    subject: Here's your first import ticket2.
                    departmentId: '1000000012806'
                    channel: Email
                    priority: null
                    assigneeId: '1000000016086'
                    tags:
                    - meenakshi
                    ticketExtId: externalTicket2
                    phone: 1 888 900 9646
                    createdTime: '2019-07-17T14:00:32.000Z'
                    category: null
                    email: testmail123@zylker.com
                    status: Open
                  kbRootCategories:
                  - isReviewEnabled: 'false'
                    visibility: NONE
                    articleViewType: LISTVIEW
                    translations:
                    - name: Import sdcwed 1289
                      locale: en_US
                      permalink: importis1289
                    name: Import RootCatesdcwedgory 1289
                    description: sdcwed data 7812899
                    primaryDepartmentExtId: '1000000025808'
                    kbRootCategoryExtId: '1289'
                    status: SHOW_IN_HELPCENTER
                    associatedDepartmentIds:
                    - '1000000025808'
                    - '1000000069588'
                  accounts:
                  - modifiedTime: '2016-10-12T06:57:38.000Z'
                    country: 0country
                    website: www.test0.com
                    accountName: externalAccount-1
                    city: 0city
                    customFields: {}
                    description: import account
                    industry: 0industry
                    accountExtId: externalAccount-1
                    phone: +123 0
                    street: 0street
                    createdTime: '2016-08-12T06:57:38.000Z'
                    state: 0state
                    fax: +111 0
                    email: 02email@zylker.com
                  contacts:
                  - zip: 94588
                    lastName: ' lastname 02'
                    country: India
                    modifiedTime: '2016-10-12T06:57:38.000Z'
                    contactExtId: externalContactWithExternalAccount-1
                    secondaryEmail: 00secondaryemail@zylker.com
                    city: 0city
                    customFields: {}
                    facebook: testfacebook
                    mobile: null
                    description: test contact for Import
                    title: Customer Support Executive
                    type: null
                    accountExtId: externalAccount-1
                    accountId: null
                    firstName: null
                    twitter: testTwitter
                    phone: +1111 0
                    street: 0street
                    createdTime: '2016-08-12T06:57:38.000Z'
                    state: 0state
                    email: 00email@zylker.com
                  - zip: 94588
                    lastName: ' lastname 03'
                    country: India
                    modifiedTime: '2016-10-12T06:57:38.000Z'
                    contactExtId: externalContactWithDeskAccount
                    secondaryEmail: 03secondaryemail@zylker.com
                    city: 03city
                    customFields: {}
                    facebook: testfacebook
                    mobile: null
                    description: test contact for Import
                    title: Customer Support Executive
                    type: null
                    accountExtId: null
                    accountId: '359876756'
                    firstName: null
                    twitter: testTwitter
                    phone: +1111 03
                    street: 03street
                    createdTime: '2016-08-12T06:57:38.000Z'
                    state: 03state
                    email: 03email@zylker.com
                runAutomation: true
    importMappingRequest:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              scopeId:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ^([0-9a-fA-F]{8}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{4}\-[0-9a-fA-F]{12})$
              module:
                type:
                - string
                - 'null'
                enum:
                - accounts
                - contacts
                - tickets
                - tasks
                - calls
                - events
                - threads
                - ticketComments
                - kbRootCategories
                - kbSections
                - articles
                - products
                - taskComments
                - callComments
                - eventComments
                - ticketTimeEntries
                - taskTimeEntries
                - callTimeEntries
                - eventTimeEntries
                - agents
                - layouts
                - departments
                - fields
                maxLength: 100
                minLength: 0
              externalIds:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  maxLength: 100
                  minLength: 0
                  pattern: '[A-Za-z0-9@\$&+\:\.\{\}\(\)#\-]+'
                uniqueItems: false
            required:
            - externalIds
            - module
            - scopeId
          examples:
            Valid requestBody Definitions:
              value:
                scopeId: 74da0304-e8e2-4f74-9da1-5359e4359d9a
                module: tickets
                externalIds:
                - ticketLayout1
                - ticketLayout3
  securitySchemes:
    iam-oauth2-schema:
      $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter