> ## 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.

# Consumir Promessa de Recompensa

> Consome a promessa pública de recompensa após autenticação

# Consumir Promessa de Recompensa

Consome token de promessa pública e finaliza o claim da recompensa.
Use este endpoint após autenticação do usuário final.


## OpenAPI

````yaml POST /api/v1/public/quests/claim
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/quests/claim:
    post:
      tags:
        - Public Quests
        - public-quests
      summary: Consumir promessa pública de recompensa após autenticação
      operationId: claim_public_reward_after_auth_api_v1_public_quests_claim_post
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/PublicQuestRewardClaimRequest'
        required: true
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/app__models__quests__PublicQuestRewardClaimResponse
          description: Successful Response
        '404':
          description: Pesquisa pública não encontrada
        '422':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/HTTPValidationError'
          description: Validation Error
        '429':
          description: Rate limit excedido
      security:
        - HTTPBearer: []
components:
  schemas:
    PublicQuestRewardClaimRequest:
      description: Payload para consumir promessa de recompensa após autenticação.
      properties:
        reward_claim_token:
          description: Token temporário de resgate da promessa
          maxLength: 2048
          minLength: 20
          pattern: ^[A-Za-z0-9._-]+$
          title: Reward Claim Token
          type: string
      required:
        - reward_claim_token
      title: PublicQuestRewardClaimRequest
      type: object
    app__models__quests__PublicQuestRewardClaimResponse:
      description: Resultado do claim pós-auth com redirecionamento para cupom.
      properties:
        already_issued:
          default: false
          title: Already Issued
          type: boolean
        coupon_detail_path:
          anyOf:
            - type: string
            - type: 'null'
          description: Path consolidado para detalhe do cupom
          title: Coupon Detail Path
        empresa_id:
          format: uuid
          title: Empresa Id
          type: string
        quest_id:
          format: uuid
          title: Quest Id
          type: string
        redirect_path:
          description: Path de redirecionamento pós-auth para detalhe do cupom
          title: Redirect Path
          type: string
        response_id:
          format: uuid
          title: Response Id
          type: string
        reward_message:
          anyOf:
            - type: string
            - type: 'null'
          title: Reward Message
        reward_uid:
          format: uuid
          title: Reward Uid
          type: string
        success:
          default: true
          title: Success
          type: boolean
      required:
        - response_id
        - quest_id
        - empresa_id
        - reward_uid
        - redirect_path
      title: PublicQuestRewardClaimResponse
      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

````