> ## Documentation Index
> Fetch the complete documentation index at: https://docs.reachhunt.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Update scheduled message

> Changes the text or the time.



## OpenAPI

````yaml /openapi.json patch /scheduled-messages/{scheduledMessageId}
openapi: 3.1.0
info:
  title: ReachHunt API
  version: 1.0.0
  description: >-
    The ReachHunt API gives your own apps and scripts programmatic access to
    your workspace: accounts, campaigns, lead lists, conversations, messages,
    tags and statuses.


    Send your API key in the `Authorization` header: `Authorization: Bearer
    YOUR_API_KEY`. The key decides the workspace, so no path or parameter names
    one.


    Every response has the same envelope: `{ "status": true, "data": ...,
    "error": null }`.
servers:
  - url: https://api.reachhunt.ai/api/v1
    description: Production
security: []
tags:
  - name: Workspaces
    description: Your workspace and the people in it.
  - name: Accounts
    description: The X and LinkedIn accounts you connected.
  - name: Analytics
    description: Activity over time.
  - name: Credits
    description: AI credits and how they were used.
  - name: Campaigns
    description: Outreach that messages your leads step by step.
  - name: Agents
    description: AI agents that reply to your leads.
  - name: Tags
    description: Labels you put on conversations.
  - name: Statuses
    description: Pipeline stages you put conversations in.
  - name: Leads
    description: The people in your lead lists.
  - name: Lead lists
    description: Lists of people you collect to message.
  - name: Conversations
    description: The conversations in your inbox.
  - name: Messages
    description: The messages in a conversation.
  - name: Conversation details
    description: Your team's record of the person in a conversation.
  - name: Internal notes
    description: Notes only your team sees.
  - name: Scheduled messages
    description: Messages set to send later.
  - name: Templates
    description: Saved messages you can reuse.
  - name: Webhook events
    description: What each event sends.
paths:
  /scheduled-messages/{scheduledMessageId}:
    patch:
      tags:
        - Scheduled messages
      summary: Update scheduled message
      description: Changes the text or the time.
      operationId: scheduled.update
      parameters:
        - name: scheduledMessageId
          in: path
          required: true
          description: The scheduled message ID.
          schema:
            type: string
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                text:
                  type: string
                  description: The new text.
                sendAt:
                  type: string
                  format: date-time
                  description: The new time, in ISO 8601.
              required: []
      responses:
        '200':
          description: 'OK. Check `status`: errors the API handles itself also return 200.'
          content:
            application/json:
              schema:
                type: object
                required:
                  - status
                  - data
                  - error
                properties:
                  status:
                    type: boolean
                    description: '`true` when the request succeeded.'
                  data:
                    $ref: '#/components/schemas/ScheduledMessage'
                  error:
                    type: 'null'
                    description: Always `null` on success.
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PlanRequired'
        '500':
          $ref: '#/components/responses/ServerError'
      security:
        - bearerAuth: []
components:
  schemas:
    ScheduledMessage:
      type: object
      description: A message set to send later.
      required:
        - id
        - accountId
        - conversationId
        - text
        - sendAt
        - status
        - error
        - replyToMessageId
        - attachment
        - authorUserId
        - createdAt
      properties:
        id:
          type: string
          description: The scheduled message ID.
        accountId:
          type: string
          description: The connected account.
        conversationId:
          type: string
          description: The conversation it goes to.
        text:
          type: string
          description: The message text.
        sendAt:
          type: string
          format: date-time
          description: When it sends, in ISO 8601 UTC.
        status:
          type: string
          enum:
            - scheduled
            - sending
            - sent
            - failed
            - cancelled
          description: >-
            Where it stands. A `failed` message can still be changed and sent
            again.
        error:
          type:
            - string
            - 'null'
          description: Why it failed. `null` when it did not.
        replyToMessageId:
          type:
            - string
            - 'null'
          description: The message it replies to.
        attachment:
          type:
            - object
            - 'null'
          properties:
            url:
              type: string
            name:
              type:
                - string
                - 'null'
            type:
              type:
                - string
                - 'null'
            size:
              type:
                - integer
                - 'null'
          description: The attached file. `null` when none.
        authorUserId:
          type: string
          description: The teammate who scheduled it.
        createdAt:
          type: string
          format: date-time
          description: When it was created, in ISO 8601 UTC.
    Failure:
      type: object
      required:
        - status
        - data
        - error
      properties:
        status:
          type: boolean
          description: Always `false` for an error.
        data:
          type: 'null'
          description: Always `null` for an error.
        error:
          type: string
          description: What went wrong, in plain words.
  responses:
    Unauthorized:
      description: The API key is missing or not valid.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failure'
          example:
            status: false
            data: null
            error: Not authenticated
    PlanRequired:
      description: The workspace has no active plan, or its trial has ended.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failure'
          example:
            status: false
            data: null
            error: Your free trial has ended. Pick a plan to continue.
    ServerError:
      description: Something failed on our side. Try again.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Failure'
          example:
            status: false
            data: null
            error: Something went wrong. Please try again.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: Bearer
      description: >-
        Your API key, sent as `Authorization: Bearer YOUR_API_KEY`. Create one
        in **Settings → API**.
      x-default: Bearer YOUR_API_KEY

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.