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

# Copiar horários de postagem

> Copia para este canal os horários de postagem de outro canal do workspace. O fuso horário e a meta de posts deste canal não mudam. Uma origem com `posting_schedule` `null` retorna `422` em `from`. Uma origem com horários vazios é copiada assim mesmo, o que remove os horários deste canal. Os posts da fila mantêm seu horário. Uma mudança de horários move só os posts cujo horário deixou de existir, para os primeiros horários livres, em ordem. Um post da fila que fica sem horário vira um post com horário personalizado no horário em que já estava. Posts com horário personalizado nunca se movem. Exige ser administrador do workspace.



## OpenAPI

````yaml /openapi.json post /channels/{account}/posting-schedule/copy
openapi: 3.1.0
info:
  title: PostClean API
  version: 2.0.0
  description: >-
    API REST do PostClean. Autentique com uma chave de API do workspace, enviada
    como token Bearer no cabeçalho `Authorization`.
servers:
  - url: https://post.chatclean.com.br/api
    description: PostClean
security:
  - bearerAuth: []
tags:
  - name: Posts
    description: Criar, ler, atualizar, excluir e pré-visualizar posts.
  - name: Post notes
    description: Notas internas de um post, visíveis aos membros do workspace.
  - name: Approvals
    description: Aprovar ou rejeitar posts que aguardam aprovação.
  - name: Recurrence
    description: Fazer um post se repetir numa frequência.
  - name: Media and uploads
    description: Enviar arquivos e anexar mídia aos posts.
  - name: Social accounts
    description: Contas sociais conectadas e as opções de cada rede.
  - name: Channels
    description: Horários de postagem e fila de um canal.
  - name: Ideas
    description: Ideias do quadro Criar.
  - name: Idea stages
    description: As colunas (etapas) do quadro de ideias.
  - name: Analytics
    description: Métricas do workspace e dos canais.
  - name: Labels
    description: Etiquetas para organizar posts e ideias.
  - name: Signatures
    description: Textos reutilizáveis para adicionar aos posts.
  - name: Workspace
    description: O workspace ao qual a chave de API pertence.
  - name: API keys
    description: Chaves de API pessoais deste workspace.
  - name: Webhooks
    description: Webhooks de saída e os registros de entrega.
  - name: Repurposes
    description: Automações que republicam vídeos postados fora do PostClean.
  - name: Platform
    description: Recursos de cada plataforma e tipos de conteúdo.
paths:
  /channels/{account}/posting-schedule/copy:
    parameters:
      - $ref: '#/components/parameters/AccountId'
    post:
      tags:
        - Channels
      summary: Copiar horários de postagem
      description: >-
        Copia para este canal os horários de postagem de outro canal do
        workspace. O fuso horário e a meta de posts deste canal não mudam. Uma
        origem com `posting_schedule` `null` retorna `422` em `from`. Uma origem
        com horários vazios é copiada assim mesmo, o que remove os horários
        deste canal. Os posts da fila mantêm seu horário. Uma mudança de
        horários move só os posts cujo horário deixou de existir, para os
        primeiros horários livres, em ordem. Um post da fila que fica sem
        horário vira um post com horário personalizado no horário em que já
        estava. Posts com horário personalizado nunca se movem. Exige ser
        administrador do workspace.
      operationId: copyPostingSchedule
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - from
              properties:
                from:
                  type: string
                  format: uuid
                  description: Conta social de onde copiar.
            example:
              from: 9c8b7a69-4c5d-4e6f-8a0b-2c3d4e5f6071
      responses:
        '200':
          description: Os horários de postagem copiados.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ChannelPostingSchedule'
              example:
                id: 9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54
                timezone: America/Sao_Paulo
                posting_goal: 5
                posting_schedule:
                  - day: 0
                    enabled: true
                    times: []
                  - day: 1
                    enabled: true
                    times:
                      - '09:00'
                  - day: 2
                    enabled: true
                    times:
                      - '09:00'
                      - '15:00'
                  - day: 3
                    enabled: true
                    times:
                      - '12:00'
                  - day: 4
                    enabled: true
                    times:
                      - '09:00'
                  - day: 5
                    enabled: true
                    times: []
                  - day: 6
                    enabled: false
                    times: []
        '401':
          $ref: '#/components/responses/Unauthorized'
        '402':
          $ref: '#/components/responses/PaymentRequired'
        '403':
          description: >-
            A chave de API não pode ser usada, ou o usuário não é administrador
            do workspace (só administradores mudam os horários de postagem).
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '404':
          description: Este canal ou o canal `from` não existe neste workspace.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ErrorBody'
        '409':
          $ref: '#/components/responses/Conflict'
        '422':
          $ref: '#/components/responses/ValidationError'
        '429':
          $ref: '#/components/responses/TooManyRequests'
components:
  parameters:
    AccountId:
      name: account
      in: path
      required: true
      description: Id da conta social (canal). Uma conta de outro workspace devolve `404`.
      schema:
        type: string
        format: uuid
      example: 9c8b7a65-4d3e-4f2a-8b1c-0d9e8f7a6b54
  schemas:
    ChannelPostingSchedule:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Id da conta social.
        timezone:
          type: string
          description: >-
            Fuso horário IANA do canal. Os horários de postagem e da fila ficam
            nesse fuso.
        posting_goal:
          type:
            - integer
            - 'null'
          minimum: 1
          maximum: 28
          description: Meta de posts por semana do canal.
        posting_schedule:
          type:
            - array
            - 'null'
          items:
            $ref: '#/components/schemas/PostingDay'
          description: >-
            Sete dias, começando no domingo. `null` quando o canal não tem
            horários de postagem (os posts não podem usar `queue`).
    ErrorBody:
      type: object
      properties:
        message:
          type: string
      description: Corpo de erro com uma mensagem.
    PostingDay:
      type: object
      required:
        - day
        - enabled
        - times
      properties:
        day:
          type: integer
          minimum: 0
          maximum: 6
          description: >-
            Dia da semana: `0` é domingo, `6` é sábado. Envie um inteiro JSON,
            não um texto.
        enabled:
          type: boolean
          description: >-
            Um dia desativado guarda seus horários, mas não oferece horários na
            fila.
        times:
          type: array
          maxItems: 4
          items:
            type: string
            pattern: ^\d{2}:\d{2}$
            examples:
              - '09:00'
          description: >-
            Horários de postagem, `H:i` no fuso do canal, no máximo 4 por dia,
            sem repetição. São gravados em ordem.
    ValidationErrorBody:
      type: object
      properties:
        message:
          type: string
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
      description: Corpo de erro de validação. `errors` traz as mensagens por campo.
    RateLimitErrorBody:
      type: object
      properties:
        name:
          type: string
          const: rate_limit_exceeded
        message:
          type: string
          examples:
            - Rate limit exceeded. Please retry after 30 seconds.
      description: Corpo devolvido quando o limite de requisições é excedido.
  responses:
    Unauthorized:
      description: >-
        Chave de API ausente, inválida, revogada ou expirada. Corpos possíveis:
        `Unauthenticated.` (sem chave, ou chave inválida ou revogada), `Token
        expired.` (passou do `expires_at`), `Token not found.` e `No workspace
        selected.` (a chave não está mais ligada a um workspace).
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            message: Unauthenticated.
    PaymentRequired:
      description: >-
        A conta do workspace não tem assinatura ativa nem período de teste.
        Corpo: `{"message": "Active subscription required."}`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
          example:
            message: Active subscription required.
    Conflict:
      description: >-
        Outra alteração neste post ou na fila do canal está em andamento. Tente
        de novo.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ErrorBody'
    ValidationError:
      description: A validação falhou. Cada campo com erro aparece em `errors`.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/ValidationErrorBody'
    TooManyRequests:
      description: 'Limite de requisições excedido: 60 por minuto por workspace.'
      headers:
        Retry-After:
          description: Segundos de espera antes de tentar de novo.
          schema:
            type: integer
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/RateLimitErrorBody'
          example:
            name: rate_limit_exceeded
            message: Rate limit exceeded. Please retry after 30 seconds.
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Chave de API do workspace, criada em Configurações > Chaves de API.

````

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