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

# Criar uma programação cron

> Cria uma nova programação cron para um grupo de workspaces. As programações definem operações automatizadas de energia (START, STOP, RESTART) que são executadas em programações especificadas de acordo com expressões cron e zona horária. As programações START podem incluir opcionalmente um ID de Workspace de dispositivo intermediário para operações Wake on LAN em redes seguras. Se intermediate_device for fornecido, indica que um dispositivo intermediário deve ser usado. O sistema valida que nenhuma programação em conflito exista (mesmo tipo, hora e dia após a conversão de zona horária).



## OpenAPI

````yaml /pt-BR/api-reference/openapi.pt-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 para 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:
        - Grupos de workspaces
      summary: Criar uma programação cron
      description: >-
        Cria uma nova programação cron para um grupo de workspaces. As
        programações definem operações automatizadas de energia (START, STOP,
        RESTART) que são executadas em programações especificadas de acordo com
        expressões cron e zona horária. As programações START podem incluir
        opcionalmente um ID de Workspace de dispositivo intermediário para
        operações Wake on LAN em redes seguras. Se intermediate_device for
        fornecido, indica que um dispositivo intermediário deve ser usado. O
        sistema valida que nenhuma programação em conflito exista (mesmo tipo,
        hora e dia após a conversão 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: O identificador único da organização
          example: 507f1f77bcf86cd799439011
        - name: workspace_group_id
          in: path
          required: true
          schema:
            type: string
            maxLength: 24
            pattern: ^[0-9a-f]{24}$
          description: O identificador único do grupo de workspaces
          example: 507f1f77bcf86cd799439020
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateWorkspaceGroupScheduleRequestV1'
            examples:
              create-start-schedule:
                summary: Criar uma programação START para dias úteis às 8 AM
                value:
                  cron_expression: 0 8 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
              create-start-schedule-with-intermediate-device:
                summary: >-
                  Criar uma programação START com dispositivo intermediário para
                  Wake-on-LAN
                value:
                  cron_expression: 0 8 * * 1-5
                  time_zone: Eastern Standard Time
                  type: start
                  intermediate_device: 507f1f77bcf86cd799439050
              create-stop-schedule:
                summary: Criar uma programação STOP para dias úteis às 6 PM
                value:
                  cron_expression: 0 18 * * 1-5
                  time_zone: UTC
                  type: stop
              create-restart-schedule:
                summary: Criar uma programação RESTART para fins de semana à meia-noite
                value:
                  cron_expression: 0 0 * * 0,6
                  time_zone: Pacific Standard Time
                  type: restart
      responses:
        '201':
          description: >-
            Programação criada corretamente. A resposta contém o recurso de
            programação criado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WorkspaceGroupScheduleV1'
        '400':
          $ref: '#/components/responses/BadRequest'
          description: >-
            Requisição incorreta. Causas comuns: - Campos obrigatórios em falta
            (cron_expression, time_zone, type) - Formato de expressão cron
            inválido - Valor de zona horária inválido - Tipo de programação
            inválido (deve ser START, STOP ou RESTART) - Formato de ID de
            Workspace de intermediate_device inválido
        '401':
          $ref: '#/components/responses/Unauthorized'
          description: >-
            Não autorizado: o usuário não tem acesso à organização ou a
            organização não existe
        '404':
          $ref: '#/components/responses/NotFound'
          description: >-
            Grupo de workspaces não encontrado ou o grupo de workspaces pertence
            a uma organização diferente (após passar a autorização)
        '409':
          $ref: '#/components/responses/Conflict'
          description: >-
            Conflito: já existe uma programação com o mesmo tipo, hora e dia
            (após a conversão de zona horária)
        '422':
          $ref: '#/components/responses/UnprocessableEntity'
          description: >-
            Entidade não processável. Causas comuns: - O ID de Workspace de
            intermediate_device não existe ou não pertence à organização
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
components:
  schemas:
    CreateWorkspaceGroupScheduleRequestV1:
      type: object
      properties:
        cron_expression:
          type: string
          description: >-
            Expressão cron que define quando o cronograma deve ser executado.
            Formato: minuto hora dia-do-mês mês dia-da-semana. Exemplos: '0 8 *
            * 1-5' (8 da manhã em dias de semana), '0 0 * * 0' (meia-noite do
            domingo), '30 14 * * *' (2:30 da tarde diariamente). Dia-da-semana:
            0=domingo, 1=segunda-feira, ..., 6=sábado. Suporta intervalos (1-5),
            listas (1,3,5) e curingas (*). Deve ser um formato de expressão cron
            válido com 5 campos separados por espaços.
          example: 0 8 * * 1-5
        time_zone:
          type: string
          description: >-
            Zona horária para a execução do cronograma. Suporta identificadores
            IANA (por exemplo, 'America/New_York') e Windows (por exemplo,
            'Pacific Standard Time').
          example: Eastern Standard Time
        type:
          type: string
          enum:
            - start
            - stop
            - restart
          description: >-
            Tipo de operação de energia a ser realizada. START: Liga os
            Workspaces do grupo. STOP: Desliga os Workspaces do grupo. RESTART:
            Reinicia os Workspaces do grupo.
          example: start
        intermediate_device:
          type: string
          maxLength: 24
          pattern: ^[0-9a-f]{24}$
          description: >-
            Opcional. O identificador único do Workspace de dispositivo
            intermediário. Se fornecido, indica que um dispositivo intermediário
            deve ser usado para operações Wake on LAN. Aplicável apenas a
            programações START. É usado para ações Wake on LAN em redes seguras.
            O Workspace deve existir e pertencer à organização.
          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: O identificador único da programação
          example: 507f1f77bcf86cd799439060
        cron_expression:
          type: string
          description: >-
            Expressão cron que define quando a programação é executada. Formato:
            minuto hora dia-do-mês mês dia-da-semana.
          example: 0 8 * * 1-5
        time_zone:
          type: string
          description: >-
            Zona horária para a execução do cronograma. Suporta identificadores
            IANA (por exemplo, 'America/New_York') e Windows (por exemplo,
            'Pacific Standard Time').
          example: Eastern Standard Time
        type:
          type: string
          enum:
            - start
            - stop
            - restart
          description: >-
            Tipo de operação de energia: START (liga), STOP (desliga), RESTART
            (reinicia Workspaces)
        intermediate_device:
          type: string
          pattern: ^[0-9a-f]{24}$
          nullable: true
          description: >-
            O identificador único do workspace do dispositivo intermediário, se
            estiver configurado. É usado para ações de Wake on LAN em redes
            seguras.
          example: 507f1f77bcf86cd799439050
        created_by:
          type: string
          pattern: ^[0-9a-f]{24}$
          nullable: true
          description: ID do usuário que criou a programação
          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: Solicitação incorreta
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Unauthorized:
      description: Não autorizado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    NotFound:
      description: Não encontrado
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    Conflict:
      description: Conflito
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    UnprocessableEntity:
      description: Entidade não processável
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    TooManyRequests:
      description: Solicitações em excesso
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
    InternalServerError:
      description: Erro interno do servidor
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorResponse'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````