Zoho Cliq scheduledmessages API

Scheduled Messages Module

OpenAPI Specification

zoho-cliq-scheduledmessages-api-openapi.yml Raw ↑
openapi: 3.0.0
info:
  title: Bots scheduledmessages API
  description: "<p>Bots are conversational assistants designed to automate repetitive tasks and manage simple user interactions. Their behavior is fully customizable through predefined Bot Handlers, which are activated by specific actions or through Webhooks that communicate with your own external server.</p> <p>For more information about Bots, please refer to the <b><a href=\"https://www.zoho.com/cliq/help/platform/bots.html\" target=\"_blank\">Bots Help Documentation</a></b>.</p> <p><b>Bot Handlers</b></p> <ul>\n  <li>Bot Handlers are the building blocks of a bot's functionality. Each handler is associated with a specific trigger event, such as receiving a direct message, being @mentioned in a channel, or a user subscribing to the bot.</li>\n  <li>When the trigger event occurs, the corresponding handler executes it's script to perform actions like sending messages, making API calls, or updating data.</li>\n  <li>By configuring different handlers, you can create bots that respond intelligently to various user interactions and automate complex workflows within Zoho Cliq.</li>\n</ul> <p><b>Types of Bot Handlers</b></p> <table style=\"border-collapse: collapse; width: 100%;\">\n  <tr>\n    <th style=\"padding: 8px; text-align: left; border: 1px solid #ddd;\">Handler</th>\n    <th style=\"padding: 8px; text-align: left; border: 1px solid #ddd;\">Description</th>\n  </tr>\n  <tr>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Menu Handler</td>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Adds up to 5 quick-action items to the bot's chat menu. Triggered when a user interacts with the menu.</td>\n  </tr>\n  <tr>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Message Handler</td>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Triggered when the bot receives a message.</td>\n  </tr>\n  <tr>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Welcome Handler</td>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Defines the greeting message sent when a user subscribes to the bot.</td>\n  </tr>\n  <tr>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Mention Handler</td>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Triggered when the bot is @mentioned in a chat or channel.</td>\n  </tr>\n  <tr>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Incoming Webhook Handler</td>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Allows external services to post messages into the bot via outgoing webhooks.</td>\n  </tr>\n  <tr>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Context Handler</td>\n    <td style=\"padding: 8px; border: 1px solid #ddd;\">Manages multi-turn conversations, maintaining context across a user's interaction with the bot.</td>\n  </tr>\n</table> <p><b>What you can do with the Bots API?</b></p> <p>With the Bots API, you can retrieve information about a specific bot, list all bots within your organization, manage configurations specific to handlers, trigger bot calls programmatically, manage subscribers, and much more.</p> <p>Each bot has an <code>execution_type</code> that defines how its handlers run when a trigger event occurs. The Bots API allows developers to create two types of bots:</p> <p id=\"deluge-bots\"><b>Deluge Bots (default)</b><br> Deluge bot executes handler logic using Zoho's Deluge scripting language, hosted entirely within the Zoho Cliq Developer platform, where no external server is required.</p> <ul>\n  <li>If <code>execution_type</code> is not specified during bot creation, it defaults to deluge.</li>\n  <li>Handler logic is defined as a script field (Deluge source code) when creating or updating handlers.</li>\n  <li>Suitable for teams that want to build and manage bot logic entirely within Zoho's ecosystem.</li>\n</ul> <p id=\"webhook-bots\"><b>Webhook Bots</b><br> A Webhook bot delegates all handler execution to your own external server. When a trigger event fires, Zoho Cliq sends an HTTP POST request to the <code>execution_url</code> you configure, and your server processes the event and returns a response.</p> <ul>\n  <li>To create a Webhook bot, set <code>execution_type</code> to webhook during bot creation and provide the <code>execution_url</code> where event payloads should be sent.</li>\n  <li>Your server must be publicly accessible and able to handle incoming POST requests from Zoho Cliq.</li>\n  <li>Ideal for teams seeking complete control over bot logic and possessing the resources to manage an external server. Also suitable for integrations requiring access to external databases, third-party APIs, or custom business logic that cannot be executed in Deluge.</li>\n</ul>\n"
  contact: {}
  version: 1.0.0
servers:
- url: https://cliq.zoho.com/api/v3
  description: Zoho Cliq US DC
tags:
- name: scheduledmessages
  description: Scheduled Messages Module
paths:
  /scheduledmessages:
    get:
      summary: List all scheduled messages
      operationId: listAllScheduledMessagesV3
      description: "Retrieves all scheduled messages across all chats for the authenticated user. Use this to get a consolidated view of all pending time-based and status-based scheduled messages, with support for pagination and incremental updates.\n<br><br>\n<p>\n  <b>Threshold limit</b>: 20 requests per min per user<br>\n  Number of API calls allowed within a minute.<br><br>\n  <b>Lock period</b>: 10 minutes<br>\n  Wait time before consecutive API requests.\n</p>\n"
      tags:
      - scheduledmessages
      parameters:
      - name: limit
        in: query
        required: false
        description: 'Number of results per page. Default is 50.<br>

          <b>Maximum limit</b>: 100

          '
        schema:
          type: integer
          maximum: 200
          default: 50
      - name: next_token
        in: query
        required: false
        description: Pagination cursor returned from a previous response. Pass this value to retrieve the next page of results.
        schema:
          type: string
      - name: sync_token
        in: query
        required: false
        description: Token from a previous response used to fetch only changes since the last sync. Pass this to retrieve only new or updated records instead of the full list.
        schema:
          type: string
      responses:
        '200':
          description: Returns all scheduled messages. Mix of time-based and status-based messages across chats.
          content:
            application/json:
              schema:
                type: object
              examples:
                all_scheduled_messages:
                  summary: All scheduled messages across chats
                  value:
                    url: /api/v3/scheduledmessages
                    type: scheduledmessages
                    sync_token: NTB8LTF8MTkwMTMxODAwMDAxMjMxNDAyNQ==
                    data:
                    - id: 84fe7397-ab35-4aef-8bf7-944d688857af
                      timezone: Asia/Kolkata
                      created_time: '2026-05-29T04:27:40-07:00'
                      schedule_status: user_available
                      message:
                        sender:
                          name: Priya
                          id: '697322516'
                        type: text
                        content:
                          text: 'Hi Benjamin, just a quick nudge. Please update the approval status for Claim #EXP-2026-0412 when you are available. No rush, respond whenever you are free!'
                        is_pinned: false
                      creator:
                        name: Priya
                        id: '697322516'
                    - id: 49ba8eac-8709-478d-bab3-701466b3e270
                      timezone: Asia/Kolkata
                      created_time: '2026-05-29T04:28:44-07:00'
                      schedule_status: check_in
                      message:
                        sender:
                          name: Priya
                          id: '697322516'
                        type: text
                        content:
                          text: Good morning Alan! Just a check-in reminder, please update your pending expense claims before the daily finance standup. Any blockers, ping @financeTeam.
                        is_pinned: false
                      creator:
                        name: Priya
                        id: '697322516'
                    - id: de8518c4-ce33-46c1-9195-d7864b9f10ce
                      timezone: Asia/Kolkata
                      created_time: '2026-05-29T04:31:33-07:00'
                      time: '2026-06-06T21:00:00-07:00'
                      message:
                        sender:
                          name: Priya
                          id: '697322516'
                        type: file
                        content:
                          file_name: Expense Summary - Zylker.pdf
                          file_size: 61.05 KB
                          comment: Please find the attached Q2 Expense Summary report. Review before the finance sync on June 6 and flag any discrepancies to @financeTeam.
                        is_pinned: false
                      creator:
                        name: Priya
                        id: '697322516'
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
      - Cliq_Auth:
        - ZohoCliq.Messages.READ
  /chats/{CHAT_ID}/scheduledmessages:
    get:
      summary: List scheduled messages in a chat
      operationId: listScheduledMessagesInChatV3
      description: "Retrieves all scheduled messages within a specific chat or channel. Use this to inspect pending time-based and status-based messages for a particular conversation, with support for pagination and incremental updates.\n<br><br>\n<p>\n  <b>Threshold limit</b>: 20 requests per min per user<br>\n  Number of API calls allowed within a minute.<br><br>\n  <b>Lock period</b>: 10 minutes<br>\n  Wait time before consecutive API requests.\n</p>\n"
      tags:
      - scheduledmessages
      parameters:
      - name: CHAT_ID
        in: path
        required: true
        description: Unique identifier of the chat or channel. Use this to scope the scheduled messages retrieval to a specific conversation.<br>To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v3/glossary/#CHAT_ID">CHAT_ID</a> in the Glossary page.
        example: CHAT_ID
        schema:
          type: string
      - name: limit
        in: query
        required: false
        description: 'Number of results per page. Default is 50.<br>

          <b>Maximum limit</b>: 100

          '
        schema:
          type: integer
          maximum: 200
          default: 50
      - name: next_token
        in: query
        required: false
        description: Pagination cursor returned from a previous response. Pass this value to retrieve the next page of results.
        schema:
          type: string
      - name: sync_token
        in: query
        required: false
        description: Token from a previous response used to fetch only changes since the last sync. Pass this to retrieve only new or updated records instead of the full list.
        schema:
          type: string
      responses:
        '200':
          description: Scheduled messages retrieved successfully.
          content:
            application/json:
              schema:
                type: object
              examples:
                channel_with_file_message:
                  summary: Channel with file attachment message
                  value:
                    url: /api/v3/chats/CT_1424569695482328362_631836344/scheduledmessages
                    type: scheduledmessages
                    sync_token: NTB8MTc4MDM2NzQwMDAwMHwxOTAxMzE4MDAwMDEyNjUxMDAx
                    data:
                    - id: de8518c4-ce33-46c1-9195-d7864b9f10ce
                      timezone: Asia/Kolkata
                      created_time: '2026-05-29T04:31:33-07:00'
                      time: '2026-06-06T21:00:00-07:00'
                      message:
                        sender:
                          name: Priya
                          id: '697322516'
                        type: file
                        content:
                          file_name: Expense Summary - Zylker.pdf
                          file_size: 61.05 KB
                          comment: Please find the attached Q2 Expense Summary report. Review before the finance sync on June 6 and flag any discrepancies to @financeTeam.
                        is_pinned: false
                      creator:
                        name: Priya
                        id: '697322516'
                dm_with_status_based_message:
                  summary: DM with status-based message
                  value:
                    url: /api/v3/chats/1424921584119739269/scheduledmessages
                    type: scheduledmessages
                    sync_token: NTB8MTc4MDA0OTAzNDg4MHw=
                    data:
                    - id: 84fe7397-ab35-4aef-8bf7-944d688857af
                      timezone: Asia/Kolkata
                      created_time: '2026-05-29T04:27:40-07:00'
                      schedule_status: user_available
                      message:
                        sender:
                          name: Priya
                          id: '697322516'
                        type: text
                        content:
                          text: 'Hi Benjamin, just a quick nudge. Please update the approval status for Claim #EXP-2026-0412 when you are available. No rush, respond whenever you are free!'
                        is_pinned: false
                      creator:
                        name: Priya
                        id: '697322516'
                empty_chat:
                  summary: Empty chat
                  value:
                    url: /api/v3/chats/1608865438186287622/scheduledmessages
                    type: scheduledmessages
                    sync_token: NTB8MTc4MDA0OTAzNDg4MHw=
                    data: []
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
      - Cliq_Auth:
        - ZohoCliq.Messages.READ
    post:
      summary: Send scheduled messages now
      operationId: sendScheduledMessagesNowV3
      description: "Immediately sends one or all pending scheduled messages in a chat without waiting for the scheduled time. Use this to manually trigger delivery of a specific message by ID, or all pending messages in the chat at once.\n<br><br>\n<p>\n  <b>Threshold limit</b>: 50 requests per min per user<br>\n  Number of API calls allowed within a minute.<br><br>\n  <b>Lock period</b>: 10 minutes<br>\n  Wait time before consecutive API requests.\n</p>\n<details style=\"margin:16px 0 8px 0; border:1px solid rgba(148,163,184,0.5); border-radius:8px; font-family:inherit;\" ontoggle=\"this.querySelector('.err-toggle-hint').textContent=this.open?'Click to collapse':'Click to expand'\">\n  <summary style=\"cursor:pointer; padding:11px 16px; font-weight:600; background:rgba(148,163,184,0.1); list-style:none; display:flex; align-items:center; gap:8px; user-select:none; border-radius:8px;\">\n    <span style=\"display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; background:rgba(239,68,68,0.15); border-radius:50%; font-size:12px; font-weight:700; color:#ef4444; flex-shrink:0;\">!</span>\n    Possible Error Codes\n    <span class=\"err-toggle-hint\" style=\"margin-left:auto; font-weight:400; opacity:0.45; font-size:0.8em; letter-spacing:0.01em;\">Click to expand</span>\n  </summary>\n  <div style=\"padding:14px 16px 16px 16px;\">\n    <div style=\"border-radius:6px; border:1px solid rgba(148,163,184,0.35);\">\n      <table style=\"border-collapse:collapse; width:100%; font-family:inherit; font-size:0.9em;\">\n        <thead>\n          <tr>\n            <th style=\"padding:10px 18px; text-align:center; background:rgba(148,163,184,0.15); border-bottom:1px solid rgba(148,163,184,0.35); border-right:1px solid rgba(148,163,184,0.35); font-weight:600; width:45%;\">Error Code</th>\n            <th style=\"padding:10px 18px; text-align:center; background:rgba(148,163,184,0.15); border-bottom:1px solid rgba(148,163,184,0.35); font-weight:600; width:55%;\">Description</th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2); border-right:1px solid rgba(148,163,184,0.25); vertical-align:middle;\"><span style=\"display:inline-block; background:rgba(239,68,68,0.12); color:#ef4444; padding:3px 10px; border-radius:4px; font-family:monospace; font-size:0.82em; line-height:1.6; word-break:break-all;\">scheduled_msg_no_pending_msgs</span></td>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2);\">No pending scheduled messages exist in this chat.</td>\n          </tr>\n          <tr style=\"background:rgba(148,163,184,0.05);\">\n            <td style=\"padding:10px 18px; border-right:1px solid rgba(148,163,184,0.25); vertical-align:middle;\"><span style=\"display:inline-block; background:rgba(239,68,68,0.12); color:#ef4444; padding:3px 10px; border-radius:4px; font-family:monospace; font-size:0.82em; line-height:1.6; word-break:break-all;\">param_missing</span></td>\n            <td style=\"padding:10px 18px;\">A required parameter is missing from the request.</td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n    <div style=\"background:rgba(245,158,11,0.08); border:1px solid rgba(245,158,11,0.4); border-left:4px solid #f59e0b; padding:12px 16px; border-radius:0 6px 6px 0; margin-top:14px; overflow:hidden;\">\n      <b style=\"color:#d97706; font-size:0.88em; display:block; margin-bottom:6px;\">Error Response Format</b>\n      <p style=\"margin:0 0 8px 0; font-size:0.85em; opacity:0.75;\">When an error occurs, the API returns a JSON response in this format:</p>\n      <code style=\"display:block; background:rgba(245,158,11,0.1); border:1px solid rgba(245,158,11,0.3); padding:8px 12px; border-radius:4px; font-size:0.75em; word-break:break-all;\">{\"message\": \"A human-readable description of the error.\", \"code\": \"error_code\"}</code>\n      <p style=\"margin:8px 0 0 0; font-size:0.85em; opacity:0.75;\">where <code style=\"background:rgba(245,158,11,0.1); padding:1px 5px; border-radius:3px;\">code</code> is the error identifier (as listed above) and <code style=\"background:rgba(245,158,11,0.1); padding:1px 5px; border-radius:3px;\">message</code> is a human-readable explanation of what went wrong.</p>\n    </div>\n  </div>\n</details>\n"
      tags:
      - scheduledmessages
      parameters:
      - name: CHAT_ID
        in: path
        required: true
        description: Unique identifier of the chat or channel. Determines which chat's scheduled messages are targeted for immediate delivery.<br>To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v3/glossary/#CHAT_ID">CHAT_ID</a> in the Glossary page.
        example: CHAT_ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - status
              properties:
                status:
                  type: string
                  enum:
                  - send
                  description: "Operation trigger to send messages immediately.<br>\n<b>Allowed values</b>:<br>\n<ul>\n  <li><code>send</code>: Triggers immediate delivery of the specified scheduled message or all pending messages in the chat.</li>\n</ul>\n"
                id:
                  type: string
                  description: 'Unique identifier of a specific scheduled message to send immediately. When provided, only that message is sent.<br>

                    Omit this field and use <code>apply_to</code> instead to send all pending messages.

                    '
                apply_to:
                  type: string
                  enum:
                  - all
                  description: "Scope of messages to send when no <code>id</code> is provided.<br>\n<b>Allowed values</b>:<br>\n<ul>\n  <li><code>all</code>: Sends all pending scheduled messages in the chat immediately.</li>\n</ul>\n"
            examples:
              send_specific_message:
                summary: Send a specific message now
                value:
                  status: send
                  id: 76d3978e-b782-4cbb-a98b-670a5a7cbc6e
              send_all_pending_messages:
                summary: Send all pending messages in the chat now
                value:
                  status: send
                  apply_to: all
      responses:
        '204':
          description: Message(s) sent immediately. No response body returned.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/NoResponse'
        '400':
          description: Bad Request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The request cannot be performed. Usually because of malformed parameter or missing parameter.
        '401':
          description: Unauthorized.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Request was rejected because of invalid AuthToken.
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The user does not have enough permission or possibly not an user of the respective organization to access the resource.
        '404':
          description: Not Found.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: The URL you've sent is wrong. It's possible that the resource you've requested has been moved to another URL.
        '429':
          description: Too many requests.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Too many requests within a certain time frame.
        '500':
          description: Internal Server Error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Cliq server encountered an error which prevents it from fulfilling the request.
      security:
      - Cliq_Auth:
        - ZohoCliq.Messages.CREATE
    put:
      summary: Bulk reschedule scheduled messages
      operationId: bulkRescheduleScheduledMessagesV3
      description: "Reschedules all time-based or status-based scheduled messages in a chat in a single operation. Use this to update delivery times or change status triggers across multiple messages at once without editing them individually.\n<br><br>\n<p>\n  <b>Threshold limit</b>: 20 requests per min per user<br>\n  Number of API calls allowed within a minute.<br><br>\n  <b>Lock period</b>: 10 minutes<br>\n  Wait time before consecutive API requests.\n</p>\n<details style=\"margin:16px 0 8px 0; border:1px solid rgba(148,163,184,0.5); border-radius:8px; font-family:inherit;\" ontoggle=\"this.querySelector('.err-toggle-hint').textContent=this.open?'Click to collapse':'Click to expand'\">\n  <summary style=\"cursor:pointer; padding:11px 16px; font-weight:600; background:rgba(148,163,184,0.1); list-style:none; display:flex; align-items:center; gap:8px; user-select:none; border-radius:8px;\">\n    <span style=\"display:inline-flex; align-items:center; justify-content:center; width:20px; height:20px; background:rgba(239,68,68,0.15); border-radius:50%; font-size:12px; font-weight:700; color:#ef4444; flex-shrink:0;\">!</span>\n    Possible Error Codes\n    <span class=\"err-toggle-hint\" style=\"margin-left:auto; font-weight:400; opacity:0.45; font-size:0.8em; letter-spacing:0.01em;\">Click to expand</span>\n  </summary>\n  <div style=\"padding:14px 16px 16px 16px;\">\n    <div style=\"border-radius:6px; border:1px solid rgba(148,163,184,0.35);\">\n      <table style=\"border-collapse:collapse; width:100%; font-family:inherit; font-size:0.9em;\">\n        <thead>\n          <tr>\n            <th style=\"padding:10px 18px; text-align:center; background:rgba(148,163,184,0.15); border-bottom:1px solid rgba(148,163,184,0.35); border-right:1px solid rgba(148,163,184,0.35); font-weight:600; width:45%;\">Error Code</th>\n            <th style=\"padding:10px 18px; text-align:center; background:rgba(148,163,184,0.15); border-bottom:1px solid rgba(148,163,184,0.35); font-weight:600; width:55%;\">Description</th>\n          </tr>\n        </thead>\n        <tbody>\n          <tr>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2); border-right:1px solid rgba(148,163,184,0.25); vertical-align:middle;\"><span style=\"display:inline-block; background:rgba(239,68,68,0.12); color:#ef4444; padding:3px 10px; border-radius:4px; font-family:monospace; font-size:0.82em; line-height:1.6; word-break:break-all;\">param_missing</span></td>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2);\">A required parameter is missing from the request.</td>\n          </tr>\n          <tr style=\"background:rgba(148,163,184,0.05);\">\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2); border-right:1px solid rgba(148,163,184,0.25); vertical-align:middle;\"><span style=\"display:inline-block; background:rgba(239,68,68,0.12); color:#ef4444; padding:3px 10px; border-radius:4px; font-family:monospace; font-size:0.82em; line-height:1.6; word-break:break-all;\">scheduled_msg_no_pending_msgs</span></td>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2);\">No pending scheduled messages exist in this chat.</td>\n          </tr>\n          <tr>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2); border-right:1px solid rgba(148,163,184,0.25); vertical-align:middle;\"><span style=\"display:inline-block; background:rgba(239,68,68,0.12); color:#ef4444; padding:3px 10px; border-radius:4px; font-family:monospace; font-size:0.82em; line-height:1.6; word-break:break-all;\">scheduled_msg_invalid_time_format</span></td>\n            <td style=\"padding:10px 18px; border-bottom:1px solid rgba(148,163,184,0.2);\">Invalid <code>schedule_time</code> format. Expected epoch milliseconds.</td>\n          </tr>\n          <tr style=\"background:rgba(148,163,184,0.05);\">\n            <td style=\"padding:10px 18px; border-right:1px solid rgba(148,163,184,0.25); vertical-align:middle;\"><span style=\"display:inline-block; background:rgba(239,68,68,0.12); color:#ef4444; padding:3px 10px; border-radius:4px; font-family:monospace; font-size:0.82em; line-height:1.6; word-break:break-all;\">input_pattern_mismatch</span></td>\n            <td style=\"padding:10px 18px;\">An unrecognized value was passed for an enum field.</td>\n          </tr>\n        </tbody>\n      </table>\n    </div>\n    <div style=\"background:rgba(245,158,11,0.08); border:1px solid rgba(245,158,11,0.4); border-left:4px solid #f59e0b; padding:12px 16px; border-radius:0 6px 6px 0; margin-top:14px; overflow:hidden;\">\n      <b style=\"color:#d97706; font-size:0.88em; display:block; margin-bottom:6px;\">Error Response Format</b>\n      <p style=\"margin:0 0 8px 0; font-size:0.85em; opacity:0.75;\">When an error occurs, the API returns a JSON response in this format:</p>\n      <code style=\"display:block; background:rgba(245,158,11,0.1); border:1px solid rgba(245,158,11,0.3); padding:8px 12px; border-radius:4px; font-size:0.75em; word-break:break-all;\">{\"message\": \"A human-readable description of the error.\", \"code\": \"error_code\"}</code>\n      <p style=\"margin:8px 0 0 0; font-size:0.85em; opacity:0.75;\">where <code style=\"background:rgba(245,158,11,0.1); padding:1px 5px; border-radius:3px;\">code</code> is the error identifier (as listed above) and <code style=\"background:rgba(245,158,11,0.1); padding:1px 5px; border-radius:3px;\">message</code> is a human-readable explanation of what went wrong.</p>\n    </div>\n  </div>\n</details>\n"
      tags:
      - scheduledmessages
      parameters:
      - name: CHAT_ID
        in: path
        required: true
        description: Unique identifier of the chat or channel. All matching scheduled messages within this chat will be updated by the bulk reschedule operation.<br>To learn how to retrieve this ID, see <a href="/cliq/help/restapi/v3/glossary/#CHAT_ID">CHAT_ID</a> in the Glossary page.
        example: CHAT_ID
        schema:
          type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
              - status
              properties:
                status:
                  type: string
                  enum:
                  - reschedule
                  description: "Operation type for this request.<br>\n<b>Allowed values</b>:<br>\n<ul>\n  <li><code>reschedule</code>: Triggers a bulk rescheduling operation for all matching messages in the chat. 

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