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

# Update Quest Progress

> Update the progress for the quest and for a user in a quest.



## OpenAPI

````yaml patch /update-quest-progress
openapi: 3.1.0
info:
  title: DolphinFlashcardApp API
  version: '1.0'
  summary: Manage flashcards
  description: >-
    Set up user accounts, create or manage flashcards, set learning goals, and
    track performances with user's heatmap and streak data. Data is available in
    JSON format only. <br></br>**Note**: All parameters are case-sensitive.
    Request body parameters are required, but the query parameters are
    optional. 
  contact:
    name: Dolphin Flashcards
    url: https://dolphinflashcards.com/contact
    email: dolphinflashcards@outlook.com
  license:
    name: MIT
    url: https://github.com/jacob-macleod/Dolphin-Flashcard-App/blob/main/LICENSE
servers:
  - url: http://dolphinflashcards.com/api
    description: baseurl
security: []
tags:
  - name: Account
    description: Groups the endpoints required to create an account.
  - name: Card management
    description: Groups the endpoints required to create and manage flashcards.
  - name: Goal
    description: Groups the endpoints required to create and manage goals.
  - name: Statistics
    description: Groups the endpoints required to track heatmap and streak.
paths:
  /update-quest-progress:
    patch:
      tags:
        - Quests
      summary: Update Quest Progress
      description: Update the progress for the quest and for a user in a quest.
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              required:
                - jwtToken
                - questId
                - progress
              properties:
                jwtToken:
                  type: string
                  description: JWT token for authentication.
                questId:
                  type: string
                  description: The ID of the quest.
                progress:
                  type: integer
                  description: The amount of progress to add.
      responses:
        '200':
          description: Progress updated.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                    example: Progress updated
                  quest:
                    type: object
                    properties:
                      quest_id:
                        type: string
                      title:
                        type: string
                      deadline:
                        type: string
                        format: date-time
                      quest_type:
                        type: string
                      quest_sub_type:
                        type: string
                      quantity:
                        type: integer
                      progress:
                        type: integer
                      participants:
                        type: array
                        items:
                          type: object
                          properties:
                            user_id:
                              type: string
                            status:
                              type: string
                            progress:
                              type: integer
                            isOwner:
                              type: boolean
                              description: Optional - Just to all quest creators
                            invited_by:
                              type: string
                              description: Optional - Just to invited users
        '400':
          description: Bad request.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
        '403':
          description: Forbidden.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                    example: User not in this quest to update progress
        '500':
          description: Internal server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string

````