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

# Usar Cupom

> Marcar um cupom como usado/resgatado

# Usar Cupom

Marca um cupom ainda não utilizado como `usado`.

## Comportamento atual

* a rota não recebe body
* o response model atual retorna o cupom atualizado com `status: "usado"`
* campos opcionais não recarregados neste fluxo podem vir ausentes ou `null`
* se o cupom já estiver marcado como usado, o backend devolve o mesmo estado `usado`
* `404` fica reservado para cupom inexistente ou fora do escopo da empresa

## Exemplo de resposta

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "uid": "A1B2C3D4",
    "status": "usado",
    "valor": 200,
    "expires_at": "2026-04-20T08:15:00Z",
    "created_at": "2026-03-20T08:15:00Z"
  }
  ```

  ```json 404 Not Found theme={null}
  {
    "detail": "Cupom não encontrado ou já utilizado"
  }
  ```
</ResponseExample>

## Status comuns

* `200` cupom marcado como usado ou replay de um cupom já usado
* `401` API Key inválida ou revogada
* `403` plano sem `api_access`
* `404` cupom inexistente, fora da empresa ou sem estado aproveitável
* `422` header ou path inválidos
* `429` limite global da API pública excedido


## OpenAPI

````yaml PATCH /api/v1/public/coupons/{uid}/use
openapi: 3.1.0
info:
  contact:
    email: support@indiqai.com
    name: IndiqAI Support
    url: https://indiqai.com/
  description: Especificação OpenAPI da API Pública IndiqAI.
  license:
    name: Proprietary
    url: https://indiqai.com/license
  title: IndiqAI API Pública
  version: 1.5.0
servers:
  - description: Produção
    url: https://api.indiqai.com
security: []
paths:
  /api/v1/public/coupons/{uid}/use:
    patch:
      tags:
        - API Pública
      summary: Usar cupom
      description: Marca cupom como usado.
      operationId: use_coupon_api_v1_public_coupons__uid__use_patch
      parameters:
        - in: path
          name: uid
          required: true
          schema:
            title: Uid
            type: string
        - description: Chave de API
          in: header
          name: X-API-Key
          required: true
          schema:
            description: Chave de API
            title: X-Api-Key
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PublicCouponResponse'
          description: Successful Response
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
components:
  schemas:
    PublicCouponResponse:
      description: Dados de um cupom.
      properties:
        created_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Created At
        expires_at:
          anyOf:
            - format: date-time
              type: string
            - type: 'null'
          title: Expires At
        product_name:
          anyOf:
            - type: string
            - type: 'null'
          title: Product Name
        status:
          title: Status
          type: string
        uid:
          title: Uid
          type: string
        valor:
          anyOf:
            - type: number
            - type: 'null'
          title: Valor
      required:
        - uid
        - status
      title: PublicCouponResponse
      type: object
    HTTPValidationError:
      properties:
        detail:
          items:
            $ref: '#/components/schemas/ValidationError'
          title: Detail
          type: array
      title: HTTPValidationError
      type: object
    ValidationError:
      properties:
        ctx:
          title: Context
          type: object
        input:
          title: Input
        loc:
          items:
            anyOf:
              - type: string
              - type: integer
          title: Location
          type: array
        msg:
          title: Message
          type: string
        type:
          title: Error Type
          type: string
      required:
        - loc
        - msg
        - type
      title: ValidationError
      type: object

````