Zoho Search API

The Search API from Zoho — 12 operation(s) for search.

Documentation

Specifications

Code Examples

Other Resources

OpenAPI Specification

zoho-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Helpcenter Search API
  version: 1.0.0
tags:
- name: Search
paths:
  /api/v1/tickets/search:
    get:
      tags:
      - Search
      summary: Search Tickets
      description: This API searches for tickets in your help desk.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values. <br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchTickets
      parameters:
      - $ref: '#/components/parameters/ticketNumber'
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/subject'
      - $ref: '#/components/parameters/departmentId'
      - name: channel
        in: query
        description: The channel through which the ticket was received !@exact match@! !@empty check@! !@not empty check@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: The channel through which the ticket was received !@exact match@! !@empty check@! !@not empty check@!
          x-dynamic-enum: true
      - name: customerResponseTimeRange
        in: query
        description: Key that filters tickets in which customer responses were recorded in a particular period of time. !Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ;! !For example,! customerResponseTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z2017-11-05T13:15:30.000Z,2018-09-05T13:15:30.000Z
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Key that filters tickets in which customer responses were recorded in a particular period of time. !Enter the from and to dates in the ISO date format of yyyy-MM-ddThh:mm:ss.SSSZ;! !For example,! customerResponseTimeRange=2017-11-05T00:00:00.000Z,2018-09-05T23:59:00.000Z2017-11-05T13:15:30.000Z,2018-09-05T13:15:30.000Z
          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)),(((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))|null
      - name: description
        in: query
        description: Description of the ticket !@wildcard search@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Description of the ticket !@wildcard search@!
          maxLength: 65535
          minLength: 0
      - $ref: '#/components/parameters/productName'
      - $ref: '#/components/parameters/_all'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/dueDateRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,! !@modifiedTime@,! !@createdTime@,!  !@customerResponseTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,! !@modifiedTime@,! !@createdTime@,!  !@customerResponseTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          - customerResponseTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - name: tag
        in: query
        description: The tag associated with the ticket !@wildcard search@! !@empty check@! !@not empty check@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: The tag associated with the ticket !@wildcard search@! !@empty check@! !@not empty check@!
          maxLength: 100
          minLength: 3
          pattern: ([0-9a-zA-Z_\-\*\.\$@\?\:\/\!\P{InBasicLatin}\s()]{3,}|\$\{(?i)(Empty|NotEmpty)\})
      - $ref: '#/components/parameters/productId'
      - $ref: '#/components/parameters/contactId'
      - name: contactName
        in: query
        description: The name of the contact who raised the ticket !@wildcard search@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: The name of the contact who raised the ticket !@wildcard search@!
          maxLength: 200
          minLength: 0
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/priority'
      - $ref: '#/components/parameters/assigneeId'
      - $ref: '#/components/parameters/accountId'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: category
        in: query
        description: The category of the ticket !@wildcard search@! !@empty check@! !@not empty check@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: The category of the ticket !@wildcard search@! !@empty check@! !@not empty check@!
          x-dynamic-enum: true
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchTicketsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.tickets.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/{moduleApiName}/search:
    get:
      tags:
      - Search
      summary: Search  Records
      description: This API searches for records in your help desk.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values.<br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchRecords
      parameters:
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/modifiedTimeRange'
      - $ref: '#/components/parameters/_all'
      - name: moduleApiName
        in: path
        required: true
        style: simple
        explode: false
        schema:
          type:
          - string
          - 'null'
          maxLength: 100
          minLength: 5
          pattern: (cm_[a-zA-Z0-9_]+)
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchRecordsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.custommodule.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/calls/search:
    get:
      tags:
      - Search
      summary: Search Calls
      description: This API searches for the calls in your help desk portal.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values.<br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchCalls
      parameters:
      - $ref: '#/components/parameters/ticketNumber'
      - $ref: '#/components/parameters/startDateRange'
      - $ref: '#/components/parameters/subject'
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/priority'
      - $ref: '#/components/parameters/_all'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchCallsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.calls.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/accounts/search:
    get:
      tags:
      - Search
      summary: Search Accounts
      description: This API searches for accounts in your help desk.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values. <br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchAccounts
      parameters:
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@,!  !@accountName@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@,!  !@accountName@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          - accountName
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/_all'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchAccountsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.contacts.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/articles/search:
    get:
      tags:
      - Search
      summary: Search Articles
      description: This API searches for help articles in your help desk.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values.<br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchSolutions
      parameters:
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - name: title
        in: query
        description: title of the help article !@wildcard search@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: title of the help article !@wildcard search@!
          maxLength: 500
          minLength: 0
      - name: categoryId
        in: query
        description: 'ID of the Category '
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          - integer
          format: int64
          description: 'ID of the Category '
          pattern: ([0-9]+)
      - $ref: '#/components/parameters/_all'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchSolutionsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.articles.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/products/search:
    get:
      tags:
      - Search
      summary: Search Products
      description: This API searches for the products in your help desk portal.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values.<br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchProducts
      parameters:
      - $ref: '#/components/parameters/contactId'
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/productName'
      - $ref: '#/components/parameters/_all'
      - $ref: '#/components/parameters/accountId'
      - name: productCode
        in: query
        description: Code of the product !@wildcard search@! !@empty check@! !@not empty check@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Code of the product !@wildcard search@! !@empty check@! !@not empty check@!
          maxLength: 100
          minLength: 3
          pattern: '[0-9a-zA-Z\-\.\$@\?\:\''\/\!\P{InBasicLatin}\s]{4,}'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@,!  !@productName@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@,!  !@productName@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          - productName
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchProductsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.settings.READ
        - Desk.search.READ
        - Desk.products.READ
      x-audience:
      - external-public
  /api/v1/contacts/search:
    get:
      tags:
      - Search
      summary: Search Contacts
      description: This API searches for contacts in your help desk.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values. <br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchContacts
      parameters:
      - name: lastName
        in: query
        description: Last name of the contact !@wildcard search@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Last name of the contact !@wildcard search@!
          maxLength: 200
          minLength: 0
      - name: firstName
        in: query
        description: First name of the contact !@wildcard search@! !@empty check@! !@not empty check@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: First name of the contact !@wildcard search@! !@empty check@! !@not empty check@!
          maxLength: 40
          minLength: 0
      - $ref: '#/components/parameters/accountName'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/limit'
      - name: fullName
        in: query
        description: Full name of the contact !@wildcard search@!
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Full name of the contact !@wildcard search@!
          maxLength: 200
          minLength: 0
      - $ref: '#/components/parameters/from'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@,!  !@lastName@,!  !@firstName@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@,!  !@lastName@,!  !@firstName@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          - lastName
          - firstName
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/modifiedTimeRange'
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/_all'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchContactsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.contacts.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/activities/search:
    get:
      tags:
      - Search
      summary: Search Activities
      description: This API searches for the activities in your help desk portal.<br/> You can provide comma-separated values, which will perform the search on the field using any of the provided values.<br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchActivities
      parameters:
      - $ref: '#/components/parameters/ticketNumber'
      - $ref: '#/components/parameters/subject'
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/priority'
      - $ref: '#/components/parameters/assigneeId'
      - $ref: '#/components/parameters/_all'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/activitiesSearchResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.calls.READ
        - Desk.activities.tasks.READ
        - Desk.activities.events.READ
        - Desk.calls.READ
        - Desk.events.READ
        - Desk.tasks.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/search:
    get:
      tags:
      - Search
      summary: Search across modules
      description: This API returns information from all modules or a specific module, based on the value of the module query param.
      operationId: doSearch
      parameters:
      - name: searchStr
        in: query
        description: Keyword or phrase to search
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: Keyword or phrase to search
          maxLength: 100
          minLength: 0
      - name: module
        in: query
        description: 'Module to search in: @tickets@, @accounts@, @contacts@ or @tasks@. The default response includes all modules.'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'Module to search in: @tickets@, @accounts@, @contacts@ or @tasks@. The default response includes all modules.'
          enum:
          - tickets
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - name: sortBy
        in: query
        description: 'Sort by a specific attribute: @relevance@ or @modifiedTime@'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'Sort by a specific attribute: @relevance@ or @modifiedTime@'
          enum:
          - relevance
          - modifiedTime
          maxLength: 100
          minLength: 0
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/doSearchResponse'
      security:
      - iam-oauth2-schema:
        - Desk.contacts.READ
        - Desk.tickets.READ
        - Desk.tasks.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/tasks/search:
    get:
      tags:
      - Search
      summary: Search Tasks
      description: This API searches for tasks in your help desk.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values. <br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchTasks
      parameters:
      - $ref: '#/components/parameters/ticketNumber'
      - $ref: '#/components/parameters/subject'
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/priority'
      - $ref: '#/components/parameters/_all'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - $ref: '#/components/parameters/dueDateRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchTasksResponse'
      security:
      - iam-oauth2-schema:
        - Desk.activities.calls.READ
        - Desk.activities.tasks.READ
        - Desk.activities.events.READ
        - Desk.tasks.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /api/v1/events/search:
    get:
      tags:
      - Search
      summary: Search Events
      description: This API searches for the events in your help desk portal.<br/> You can provide multiple values separated by commas, and the search will be performed on the field using any of the provided values.<br/><br/> <a href='#Search'>Learn more about search and how it works.</a>
      operationId: searchEvents
      parameters:
      - $ref: '#/components/parameters/ticketNumber'
      - $ref: '#/components/parameters/startDateRange'
      - $ref: '#/components/parameters/subject'
      - $ref: '#/components/parameters/departmentId'
      - $ref: '#/components/parameters/createdTimeRange'
      - $ref: '#/components/parameters/priority'
      - $ref: '#/components/parameters/_all'
      - $ref: '#/components/parameters/limit'
      - $ref: '#/components/parameters/from'
      - $ref: '#/components/parameters/modifiedTimeRange'
      - name: sortBy
        in: query
        description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
        required: false
        style: form
        explode: true
        schema:
          type:
          - string
          - 'null'
          description: 'SortBy can be: !@relevance@,!  !@modifiedTime@,!  !@createdTime@! To specify sorting order, use as given below: !For descending order: sortBy=@-@modifiedTime! !For ascending order: sortBy=modifiedTime!'
          enum:
          - relevance
          - modifiedTime
          - createdTime
          maxLength: 100
          minLength: 0
      - $ref: '#/components/parameters/id'
      - $ref: '#/components/parameters/status'
      - $ref: ./Common.json#/components/parameters/orgId
      responses:
        '422':
          $ref: ./Common.json#/components/responses/multipleUnprocessEntityResponse
        '204':
          $ref: ./Common.json#/components/responses/emptyResponse
        '200':
          $ref: '#/components/responses/searchEventsResponse'
      security:
      - iam-oauth2-schema:
        - Desk.events.READ
        - Desk.search.READ
      x-audience:
      - external-public
  /{module}/search:
    get:
      tags:
      - Search
      summary: Search Records by Criteria, Word, Email, or Phone
      operationId: searchRecords
      description: Searches records matching your criteria within a CRM module. Supports criteria queries, email/phone/word searches. At least one search parameter required. Max 2,000 records, 15 criteria conditions. Newly created records may have indexing delays.
      parameters:
      - $ref: '#/components/parameters/Module'
      - $ref: '#/components/parameters/ApprovalState'
      - $ref: '#/components/parameters/Criteria'
      - $ref: '#/components/parameters/Converted'
      - $ref: '#/components/parameters/SearchWord'
      - $ref: '#/components/parameters/SearchEmail'
      - $ref: '#/components/parameters/SearchPhone'
      - $ref: '#/components/parameters/Fields'
      - $ref: '#/components/parameters/Page'
      - $ref: '#/components/parameters/PerPage'
      - $ref: '#/components/parameters/SortBy'
      - $ref: '#/components/parameters/SortOrder'
      - $ref: '#/components/parameters/Type'
      responses:
        '200':
          description: Successful response containing the list of records matching the search criteria.
          content:
            application/json:
              schema:
                type: object
                description: Successful search response containing matched records and pagination information
                additionalProperties: false
                properties:
                  data:
                    type: array
                    description: Array of records matching the search criteria
                    maxItems: 200
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                          description: Unique identifier of the record
                          maxLength: 50
                        Owner:
                          type: object
                          description: Owner information of the r

# --- truncated at 32 KB (97 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/zoho/refs/heads/main/openapi/zoho-search-api-openapi.yml