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

# Get Quest Attempts

> Fetches quest attempt records.



## OpenAPI

````yaml /client.json get /client/quests/attempts
openapi: 3.0.0
info:
  title: Doshi Client API
  version: 1.0.0
  description: API specification for Doshi client-facing services.
servers:
  - url: https://api.doshi.app
    description: Production server
  - url: https://sandbox.api.doshi.app
    description: Sandbox server
security:
  - BearerAuth: []
tags:
  - name: Academy
    description: Endpoints related to educational content like courses, lessons, and paths.
  - name: Auth
    description: Endpoints for user authentication and authorization.
  - name: Marketplace
    description: Endpoints for rewards and redemptions.
  - name: User
    description: Endpoints for user data.
  - name: Quests
    description: Endpoints for quest management.
paths:
  /client/quests/attempts:
    get:
      tags:
        - Quests
      summary: Get Quest Attempts
      description: Fetches quest attempt records.
      parameters:
        - $ref: '#/components/parameters/AccessTypeHeader'
        - name: userId
          in: query
          description: Filter by user ID
          schema:
            type: string
        - name: questId
          in: query
          description: Filter by quest ID
          schema:
            type: string
        - name: reviewStatus
          in: query
          description: >-
            Filter by review status (APPROVED, REJECTED, FAILED, IN_REVIEW,
            USER_ACTION_PENDING)
          schema:
            type: string
            enum:
              - APPROVED
              - REJECTED
              - FAILED
              - IN_REVIEW
              - USER_ACTION_PENDING
        - name: page
          in: query
          description: Page number for pagination
          schema:
            type: integer
            default: 1
        - name: pageSize
          in: query
          description: Number of results per page (max 10000)
          schema:
            type: integer
            default: 10000
      responses:
        '200':
          description: A list of quest attempts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/GetQuestAttemptsResponse'
        default:
          description: Error response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  parameters:
    AccessTypeHeader:
      name: Access-Type
      in: header
      required: true
      schema:
        type: string
        enum:
          - client
      description: Must be set to 'client' for all API requests
  schemas:
    GetQuestAttemptsResponse:
      type: object
      properties:
        attempts:
          type: array
          items:
            $ref: '#/components/schemas/QuestAttempt'
        total:
          type: integer
      required:
        - attempts
        - total
    Error:
      type: object
      properties:
        code:
          type: string
        message:
          type: string
        details:
          type: object
          additionalProperties: true
      required:
        - code
        - message
    QuestAttempt:
      type: object
      properties:
        id:
          type: string
        questId:
          type: string
        userId:
          type: string
        partnerUserId:
          type: string
          nullable: true
        createdAt:
          type: string
          format: date-time
        updatedAt:
          type: string
          format: date-time
        completedAt:
          type: string
          format: date-time
          nullable: true
        actionType:
          type: string
        questSnapshot:
          type: object
          additionalProperties: true
        reviewStatus:
          type: string
        rewardClaimStatus:
          type: string
          nullable: true
        statusMessage:
          type: string
        responseString:
          type: string
          nullable: true
        metadata:
          type: object
          additionalProperties: true
          nullable: true
      required:
        - id
        - questId
        - userId
        - createdAt
        - updatedAt
        - actionType
        - questSnapshot
        - reviewStatus
        - statusMessage
  securitySchemes:
    BearerAuth:
      type: http
      scheme: bearer
      description: >-
        Authentication token (API Key) provided by Doshi. Your server's IP
        address must be whitelisted to use this API. Contact hello@doshi.app to
        whitelist your IPs.

````