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

# Burn Coupon

> Mark a coupon as used/consumed to prevent further usage.

This API processes the use of one or more coupons associated with a customer in Gameball. By providing customer details and a list of coupons, this endpoint marks the coupons as redeemed, completing the transaction. Optionally, a `lockReference` can be included to burn previously locked coupons.

<Info>
  **Channel Merging Available**\
  If your system uses different customer IDs across multiple channels (e.g., online and offline), Gameball's channel merging feature helps unify customer profiles. By including the customer's mobile number or email (based on your merging configuration) with each request, Gameball will combine activities into a single profile.

  For more information, head to the [Omni-Channel Handling Guide](/tutorials/experiences/more/omni-channel).
</Info>

<Info>
  **Security**: Requires **apikey** and **secretkey** headers.
</Info>


## OpenAPI

````yaml POST /api/v4.0/integrations/coupons/burn
openapi: 3.1.0
info:
  title: Gameball API
  description: >-
    Gameball REST API v4.0 - Complete API reference for integrating loyalty,
    gamification, and customer engagement features
  version: 4.0.0
servers:
  - url: https://api.gameball.co
security:
  - bearerAuth: []
paths:
  /api/v4.0/integrations/coupons/burn:
    post:
      description: >-
        This API processes the use of one or more coupons associated with a
        customer in Gameball. By providing customer details and a list of
        coupons, this endpoint marks the coupons as redeemed, completing the
        transaction. Optionally, a lockReference can be included to burn
        previously locked coupons.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - customerId
              properties:
                customerId:
                  type: string
                email:
                  type: string
                mobile:
                  type: string
                transactionId:
                  type: string
                  description: >-
                    A unique identifier for the transaction in your system
                    (e.g., order number or invoice number). This ID can be used
                    to reverse, cancel, or refund any coupon burn transactions
                    in Gameball.
                  example: txn98765
                transactionTime:
                  type: string
                  format: date-time
                  description: >-
                    The time of the transaction in your system (e.g., order
                    datetime, invoice datetime).
                  example: '2024-10-11T10:57:43.382Z'
                coupons:
                  type: array
                  items:
                    type: string
                  description: >-
                    List of coupons that need to be burned. Only one of coupons
                    or lockReference must be provided.
                lockReference:
                  type: string
                  description: >-
                    Reference used to burn the locked coupons from the
                    validation step. Only one of coupons or lockReference must
                    be provided.
      responses:
        '200':
          description: Coupon burned successfully
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  burnedAt:
                    type: string
                    format: date-time
      security:
        - apiKey: []
          secretKey: []
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
    apiKey:
      type: apiKey
      in: header
      name: apikey
    secretKey:
      type: apiKey
      in: header
      name: secretkey

````