> ## 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.

# Crear una programació cron

> Crea una nova programació cron per a un grup de workspaces. Les programacions defineixen operacions automatitzades d'energia (START, STOP, RESTART) que es executen en programacions especificades segons expressions cron i zona horària. Les programacions START poden incloure opcionalment un ID de Workspace de dispositiu intermedi per operacions Wake on LAN en xarxes segures. Si es proporciona intermediate_device, indica que s'ha d'utilitzar un dispositiu intermedi. El sistema valida que no existeixi una programació en conflicte (mateix tipus, hora i dia després de la conversió de zona horària).



## OpenAPI

````yaml /ca/api-reference/openapi.ca-v1.json post /v1/organizations/{organization_id}/workspace-groups/{workspace_group_id}/schedules
openapi: 3.0.3
info:
  title: API Publica Portal
  version: 1.0.0
  description: API pública REST per al portal
servers:
  - url: https://api.flexxible.net
    description: Portal API (production)
security:
  - bearerAuth: []
tags: []
paths:
  /v1/organizations/{organization_id}/workspace-groups/{workspace_group_id}/schedules:
    post:
      tags:
        - Grups de Workspaces
      summary: Crear una programació cron
      description: >-
        Crea una nova programació cron per a un grup de workspaces. Les
        programacions defineixen operacions automatitzades d'energia (START,
        STOP, RESTART) que es executen en programacions especificades segons
        expressions cron i zona horària. Les programacions START poden incloure
        opcionalment un ID de Workspace de dispositiu intermedi per operacions
        Wake on LAN en xarxes segures. Si es proporciona intermediate_device,
        indica que s'ha d'utilitzar un dispositiu intermedi. El sistema valida
        que no existeixi una programació en conflicte (mateix tipus, hora i dia
        després de la conversió de zona horària).
      operationId: createWorkspaceGroupSchedule
      parameters:
        - name: organization_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: El identificador únic de l'organització
          example: 507f1f77bcf86cd799439011
        - name: workspace_group_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: L'identificador únic del grup de workspaces
          example: 507f1f77bcf86cd799439020
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceGroupScheduleRequestV1'
            examples:
              create-start-schedule:
                summary: Crear una programació START per a dies laborables a les 8 AM
                value:
                  cron_expression: 0 8 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
              create-start-schedule-with-intermediate-device:
                summary: >-
                  Crear una programació START amb dispositiu intermedi per a
                  Wake-on-LAN
                value:
                  cron_expression: 0 8 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
                  intermediate_device: 507f1f77bcf86cd799439050
              create-stop-schedule:
                summary: Crear una programació STOP per a dies laborables a les 6 PM
                value:
                  cron_expression: 0 18 * * 1-5
                  time_zone: UTC
                  type: stop
              create-restart-schedule:
                summary: Crear una programació RESTART per a caps de setmana a mitjanit
                value:
                  cron_expression: 0 0 * * 0,6
                  time_zone: Pacific Standard Time
                  type: restart
      responses:
        '201':
          description: >-
            Programació creada correctament. La resposta conté el recurs de
            programació creat.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceGroupScheduleV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Sol·licitud incorrecta. Causes comunes: - Falten camps obligatoris
            (cron_expression, time_zone, type) - Format d'expressió cron invàlid
            - Valor de zona horària invàlid - Tipus de programació invàlid (ha
            de ser START, STOP o RESTART) - Format d'ID d'espai de treball de
            intermediate_device invàlid
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: >-
            No autoritzat: l'usuari no té accés a l'organització o
            l'organització no existeix
        '404':
          $ref: '#/components/responses/NotFound'
          description: >-
            Grup d'espais de treball no trobat o el grup d'espais de treball
            pertany a una organització diferent (després de passar
            l'autorització)
        '409':
          $ref: '#/components/responses/Conflict'
          description: >-
            Conflicte: ja existeix una programació amb el mateix tipus, hora i
            dia (després de la conversió de zona horària)
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
          description: >-
            Entitat no processable. Causes comunes: - L'ID d'espai de treball de
            intermediate_device no existeix o no pertany a l'organització
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    CreateWorkspaceGroupScheduleRequestV1:
      type: object
      properties:
        cron_expression:
          type: string
          description: >-
            Expressió cron que defineix quan s'ha d'executar la programació.
            Format: minut hora dia-del-mes mes dia-de-la-setmana. Exemples: '0 8
            * * 1-5' (8 AM en dies laborables), '0 0 * * 0' (mitjanit del
            diumenge), '30 14 * * *' (2:30 PM diàriament). Dia-de-la-setmana:
            0=diumenge, 1=dilluns, ..., 6=dissabte. Admet rangs (1-5), llistes
            (1,3,5) i comodins (*). Ha de ser un format d'expressió cron vàlid
            amb 5 camps separats per espais.
          example: 0 8 * * 1-5
        time_zone:
          type: string
          description: >-
            Zona horària per a l'execució de la programació. Admet
            identificadors IANA (per exemple, 'America/New_York') i Windows (per
            exemple, 'Pacific Standard Time').
          example: Eastern Standard Time
        type:
          type: string
          enum:
            - start
            - stop
            - restart
          description: >-
            Tipus d'operació d'energia a realitzar. START: Encén els Workspaces
            del grup. STOP: Apaga els Workspaces del grup. RESTART: Reinicia els
            Workspaces del grup.
          example: start
        intermediate_device:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Opcional. L'identificador únic del Workspace de dispositiu
            intermedi. Si es proporciona, indica que s'ha d'utilitzar un
            dispositiu intermedi per operacions Wake on LAN. Només aplicable a
            programacions START. S'utilitza per a accions Wake on LAN en xarxes
            segures. El Workspace ha d'existir i pertànyer a l'organització.
          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: L'identificador únic de la programació
          example: 507f1f77bcf86cd799439060
        cron_expression:
          type: string
          description: >-
            Expressió cron que defineix quan es executa la programació. Format:
            minut hora dia-del-mes mes dia-de-la-setmana.
          example: 0 8 * * 1-5
        time_zone:
          type: string
          description: >-
            Zona horària per a l'execució de la programació. Admet
            identificadors IANA (per exemple, 'America/New_York') i Windows (per
            exemple, 'Pacific Standard Time').
          example: Eastern Standard Time
        type:
          type: string
          enum:
            - start
            - stop
            - restart
          description: >-
            Tipus d'operació d'energia: START (encén), STOP (apaga), RESTART
            (reinicia Workspaces)
        intermediate_device:
          type: string
          pattern: ^[0-9a-f]{24}$
          nullable: true
          description: >-
            L'identificador únic del Workspace del dispositiu intermedi, si està
            configurat. S'utilitza per a accions de Wake on LAN en xarxes
            segures.
          example: 507f1f77bcf86cd799439050
        created_by:
          type: string
          pattern: ^[0-9a-f]{24}$
          nullable: true
          description: ID d'usuari que va crear la programació
          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: Sol·licitud incorrecta
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: No autoritzat
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: No trobat
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Conflict:
      description: Conflicte
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: Entitat no processable
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Masses sol·licituds
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Error intern del servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````