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

# Update a cron schedule

> Update an existing cron schedule for a workspace group. All schedule fields must be provided, as this endpoint implements full replacement semantics. System validates no conflicting schedule exists (same type, time, and day after timezone conversion), excluding the schedule being updated. To remove an intermediate device from a START schedule, omit the intermediate_device field.



## OpenAPI

````yaml /en/api-reference/openapi.en-v1.json put /v1/organizations/{organization_id}/workspace-groups/{workspace_group_id}/schedules/{schedule_id}
openapi: 3.0.3
info:
  title: Public Portal API
  version: 1.0.0
  description: Public REST API for portal
servers:
  - url: https://api.staging.flxwvdexternal.com
    description: Staging API server.
security:
  - bearerAuth: []
tags: []
paths:
  /v1/organizations/{organization_id}/workspace-groups/{workspace_group_id}/schedules/{schedule_id}:
    put:
      tags:
        - Workspace groups
      summary: Update a cron schedule
      description: >-
        Update an existing cron schedule for a workspace group. All schedule
        fields must be provided, as this endpoint implements full replacement
        semantics. System validates no conflicting schedule exists (same type,
        time, and day after timezone conversion), excluding the schedule being
        updated. To remove an intermediate device from a START schedule, omit
        the intermediate_device field.
      operationId: updateWorkspaceGroupSchedule
      parameters:
        - name: organization id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: The unique identifier of the organization
          example: 507f1f77bcf86cd799439011
        - name: workspace_group_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: The unique identifier of the workspace group
          example: 507f1f77bcf86cd799439020
        - name: schedule_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: The unique ID of the schedule to be updated.
          example: 507f1f77bcf86cd799439060
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateWorkspaceGroupScheduleRequestV1'
            examples:
              update-schedule-time:
                summary: Update schedule to run at a different time
                value:
                  cron_expression: 0 9 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
              add-intermediate-device:
                summary: Add intermediate device to an existing START schedule
                value:
                  cron_expression: 0 8 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
                  intermediate_device: 507f1f77bcf86cd799439050
              remove-intermediate-device:
                summary: Remove intermediate device from START schedule
                value:
                  cron_expression: 0 8 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
              change-schedule-type:
                summary: Change schedule type from START to STOP
                value:
                  cron_expression: 0 18 * * 1-5
                  time_zone: UTC
                  type: stop
      responses:
        '200':
          description: >-
            Schedule updated successfully. The response contains the updated
            schedule resource.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceGroupScheduleV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Invalid request. Common causes: - Mandatory fields are missing
            (cron_expression, time_zone, type) - Invalid cron expression format
            - Invalid time zone value - Invalid scheduling type (must be START,
            STOP, or RESTART) - Invalid intermediate_device Workspace ID format
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: Unauthorized - authentication required
        '404':
          $ref: '#/components/responses/NotFound'
          description: >-
            Workspace group or schedule not found, or does not belong to the
            organization
        '409':
          $ref: '#/components/responses/Conflict'
          description: >-
            Conflict - Scheduling with the same type, time, and day already
            exists (after time zone conversion), excluding the current schedule
            being updated
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
          description: >-
            Unprocessable entity. Common causes: - Intermediate_device Workspace
            ID does not exist or does not belong to the organization
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    UpdateWorkspaceGroupScheduleRequestV1:
      type: object
      properties:
        cron_expression:
          type: string
          description: >-
            Cron expression that defines when the schedule should be executed.
            Format: minute hour day-of-month month day-of-week. Examples: '0 8 *
            * 1-5' (8 AM weekdays), '0 0 * * 0' (midnight on Sunday), '30 14 * *
            *(2:30 PM daily). Day-of-week: 0=Sunday, 1=Monday, ..., 6=Saturday.
            Supports ranges (1-5), lists (1,3,5), and wildcards (*). Must be a
            valid cron expression format with 5 space-separated fields.
          example: 0 8 * * 1-5
        time_zone:
          type: string
          description: >-
            Timezone for the execution of the schedule. Supports IANA
            identifiers (e.g., 'America/New_York') and Windows identifiers
            (e.g., 'Pacific Standard Time').
          example: Eastern Standard Time
        type:
          type: string
          enum:
            - start
            - stop
            - restart
          description: >-
            Type of power operation to perform. START: Turns on the group's
            Workspaces. STOP: Turns off the group's Workspaces. RESTART:
            Restarts the group's Workspaces.
          example: start
        intermediate_device:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Optional. The unique identifier of the Workspace intermediate
            device. If provided, indicates that an intermediate device should be
            used for Wake-on-LAN operations. Only applicable to START schedules.
            Used for secure network Wake-on-LAN actions. The Workspace must
            exist and belong to the organization. To remove an intermediate
            device, omit this field.
          example: 507f1f77bcf86cd799439050
      required:
        - cron_expression
        - time_zone
        - type
    WorkspaceGroupScheduleV1:
      type: object
      required:
        - id
        - cron_expression
        - time_zone
        - type
      properties:
        id:
          type: string
          pattern: ^[0-9a-f]{24}$
          description: The unique identifier of the schedule
          example: 507f1f77bcf86cd799439060
        cron_expression:
          type: string
          description: >-
            Cron expression defining when the schedule runs. Format: minute hour
            day-of-month month day-of-week.
          example: 0 8 * * 1-5
        time_zone:
          type: string
          description: >-
            Timezone for the execution of the schedule. Supports IANA
            identifiers (e.g., 'America/New_York') and Windows identifiers
            (e.g., 'Pacific Standard Time').
          example: Eastern Standard Time
        type:
          type: string
          enum:
            - start
            - stop
            - restart
          description: >-
            Power operation type: START (switch on), STOP (switch off), RESTART
            (restart Workspaces)
        intermediate_device:
          type: string
          pattern: ^[0-9a-f]{24}$
          nullable: true
          description: >-
            The unique identifier of the intermediate device Workspace, if
            configured. Used for Wake on LAN actions in secure networks.
          example: 507f1f77bcf86cd799439050
        created_by:
          type: string
          pattern: ^[0-9a-f]{24}$
          nullable: true
          description: User ID who created the schedule
          example: 507f1f77bcf86cd799439070
    ErrorResponse:
      type: object
      properties:
        error:
          type: object
          properties:
            message:
              type: string
            code:
              type: string
            details:
              type: string
          required:
            - message
            - code
      required:
        - error
  responses:
    BadRequest:
      description: Bad Request
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Unauthorized
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Not Found
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Conflict:
      description: Conflict
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: Unprocessable Entity
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Too Many Requests
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Internal Server Error
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````