Zoho Backup API

The Backup API from Zoho — 3 operation(s) for backup.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-backup-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Backup API
  version: 1.0.0
tags:
- name: Backup
paths:
  /api/v1/bulkExport:
    post:
      tags:
      - Backup
      summary: Initiate Bulk Export
      description: To initiate module Exports.
      operationId: initiateBulkExport
      parameters:
      - $ref: ./Common.json#/components/parameters/orgId
      requestBody:
        $ref: '#/components/requestBodies/getExportReqpObj'
      responses:
        '200':
          $ref: '#/components/responses/getExportRespObject'
      security:
      - iam-oauth2-schema:
        - Desk.exports.CUSTOM
      x-audience:
      - external-public
  /api/v1/bulkExport/{exportId}:
    get:
      tags:
      - Backup
      summary: Get Bulk Export
      description: To get Bulk Export details.
      operationId: getBulkExport
      parameters:
      - $ref: '#/components/parameters/exportId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '200':
          $ref: '#/components/responses/getExportRespObject'
      security:
      - iam-oauth2-schema:
        - Desk.exports.CUSTOM
      x-audience:
      - external-public
  /api/v1/downloadBulkExportFile:
    get:
      tags:
      - Backup
      summary: Download Bulk Export File
      description: To download the exported data as a ZIP file
      operationId: downloadBulkExportFile
      parameters:
      - $ref: '#/components/parameters/exportId'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '404':
          $ref: ./Common.json#/components/responses/urlNotFoundErrorResponse
        '200':
          $ref: ./Common.json#/components/responses/emptyResponse
        '401':
          $ref: ./Common.json#/components/responses/unauthorizedErrorResponse
        '500':
          $ref: ./Common.json#/components/responses/internalErrorResponse
      security:
      - iam-oauth2-schema:
        - Desk.exports.CUSTOM
      x-audience:
      - external-public
components:
  parameters:
    exportId:
      name: exportId
      in: path
      description: the id of the export which was initiated for first time
      required: true
      style: simple
      explode: false
      schema:
        type:
        - string
        - 'null'
        - integer
        format: int64
        description: the id of the export which was initiated for first time
        pattern: ([0-9]+)
  requestBodies:
    getExportReqpObj:
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              modifiedAfter:
                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))
              exportTimeFilter:
                type:
                - 'null'
                - object
                additionalProperties: false
                maxProperties: 4
                minProperties: 4
                properties:
                  duration:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                  endDate:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                  filterField:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                  startDate:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                required:
                - duration
                - endDate
                - filterField
                - startDate
              callBackUrl:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              apiNameAsHeader:
                type:
                - boolean
                - 'null'
              criteria:
                $ref: ./Backup.json#/components/schemas/criteriaObject
              module:
                type:
                - string
                - 'null'
                enum:
                - tickets
                - contacts
                - departments
                - agents
                - products
                - accounts
                - tasks
                - timeEntry
                - solutions
                - topics
                - teams
                - comments
                - attachments
                - calls
                - events
                maxLength: 100
                minLength: 0
              fields:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  maxLength: 100
                  minLength: 0
                minItems: 1
                uniqueItems: false
              limitPerFile:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
            required:
            - module
          examples:
            Valid requestBody Definitions:
              value:
                modifiedAfter: 1557166837733
                exportTimeFilter:
                  duration: CUSTOM_IN_DATE
                  endDate: 06-06-2024
                  filterField: '4000000250354'
                  startDate: 06-05-2024
                callBackUrl: https://webhook.site/c57564f2-f262-4092-adc4-7c416d401d50
                viewId: '5000000031695'
                criteria:
                  criteriaFields:
                  - condition: is
                    field:
                      apiName: contactId
                      module: tickets
                      fieldLabel: Contact Name
                    value:
                      primitive:
                      - key: '13735000002029311'
                      type: primitive
                  - condition: is not empty
                    field:
                      apiName: contactId
                      module: tickets
                      fieldLabel: Contact Name
                    value:
                      primitive: []
                      type: primitive
                  - condition: is CLOSED
                    field:
                      apiName: status
                      module: tickets
                      fieldLabel: Status
                    value:
                      primitive: []
                      type: primitive
                  criteriaPattern: ((1and2)and3)
                module: tickets
                departmentId: '5000000031695'
                fields:
                - email
                - subject
                - status
                - isSpam
  responses:
    getExportRespObject:
      description: getExportRespObject template definitions
      content:
        application/json:
          schema:
            type:
            - 'null'
            - object
            additionalProperties: false
            properties:
              modifiedAfter:
                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))
              exportTimeFilter:
                type:
                - 'null'
                - object
                additionalProperties: false
                maxProperties: 4
                minProperties: 4
                properties:
                  duration:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                  endDate:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                  filterField:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                  startDate:
                    type:
                    - string
                    - 'null'
                    maxLength: 100
                    minLength: 0
                required:
                - duration
                - endDate
                - filterField
                - startDate
              callBackUrl:
                type:
                - string
                - 'null'
                maxLength: 100
                minLength: 0
                pattern: ([0-9a-zA-Z_\-\.\$@\?\,\:\'\/\!\P{InBasicLatin}\s])+
              criteria:
                $ref: ./Backup.json#/components/schemas/criteriaObject
              module:
                type:
                - string
                - 'null'
                enum:
                - tickets
                - contacts
                - departments
                - agents
                - products
                - accounts
                - tasks
                - timeEntry
                - solutions
                - topics
                - teams
                - comments
                - attachments
                - calls
                - events
                maxLength: 100
                minLength: 0
              fields:
                type:
                - 'null'
                - array
                items:
                  type:
                  - string
                  - 'null'
                  maxLength: 100
                  minLength: 0
                minItems: 1
                uniqueItems: false
              exportId:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
              status:
                type:
                - string
                - 'null'
                enum:
                - INITIATED
                - INPROGRESS
                - INIT_FAILED
                - COMPLETED
                - SUSPENDED
                - FAILED
                - DELETED
                maxLength: 100
                minLength: 0
              limitPerFile:
                type:
                - string
                - 'null'
                - integer
                format: int64
                pattern: ([0-9]+)
            required:
            - callBackUrl
            - criteria
            - exportId
            - exportTimeFilter
            - fields
            - limitPerFile
            - modifiedAfter
            - module
            - status
          examples:
            Valid responses Definitions:
              value:
                modifiedAfter: 1557166837733
                callBackUrl: https://webhook.site/c57564f2-f262-4092-adc4-7c416d401d50
                viewId: '5000000031695'
                hasNextPage: 'false'
                module: tickets
                departmentId: '5000000031695'
                fields:
                - email
                - subject
                - status
                - isSpam
                exportId: '5000001003083'
                limitPerFile: '100000'
                status: INITIATED
  securitySchemes:
    iam-oauth2-schema:
      $ref: ./Common.json#/components/securitySchemes/iam-oauth2-schema
x-entity: Helpcenter