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

# Update a schedule

> Updates an existing schedule's name, description, trigger, or run arguments; only
the fields supplied are changed, and an explicit null description clears it while
omitting it keeps the current value. Only the schedule's owner or an admin may
update it (others receive 403). Returns an acknowledgement that includes the
recomputed next fire time when the trigger changed. Requires the schedules:write
scope.



## OpenAPI

````yaml PATCH /v1/api/schedules/{id}
openapi: 3.1.0
info:
  title: HQ API
  description: >-
    Public HTTP API for HQ. Authenticate with a Personal Access Token
    (`Authorization: Bearer hq_pat_...`) for server-side integrations, or an
    OAuth 2.1 authorization-code + PKCE flow for browser apps acting on a user's
    behalf. Both grant from the same resource:action scope vocabulary; an
    endpoint's required scope is listed under its `security`.
  license:
    name: Apache-2.0
    identifier: Apache-2.0
  version: 1.0.0
servers:
  - url: https://api.hq.zone
    description: HQ API (production)
security: []
tags:
  - name: me
    description: The signed-in user's own account
  - name: conversations
    description: Conversations and their messages
  - name: documents
    description: The content-addressed documents library
  - name: schedules
    description: Scheduled prompts and recurring tasks
  - name: agents
    description: Agents, their skills and integrations
  - name: memory
    description: What the assistant remembers (L5 governance)
  - name: tokens
    description: Personal Access Token management
  - name: billing
    description: Usage and billing
  - name: notifications
    description: In-app notification center
  - name: admin
    description: Workspace administration
  - name: integrations
    description: Workspace integrations (Slack, MCP, skills)
  - name: onboarding
    description: New-workspace onboarding wizard
  - name: auth
    description: Sign-in, sessions, and OAuth
paths:
  /v1/api/schedules/{id}:
    patch:
      tags:
        - schedules
      summary: Update a schedule
      description: >-
        Updates an existing schedule's name, description, trigger, or run
        arguments; only

        the fields supplied are changed, and an explicit null description clears
        it while

        omitting it keeps the current value. Only the schedule's owner or an
        admin may

        update it (others receive 403). Returns an acknowledgement that includes
        the

        recomputed next fire time when the trigger changed. Requires the
        schedules:write

        scope.
      operationId: update_schedule
      parameters:
        - name: id
          in: path
          description: Schedule id
          required: true
          schema:
            type: string
            format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateInput'
        required: true
      responses:
        '200':
          description: Updated
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SchedulesOkResp'
        '400':
          description: Invalid args or trigger
        '403':
          description: Not your schedule
        '404':
          description: Not found
      security:
        - bearer_pat:
            - schedules:write
        - oauth2:
            - schedules:write
components:
  schemas:
    UpdateInput:
      type: object
      required:
        - trigger
        - args
      properties:
        args:
          type: object
        description:
          type:
            - string
            - 'null'
          description: '`null` clears, omitted keeps current.'
        max_duration_secs:
          type:
            - integer
            - 'null'
          format: int32
          description: |-
            New wall-clock cap per fire, in seconds (clamped 60..=3600). Omitted
            leaves it unchanged.
        name:
          type:
            - string
            - 'null'
        trigger:
          type: object
    SchedulesOkResp:
      type: object
      required:
        - ok
      properties:
        next_fire_at:
          type:
            - string
            - 'null'
          format: date-time
        ok:
          type: boolean
  securitySchemes:
    bearer_pat:
      type: http
      scheme: bearer
      bearerFormat: hq_pat
      description: 'Personal Access Token. Send as `Authorization: Bearer hq_pat_...`.'
    oauth2:
      type: oauth2
      flows:
        authorizationCode:
          authorizationUrl: https://app.hq.zone/v1/oauth/authorize
          tokenUrl: https://api.hq.zone/v1/oauth/token
          refreshUrl: https://api.hq.zone/v1/oauth/token
          scopes:
            admin: Administer the workspace (users, settings, integrations)
            agents:read: View the agents in your workspace
            agents:write: Create and configure agents
            billing:read: View usage and billing information
            conversations:read: Read your conversations and their messages
            conversations:write: Start conversations and send messages on your behalf
            documents:read: Read your documents library
            documents:write: Upload and manage documents in your library
            memory:read: Read what the assistant remembers about you
            memory:write: Correct or delete what the assistant remembers
            schedules:read: View your scheduled tasks
            schedules:write: Create and manage scheduled tasks
            tables:read: Read your tables and their rows
            tables:write: Create tables and add, edit, or delete rows

````