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

# Оновити промокод

> Замінює всі поля промокоду, часткове оновлення не підтримується



## OpenAPI

````yaml PUT /api/v1/bot/{bot}/coupons/{coupon}
openapi: 3.1.0
info:
  title: Zenedu API v1
  description: >-
    API for managing Telegram bots, subscribers, products, funnels, offers, and
    orders on the Zenedu platform.
  version: 1.0.0
servers:
  - url: https://app.zenedu.io
security:
  - bearerAuth: []
tags:
  - name: User
    description: Current user profile
  - name: Bots
    description: Bot management
  - name: Subscribers
    description: Subscriber management
  - name: Orders
    description: Order management
  - name: Products
    description: Product management
  - name: Funnels
    description: Funnel management
  - name: Offers
    description: Offer management
  - name: Links
    description: Link generation
  - name: Files
    description: File downloads
  - name: Zapier
    description: Zapier webhook management
  - name: Webhooks
    description: Account webhook subscriptions
  - name: Payment systems
    description: Account payment methods
  - name: Bot settings
    description: 'Bot configuration: email, branding, integrations, legal documents'
  - name: Commands
    description: Bot menu commands
  - name: Custom fields
    description: Subscriber custom fields
  - name: Folders
    description: Folders for products, funnels, channels and groups
  - name: Slugs
    description: Public link slugs
  - name: Funnel links
    description: Subscription links of a funnel
  - name: Coupons
    description: Coupon management
  - name: Subscriptions
    description: Recurring subscription management
  - name: Tasks
    description: Student task review
  - name: Broadcasts
    description: Broadcast messages
  - name: Automations
    description: Event-based automations
  - name: Affiliate
    description: Affiliate program management
  - name: Shop
    description: Bot shop draft and publication
  - name: Channels
    description: Telegram channels connected to the bot
  - name: Groups
    description: Telegram groups connected to the bot
  - name: Mini-app
    description: Telegram mini app configuration
  - name: Web
    description: Web app configuration
  - name: Telegram files
    description: Telegram file attachments for steps and broadcasts
paths:
  /api/v1/bot/{bot}/coupons/{coupon}:
    put:
      tags:
        - Coupons
      summary: Update coupon
      description: Replaces all coupon fields; partial updates are not supported.
      operationId: updateCoupon
      parameters:
        - name: bot
          in: path
          required: true
          description: Bot ID
          schema:
            type: integer
        - name: coupon
          in: path
          required: true
          description: Coupon ID
          schema:
            type: integer
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - code
                - discount_type
                - discount_amount
                - duration_type
                - offer_ids
              properties:
                code:
                  type: string
                  maxLength: 250
                  description: Coupon code
                active:
                  type: boolean
                  description: Whether the coupon is active
                discount_type:
                  type: string
                  enum:
                    - percent
                    - amount
                discount_amount:
                  type: number
                  minimum: 0.01
                  description: >-
                    Percent for percent type, amount in offer currency for
                    amount type
                duration_type:
                  type: string
                  enum:
                    - once
                    - forever
                    - repeating
                  description: How long the discount applies to a subscription
                duration_amount:
                  type: integer
                  nullable: true
                  minimum: 1
                  description: >-
                    Number of billing periods; required when duration_type is
                    repeating
                expired_at:
                  type: string
                  format: date-time
                  nullable: true
                  description: Expiration date (UTC)
                usage_limit:
                  type: integer
                  nullable: true
                  minimum: 1
                  description: Maximum number of uses
                offer_ids:
                  type: array
                  minItems: 1
                  items:
                    type: integer
                  description: Offers the coupon applies to
      responses:
        '200':
          description: Coupon updated
          content:
            application/json:
              schema:
                type: object
                properties:
                  data:
                    $ref: '#/components/schemas/Coupon'
        '401':
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '403':
          description: Forbidden — lacks access to this bot
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '404':
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        '422':
          description: Validation error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    Coupon:
      type: object
      properties:
        id:
          type: integer
          description: Coupon ID
        code:
          type: string
          description: Coupon code
        is_active:
          type: boolean
          description: Whether the coupon is active
        discount_type:
          type: string
          enum:
            - percent
            - amount
          description: Discount type
        discount_amount:
          type: number
          description: Percent for percent type, amount in offer currency for amount type
        duration_type:
          type: string
          enum:
            - once
            - forever
            - repeating
          description: How long the discount applies to a subscription
        duration_amount:
          type: integer
          description: Number of billing periods for repeating duration
          nullable: true
        expired_at:
          type: string
          format: date-time
          nullable: true
          description: Expiration date
        usage_limit:
          type: integer
          description: Maximum number of uses
          nullable: true
        usages_count:
          type: integer
          description: Number of times the coupon was used
        offers:
          type: array
          description: Offers the coupon applies to
          items:
            type: object
            properties:
              id:
                type: integer
                description: Offer ID
              name:
                type: string
                description: Offer name
              link:
                type: string
                description: Payment link with the coupon applied
              landing_link:
                type: string
                description: Landing page link with the coupon applied
        created_at:
          type: string
          format: date-time
          description: Creation timestamp
    Error:
      type: object
      properties:
        message:
          type: string
          description: Error message
        errors:
          type: object
          additionalProperties:
            type: array
            items:
              type: string
          description: Validation errors keyed by field name
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: API token from the Zenedu dashboard

````

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