Zoho Search API

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

Operations 12

GET /api/v1/tickets/search Search Tickets #
GET /api/v1/{moduleApiName}/search Search Records #
GET /api/v1/calls/search Search Calls #
GET /api/v1/accounts/search Search Accounts #
GET /api/v1/articles/search Search Articles #
GET /api/v1/products/search Search Products #
GET /api/v1/contacts/search Search Contacts #
GET /api/v1/activities/search Search Activities #
GET /api/v1/search Search across modules #
GET /api/v1/tasks/search Search Tasks #
GET /api/v1/events/search Search Events #
GET /{module}/search Search Records by Criteria, Word, Email, or Phone #

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-search-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-search-api-openapi.yml Raw ↑
openapi: 3.2.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