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

# Create XP Goal

> Create an experience points (XP) goal for the user. XP goals have an `ID`, `type`, `title`, `end date`, `status` (failed, completed, or in progress), `fail date` (if failed), and `data storing` (start date, starting XP, desired XP) properties.



## OpenAPI

````yaml post /create-xp-goal
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:
  /create-xp-goal:
    servers:
      - url: http://dolphinflashcards.com/api
        description: create-xp
    post:
      tags:
        - Goal
      summary: Create XP Goal
      description: >-
        Create an experience points (XP) goal for the user. XP goals have an
        `ID`, `type`, `title`, `end date`, `status` (failed, completed, or in
        progress), `fail date` (if failed), and `data storing` (start date,
        starting XP, desired XP) properties.
      operationId: post-create-xp-goal
      requestBody:
        content:
          application/json:
            schema:
              type: object
              x-examples:
                Example 1:
                  jwtToken: '123'
                  goalXP: '100'
                  endDate: 30/07/2024
              required:
                - jwtToken
                - goalXP
                - endDate
              properties:
                jwtToken:
                  type: string
                  example: >-
                    eyJ0eXAiOiJKV1QiLCJhbGciOiJFUzI1NiIsImtpZCI6ImEzMmZkZDRiMTQ2Njc3NzE5YWIyMzcyODYxYmRlZDg5In0.eyJpc3MiOiJodHRwOi8vZG9scGhpbmZsYXNoY2FyZHMuY29tIiwiYXVkIjoiYXBpIiwic3ViIjoidU5RR2lIencxdk9EaExybTVDRWtaQ1ZoTU93MSIsImFjY2Vzc190b2tlbiI6IjRiZTA2NDNmLTFkOTgtNTczYi05N2NkLWNhOThhNjUzNDdkZCIsImFjY2Vzc190b2tlbl9yYXciOiJ0ZXN0IiwiaWF0IjoxNzI2Nzc0MTYzfQ.F-fxFitPQF-gGHyhGPGxE_zj_b8XJybqe4J_iYG66BC4Dqm4LTb8RpcDLyYUhRCcpphihpWGbdp
                  description: Identifies the user who is creating an XP goal.
                goalXP:
                  type: string
                  example: '100'
                  description: >-
                    The desired amount of experience points (XP) the user aims
                    to achieve with this goal.
                endDate:
                  type: string
                  example: 30/07/2024
                  description: >-
                    The date by which the user intends to achieve the XP goal,
                    in dd/mm/yyyy format.
            examples:
              Example 1:
                value:
                  jwtToken: '123'
                  goalXP: '100'
                  endDate: 30/07/2024
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    success: Goal created successfully
                properties:
                  success:
                    type: string
                    example: Goal created successfully
                    description: >-
                      Provides additional information confirming that the
                      request was successful.
        '400':
          description: >-
            A bad request error. Returned when the request body parameters are
            not in the expected JSON format.
          content:
            application/json:
              schema:
                type: object
                x-examples:
                  Example 1:
                    error: >-
                      Your supplied json keys do not match the expected format.
                      The request should be in the format:  {'jwtToken':
                      'string', 'goalXP': 'number', 'endDate': 'sample-date'}
                properties:
                  error:
                    type: string
                    example: >-
                      Your supplied json keys do not match the expected format.
                      The request should be in the format: {'jwtToken': ' ',
                      'goalXP': ' ', 'endDate': ' '}
                    description: >-
                      Describes the nature of the error and provides a possible
                      solution. 
              examples:
                Example 1:
                  value:
                    error: Your supplied json keys do not match the expected format.

````