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

# Get apiv1userquests



## OpenAPI

````yaml /api-reference/openapi.json get /api/v1/user/quests
openapi: 3.1.0
info:
  title: ekiden-gateway
  description: >-
    API Gateway and WebSocket proxy based on Axum and Utoipa, handling auth,
    rate limiting, and connection buffering.
  license:
    name: ''
  version: 0.1.1
servers:
  - url: https://api.ekiden.fi/
    description: Production
  - url: https://api.cnt.ekiden.fi/
    description: Testnet
  - url: https://api.canton.ekiden.fi/
    description: Staging
security: []
paths:
  /api/v1/user/quests:
    get:
      tags:
        - User
      operationId: get_user_quests
      responses:
        '200':
          description: Active quests with claim state
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UserQuestsResponse'
      security:
        - bearer_auth: []
components:
  schemas:
    UserQuestsResponse:
      type: object
      description: '`GET /user/quests` response.'
      required:
        - quests
      properties:
        quests:
          type: array
          items:
            $ref: '#/components/schemas/UserQuestSummary'
    UserQuestSummary:
      type: object
      description: |-
        One active quest with the viewer's claim state (`GET /user/quests`,
        spec §10).
      required:
        - quest_id
        - kind
        - trigger
        - reward_xp
        - params
        - claimed
      properties:
        claimed:
          type: boolean
          description: |-
            One-shot quests: ever claimed. Daily quests: claimed for the current
            UTC day.
        kind:
          type: string
          description: '`one_shot` or `daily`.'
        last_claimed_at:
          type:
            - string
            - 'null'
          description: RFC 3339 UTC timestamp of the most recent claim, if any.
        params:
          description: 'Quest parameters (e.g. `{"min_volume_usdc": 1000}`).'
        quest_id:
          type: string
        reward_xp:
          type: string
          description: XP paid per claim; string-encoded like every XP amount on the wire.
        trigger:
          type: string
          description: '`first_referral_active`, `manual_claim` or `volume_threshold`.'
  securitySchemes:
    bearer_auth:
      type: http
      scheme: bearer

````