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

# Toggle Promo

> Ativa ou desativa uma promoção.
<Note>A rota inverte o estado atual e não recebe corpo. Confira o `enabled` da resposta para saber como a promoção ficou.</Note>



## OpenAPI

````yaml /openapi/promos.yaml patch /app/promo/{promo-id}/toggle
openapi: 3.1.0
info:
  title: CentralCart API
  version: 1.0.0
servers:
  - url: https://api.centralcart.io/v1
    description: Produção
security:
  - bearerAuth: []
paths:
  /app/promo/{promo-id}/toggle:
    patch:
      tags:
        - Promos
      summary: Toggle Promo
      description: >-
        Ativa ou desativa uma promoção.

        <Note>A rota inverte o estado atual e não recebe corpo. Confira o
        `enabled` da resposta para saber como a promoção ficou.</Note>
      operationId: togglePromo
      parameters:
        - name: promo-id
          in: path
          required: true
          description: ID da promoção
          schema:
            type: string
      responses:
        '200':
          description: Promoção com o novo estado.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Promo'
        '404':
          description: Promoção não encontrada.
components:
  schemas:
    Promo:
      type: object
      properties:
        id:
          type: number
          description: ID da promoção
        store_id:
          type: number
          description: ID da loja
        name:
          type: string
          description: Nome da promoção
        type:
          type: string
          enum:
            - PROGRESSIVE
            - BUY_X_PAY_Y
          description: Tipo da promoção
        condition_mode:
          type: string
          enum:
            - QUANTITY
            - VALUE
          description: Se o mínimo das faixas é em unidades ou em valor (R$)
        enabled:
          type: boolean
          description: Indica se a promoção está ativada
        starts_at:
          type: string
          description: Início da promoção
        ends_at:
          type: string
          nullable: true
          description: Fim da promoção. `null` não expira
        created_at:
          type: string
          description: Data de criação
        updated_at:
          type: string
          description: Data da última atualização
        targets:
          type: array
          description: Produtos que contam para atingir o mínimo
          items:
            $ref: '#/components/schemas/Target'
        tiers:
          type: array
          description: Faixas, do menor para o maior mínimo
          items:
            $ref: '#/components/schemas/PromoTier'
    Target:
      type: object
      description: Onde a regra vale. `STORE` é a loja inteira e não leva `id`.
      required:
        - type
      properties:
        type:
          type: string
          enum:
            - STORE
            - CATEGORY
            - PRODUCT
          description: Tipo do alvo. Variação de produto é `PRODUCT` com o ID da variação
        id:
          type: number
          description: ID da categoria ou do produto. Obrigatório fora do `STORE`
    PromoTier:
      type: object
      properties:
        id:
          type: number
          description: ID da faixa
        store_id:
          type: number
          description: ID da loja
        promo_id:
          type: number
          description: ID da promoção
        min_amount:
          type: number
          description: >-
            Mínimo para liberar a faixa, em unidades ou em R$ conforme o
            `condition_mode`
        reward_type:
          type: string
          enum:
            - PERCENTAGE
            - VALUE
            - FREE
          description: Tipo de recompensa
        reward_value:
          type: number
          nullable: true
          description: >-
            Percentual ou valor em R$ do desconto. `null` quando a recompensa é
            `FREE`
        reward_quantity:
          type: number
          nullable: true
          description: >-
            Quantas unidades de cada produto da recompensa saem com desconto. Só
            no `BUY_X_PAY_Y`
        created_at:
          type: string
          description: Data de criação
        updated_at:
          type: string
          description: Data da última atualização
        targets:
          type: array
          description: Produtos que o cliente leva com desconto. Só no `BUY_X_PAY_Y`
          items:
            $ref: '#/components/schemas/Target'
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Token de API gerado no painel da CentralCart.

````

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