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

# Update ecommerce coupon

> Actualiza un cupón ecommerce de la marca autorizada. Solo puede modificar cupones del website autorizado.

Reemplaza la configuración editable de un cupón ecommerce de la marca autorizada. Úsalo cuando tengas el estado completo que quieres dejar para el cupón.

En Justo Admin MCP esta operación requiere confirmación explícita del usuario porque modifica reglas de descuento.


## OpenAPI

````yaml put /ecommerce/coupons/{couponId}
openapi: 3.1.0
info:
  title: Justo API
  version: 3.0.0
servers:
  - url: https://api.service.getjusto.com/v3
    description: Production server
security: []
paths:
  /ecommerce/coupons/{couponId}:
    put:
      summary: Update ecommerce coupon
      description: >-
        Actualiza un cupón ecommerce de la marca autorizada. Solo puede
        modificar cupones del website autorizado.
      parameters:
        - in: path
          name: couponId
          required: true
          schema:
            type: string
          description: ID Justo o externalId del cupón.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - coupon
              properties:
                coupon:
                  $ref: '#/components/schemas/apiCouponUpdateInput'
      responses:
        '200':
          description: The OpenAPI spec
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: true
                  data:
                    $ref: '#/components/schemas/apiCoupon'
        '400':
          description: Errors
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: 'false'
                  error:
                    type: object
                    properties:
                      error:
                        type: string
                        example: error
                      message:
                        type: string
                        example: The request has an error
components:
  schemas:
    apiCouponUpdateInput:
      type: object
      description: >-
        Campos para actualizar un cupón ecommerce. Todos los campos son
        opcionales.
      required: []
      properties:
        code:
          type: string
          description: Código inicial opcional para crear junto al cupón.
        name:
          type: string
          description: Nombre visible del cupón.
        description:
          type: string
          description: Descripción interna o visible del beneficio.
        type:
          type: string
          description: Tipo de descuento.
          enum:
            - percentage
            - percentageOnDiscount
            - fixed
            - fixedOnDelivery
            - fixedItemPrice
        active:
          type: boolean
          description: Indica si el cupón queda activo.
        percentageOff:
          type: number
          description: Porcentaje de descuento para cupones porcentuales.
        maxPercentageOffDiscount:
          type: number
          description: Tope de descuento para cupones porcentuales.
        discountAmount:
          type: number
          description: Monto fijo de descuento.
        fixedAmount:
          type: number
          description: Precio fijo aplicado a productos seleccionados.
        fromDate:
          type: string
          example: '2020-01-01T00:00:00.000Z'
          format: date-time
          description: Fecha desde la que el cupón puede usarse.
        endDate:
          type: string
          example: '2020-01-01T00:00:00.000Z'
          format: date-time
          description: Fecha hasta la que el cupón puede usarse.
        maxRedemptions:
          type: number
          description: Cantidad máxima de canjes totales.
        maxRedemptionsPerUser:
          type: number
          description: Cantidad máxima de canjes por usuario.
        maxRedemptionsPerUserPerDay:
          type: boolean
          description: Si es true, permite máximo un canje diario.
        maxRedemptionsPerCode:
          type: number
          description: Cantidad máxima de canjes por código.
        onlyForNewUsers:
          type: boolean
          description: Si es true, aplica solo a usuarios nuevos.
        onlyForProductsWithoutDiscount:
          type: boolean
          description: Si es true, no aplica sobre productos con descuento.
        requirePhoneVerification:
          type: boolean
          description: Si es true, exige teléfono verificado.
        requiresCategoriesIds:
          type: array
          description: Categorías requeridas para aplicar el cupón.
          items:
            type: string
        requiresProductsIds:
          type: array
          description: Productos requeridos para aplicar el cupón.
          items:
            type: string
        requiresStoresIds:
          type: array
          description: Locales donde puede usarse el cupón.
          items:
            type: string
        requiresMenusIds:
          type: array
          description: Menús donde puede usarse el cupón.
          items:
            type: string
        requiresPaymentTypes:
          type: array
          description: Medios de pago requeridos.
          items:
            type: string
        requireChannels:
          type: array
          description: Canales requeridos para usar el cupón.
          items:
            type: string
        requiredBINs:
          type: array
          description: BINs de tarjeta admitidos.
          items:
            type: string
        minimumOrderPrice:
          type: number
          description: Monto mínimo del pedido.
        maximumOrderPrice:
          type: number
          description: Monto máximo del pedido.
        dontApplyToProductsIds:
          type: array
          description: Productos excluidos del descuento.
          items:
            type: string
        dontApplyDiscountToOptions:
          type: boolean
          description: Si es true, no aplica descuento sobre opciones/modificadores.
        isHidden:
          type: boolean
          description: Si es true, oculta el cupón de listados públicos.
        allowedEmails:
          type: array
          description: Emails autorizados para usar el cupón.
          items:
            type: string
        externalId:
          type: string
          description: Identificador externo del cupón.
        isBirthdayCoupon:
          type: boolean
          description: Si es true, es un cupón de cumpleaños.
        onlyRedeemOnBirthday:
          type: boolean
          description: Si es true, solo se canjea el día del cumpleaños.
        autoRecommend:
          type: boolean
          description: Si es true, Justo puede recomendarlo automáticamente.
        applyDeliveryDiscount:
          type: boolean
          description: Si es true, aplica descuento al despacho.
        deliveryDiscountValue:
          type: number
          description: Valor del descuento de despacho.
        deliveryDiscountType:
          type: string
          description: Tipo de descuento de despacho.
        deliveryDiscountPercentage:
          type: number
          description: Porcentaje de descuento de despacho.
        maxProductsPerOrder:
          type: number
          description: Máximo de productos a los que se aplica el cupón.
    apiCoupon:
      type: object
      description: >-
        Cupón ecommerce de la marca autorizada. La data siempre queda limitada
        al website autorizado.
      properties:
        _id:
          type: string
          description: ID Justo del cupón.
        websiteId:
          type: string
          description: ID de la marca dueña del cupón.
        code:
          type: string
          description: Primer código activo asociado al cupón, si existe.
        name:
          type: string
          description: Nombre visible del cupón.
        description:
          type: string
          description: Descripción interna o visible del beneficio.
        type:
          type: string
          description: Tipo de descuento.
          enum:
            - percentage
            - percentageOnDiscount
            - fixed
            - fixedOnDelivery
            - fixedItemPrice
        active:
          type: boolean
          description: Indica si el cupón está activo.
        percentageOff:
          type: number
          description: Porcentaje de descuento para cupones porcentuales.
        maxPercentageOffDiscount:
          type: number
          description: Tope de descuento para cupones porcentuales.
        discountAmount:
          type: number
          description: Monto fijo de descuento.
        fixedAmount:
          type: number
          description: Precio fijo aplicado a productos seleccionados.
        fromDate:
          type: string
          example: '2020-01-01T00:00:00.000Z'
          format: date-time
          description: Fecha desde la que el cupón puede usarse.
        endDate:
          type: string
          example: '2020-01-01T00:00:00.000Z'
          format: date-time
          description: Fecha hasta la que el cupón puede usarse.
        maxRedemptions:
          type: number
          description: Cantidad máxima de canjes totales.
        maxRedemptionsPerUser:
          type: number
          description: Cantidad máxima de canjes por usuario.
        maxRedemptionsPerUserPerDay:
          type: boolean
          description: Si es true, permite máximo un canje diario.
        maxRedemptionsPerCode:
          type: number
          description: Cantidad máxima de canjes por código.
        totalRedemptions:
          type: number
          description: Cantidad total de canjes realizados.
        onlyForNewUsers:
          type: boolean
          description: Si es true, aplica solo a usuarios nuevos.
        onlyForProductsWithoutDiscount:
          type: boolean
          description: Si es true, no aplica sobre productos con descuento.
        requirePhoneVerification:
          type: boolean
          description: Si es true, exige teléfono verificado.
        requiresCategoriesIds:
          type: array
          description: Categorías requeridas para aplicar el cupón.
          items:
            type: string
        requiresProductsIds:
          type: array
          description: Productos requeridos para aplicar el cupón.
          items:
            type: string
        requiresStoresIds:
          type: array
          description: Locales donde puede usarse el cupón.
          items:
            type: string
        requiresMenusIds:
          type: array
          description: Menús donde puede usarse el cupón.
          items:
            type: string
        requiresPaymentTypes:
          type: array
          description: Medios de pago requeridos.
          items:
            type: string
        requireChannels:
          type: array
          description: Canales requeridos para usar el cupón.
          items:
            type: string
        requiredBINs:
          type: array
          description: BINs de tarjeta admitidos.
          items:
            type: string
        minimumOrderPrice:
          type: number
          description: Monto mínimo del pedido.
        maximumOrderPrice:
          type: number
          description: Monto máximo del pedido.
        dontApplyToProductsIds:
          type: array
          description: Productos excluidos del descuento.
          items:
            type: string
        dontApplyDiscountToOptions:
          type: boolean
          description: Si es true, no aplica descuento sobre opciones/modificadores.
        isHidden:
          type: boolean
          description: Si es true, oculta el cupón de listados públicos.
        allowedEmails:
          type: array
          description: Emails autorizados para usar el cupón.
          items:
            type: string
        externalId:
          type: string
          description: Identificador externo del cupón.
        isBirthdayCoupon:
          type: boolean
          description: Si es true, es un cupón de cumpleaños.
        onlyRedeemOnBirthday:
          type: boolean
          description: Si es true, solo se canjea el día del cumpleaños.
        autoRecommend:
          type: boolean
          description: Si es true, Justo puede recomendarlo automáticamente.
        applyDeliveryDiscount:
          type: boolean
          description: Si es true, aplica descuento al despacho.
        deliveryDiscountValue:
          type: number
          description: Valor del descuento de despacho.
        deliveryDiscountType:
          type: string
          description: Tipo de descuento de despacho.
        deliveryDiscountPercentage:
          type: number
          description: Porcentaje de descuento de despacho.
        maxProductsPerOrder:
          type: number
          description: Máximo de productos a los que se aplica el cupón.
        createdAt:
          type: string
          example: '2020-01-01T00:00:00.000Z'
          format: date-time
          description: Fecha de creación.
        deletedAt:
          type: string
          example: '2020-01-01T00:00:00.000Z'
          format: date-time
          description: Fecha de eliminación lógica.

````