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

# Get data for a given course item 

> Get all the data for a given course item. Note that this is a sensitive action and will return data for draft/unpublished course items as well.

Authentication with the "FERMION-API-KEY" header is required to use this endpoint.

Rate limit: Maximum 60 requests in a window of 1m.



## OpenAPI

````yaml https://backend.codedamn.com/webhook/fermion-backend-openapi.yaml post /public/get-course-item-data
openapi: 3.0.0
info:
  version: 1.0.0
  title: Fermion Backend API
  description: Documentation for interacting with the Fermion API
  contact:
    name: Fermion Support
    email: support@codedamn.com
servers:
  - url: https://backend.codedamn.com/api
    description: Fermion primary backend server
security: []
externalDocs:
  description: Fermion Docs
  url: https://docs.fermion.app
paths:
  /public/get-course-item-data:
    post:
      tags:
        - Course
      summary: 'Get data for a given course item '
      description: >-
        Get all the data for a given course item. Note that this is a sensitive
        action and will return data for draft/unpublished course items as well.


        Authentication with the "FERMION-API-KEY" header is required to use this
        endpoint.


        Rate limit: Maximum 60 requests in a window of 1m.
      requestBody:
        description: API Request Body
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                data:
                  type: array
                  items:
                    type: object
                    properties:
                      data:
                        type: object
                        properties:
                          courseItemId:
                            type: string
                        required:
                          - courseItemId
                    required:
                      - data
              required:
                - data
      responses:
        '200':
          description: API Response Body
          content:
            application/json:
              schema:
                type: array
                items:
                  type: object
                  properties:
                    output:
                      anyOf:
                        - type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - ok
                            data:
                              type: object
                              properties:
                                createdAt:
                                  type: string
                                  format: date-time
                                updatedAt:
                                  type: string
                                  format: date-time
                                courseItemData:
                                  allOf:
                                    - type: object
                                      properties:
                                        fermionCourseItemId:
                                          type: string
                                        fermionDigitalProductId:
                                          type: string
                                        courseItemSlug:
                                          type: string
                                      required:
                                        - fermionCourseItemId
                                        - fermionDigitalProductId
                                        - courseItemSlug
                                    - anyOf:
                                        - type: object
                                          properties:
                                            articleUniqueId:
                                              type: string
                                            type:
                                              type: string
                                              enum:
                                                - Article
                                            title:
                                              type: string
                                            contentJson:
                                              type: string
                                            isTiptapContent:
                                              type: boolean
                                          required:
                                            - articleUniqueId
                                            - type
                                            - title
                                            - contentJson
                                            - isTiptapContent
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Resources
                                            title:
                                              type: string
                                          required:
                                            - type
                                            - title
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Lab
                                            labCategory:
                                              type: string
                                              enum:
                                                - regular
                                            defaultGitBranch:
                                              type: string
                                              nullable: true
                                            defaultGitRepoUrl:
                                              type: string
                                              nullable: true
                                            labUniqueId:
                                              type: string
                                            title:
                                              type: string
                                            isVerifiedInstructorSolutionAvailable:
                                              type: boolean
                                            codingLabSlug:
                                              type: string
                                            helperVideoCaptions:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  language:
                                                    type: string
                                                  label:
                                                    type: string
                                                  src:
                                                    type: string
                                                required:
                                                  - language
                                                  - label
                                                  - src
                                            helperVideos:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  quality:
                                                    type: string
                                                    enum:
                                                      - Quality360
                                                      - Quality480
                                                      - Quality720
                                                      - Quality1080
                                                      - Quality2160
                                                  src:
                                                    type: string
                                                required:
                                                  - quality
                                                  - src
                                            markdownDescription:
                                              type: string
                                            testCases:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  index:
                                                    type: number
                                                  markdownHint:
                                                    type: string
                                                    nullable: true
                                                  markdownLabel:
                                                    type: string
                                                  type:
                                                    type: string
                                                    enum:
                                                      - SelfEvaluative
                                                      - SystemEvaluative
                                                  uniqueId:
                                                    type: string
                                                required:
                                                  - index
                                                  - markdownLabel
                                                  - type
                                                  - uniqueId
                                            instructorSpecificData:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    testCommand:
                                                      type: string
                                                    labImageNameLabel:
                                                      type: string
                                                      nullable: true
                                                  required:
                                                    - testCommand
                                                - nullable: true
                                                - nullable: true
                                          required:
                                            - type
                                            - labCategory
                                            - labUniqueId
                                            - title
                                            - isVerifiedInstructorSolutionAvailable
                                            - codingLabSlug
                                            - helperVideoCaptions
                                            - helperVideos
                                            - markdownDescription
                                            - testCases
                                            - instructorSpecificData
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Contest
                                            contestData:
                                              type: object
                                              properties:
                                                fermionDigitalProductId:
                                                  type: string
                                                contestId:
                                                  type: string
                                                title:
                                                  type: string
                                                slug:
                                                  type: string
                                                attemptTimeLimitConfig:
                                                  anyOf:
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - fixed-start-and-end-time
                                                        contestStartAt:
                                                          type: string
                                                          format: date-time
                                                        contestDurationInMinutes:
                                                          type: integer
                                                          minimum: 0
                                                      required:
                                                        - type
                                                        - contestStartAt
                                                        - contestDurationInMinutes
                                                    - type: object
                                                      properties:
                                                        type:
                                                          type: string
                                                          enum:
                                                            - flexible-start-time
                                                        contestAvailableFrom:
                                                          type: string
                                                          format: date-time
                                                        contestAvailableUntil:
                                                          type: string
                                                          format: date-time
                                                        contestDurationInMinutes:
                                                          type: integer
                                                          minimum: 0
                                                      required:
                                                        - type
                                                        - contestAvailableFrom
                                                        - contestAvailableUntil
                                                        - contestDurationInMinutes
                                                shortDescription:
                                                  type: string
                                                contestInstructionsMarkdown:
                                                  type: string
                                                questionBreakdown:
                                                  type: object
                                                  properties:
                                                    quizCount:
                                                      type: integer
                                                      minimum: 0
                                                    codingLabCount:
                                                      type: integer
                                                      minimum: 0
                                                    totalQuizQuestionsCount:
                                                      type: integer
                                                      minimum: 0
                                                    totalLabQuestionsCount:
                                                      type: integer
                                                      minimum: 0
                                                  required:
                                                    - quizCount
                                                    - codingLabCount
                                                    - totalQuizQuestionsCount
                                                    - totalLabQuestionsCount
                                              required:
                                                - fermionDigitalProductId
                                                - contestId
                                                - title
                                                - slug
                                                - attemptTimeLimitConfig
                                                - shortDescription
                                                - contestInstructionsMarkdown
                                                - questionBreakdown
                                            courseItemConstraintConfig:
                                              type: object
                                              properties:
                                                mandatoryPassingScoreConstraint:
                                                  anyOf:
                                                    - type: object
                                                      properties:
                                                        minimumScoreInPercentage:
                                                          type: integer
                                                          minimum: 0
                                                          maximum: 100
                                                        shouldForceRequireCourseProgressToBeResetOnContestFailure:
                                                          type: boolean
                                                          default: false
                                                        shouldLockdownFullCourseIfRetryAttemptsAreExhausted:
                                                          type: boolean
                                                          default: false
                                                      required:
                                                        - minimumScoreInPercentage
                                                    - nullable: true
                                                    - nullable: true
                                              required:
                                                - mandatoryPassingScoreConstraint
                                          required:
                                            - type
                                            - contestData
                                            - courseItemConstraintConfig
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Lab
                                            labCategory:
                                              type: string
                                              enum:
                                                - io
                                            codingLabId:
                                              type: string
                                          required:
                                            - type
                                            - labCategory
                                            - codingLabId
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Quiz
                                            courseItemConstraintConfig:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    retryConstraint:
                                                      anyOf:
                                                        - type: object
                                                          properties:
                                                            shouldAllowRetry:
                                                              type: boolean
                                                              enum:
                                                                - false
                                                          required:
                                                            - shouldAllowRetry
                                                        - type: object
                                                          properties:
                                                            shouldAllowRetry:
                                                              type: boolean
                                                              enum:
                                                                - true
                                                            minGapBetweenTwoRetriesInMinutes:
                                                              type: integer
                                                              minimum: 0
                                                          required:
                                                            - shouldAllowRetry
                                                            - minGapBetweenTwoRetriesInMinutes
                                                    mandatoryPassingScoreConstraint:
                                                      anyOf:
                                                        - type: object
                                                          properties:
                                                            minimumScoreInPercentage:
                                                              type: integer
                                                              minimum: 0
                                                              maximum: 100
                                                          required:
                                                            - minimumScoreInPercentage
                                                        - nullable: true
                                                        - nullable: true
                                                  required:
                                                    - retryConstraint
                                                    - mandatoryPassingScoreConstraint
                                                - nullable: true
                                                - nullable: true
                                            quizAlreadySubmittedData:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    minimumScoreInPercentageForPassing:
                                                      type: number
                                                    userScore:
                                                      type: number
                                                    maxScore:
                                                      type: number
                                                    fermionCourseItemIdForThisQuiz:
                                                      type: string
                                                    isRetryAllowed:
                                                      type: boolean
                                                  required:
                                                    - minimumScoreInPercentageForPassing
                                                    - userScore
                                                    - maxScore
                                                    - fermionCourseItemIdForThisQuiz
                                                    - isRetryAllowed
                                                - nullable: true
                                                - nullable: true
                                            quizUniqueId:
                                              type: string
                                            quizDescription:
                                              type: string
                                            quizMaxScore:
                                              type: integer
                                              minimum: 0
                                            quizTitle:
                                              type: string
                                            questions:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  updatedAt:
                                                    type: string
                                                  createdAt:
                                                    type: string
                                                  tagsData:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        tagUniqueId:
                                                          type: string
                                                        logoUrl:
                                                          type: string
                                                        tagLabel:
                                                          type: string
                                                      required:
                                                        - tagUniqueId
                                                        - logoUrl
                                                        - tagLabel
                                                  difficultyLevel:
                                                    type: string
                                                    enum:
                                                      - Easy
                                                      - Medium
                                                      - Hard
                                                  positiveScoreOnCorrectAnswer:
                                                    type: integer
                                                    minimum: 0
                                                  negativeScoreOnIncorrectAnswer:
                                                    type: integer
                                                    minimum: 0
                                                  questionUniqueId:
                                                    type: string
                                                  markdownTitle:
                                                    type: string
                                                  markdownDescription:
                                                    type: string
                                                  options:
                                                    type: array
                                                    items:
                                                      type: object
                                                      properties:
                                                        markdownText:
                                                          type: string
                                                        optionUniqueId:
                                                          type: string
                                                      required:
                                                        - markdownText
                                                        - optionUniqueId
                                                  instructorSpecificData:
                                                    type: object
                                                    nullable: true
                                                    properties:
                                                      explanation:
                                                        type: string
                                                      isQuestionEditableByInstructor:
                                                        type: boolean
                                                      correctAnswerUniqueIds:
                                                        type: array
                                                        items:
                                                          type: string
                                                    required:
                                                      - explanation
                                                      - isQuestionEditableByInstructor
                                                      - correctAnswerUniqueIds
                                                  type:
                                                    type: string
                                                    enum:
                                                      - MultiCorrect
                                                      - SingleCorrect
                                                required:
                                                  - updatedAt
                                                  - createdAt
                                                  - tagsData
                                                  - difficultyLevel
                                                  - positiveScoreOnCorrectAnswer
                                                  - negativeScoreOnIncorrectAnswer
                                                  - questionUniqueId
                                                  - markdownTitle
                                                  - markdownDescription
                                                  - options
                                                  - type
                                          required:
                                            - type
                                            - courseItemConstraintConfig
                                            - quizAlreadySubmittedData
                                            - quizUniqueId
                                            - quizDescription
                                            - quizMaxScore
                                            - quizTitle
                                            - questions
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Video
                                            title:
                                              type: string
                                            markdownDescription:
                                              type: string
                                            chapterSpanInDescriptionDatasetCssSelector:
                                              type: string
                                              enum:
                                                - data-chapter-start-at
                                            videoConstraint:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    progressConstraint:
                                                      anyOf:
                                                        - type: object
                                                          properties:
                                                            shouldRequireWatchingFullVideo:
                                                              type: boolean
                                                          required:
                                                            - shouldRequireWatchingFullVideo
                                                        - nullable: true
                                                        - nullable: true
                                                  required:
                                                    - progressConstraint
                                                - nullable: true
                                                - nullable: true
                                            videoData:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    availabilityState:
                                                      type: string
                                                      enum:
                                                        - ready-for-playback
                                                    videoName:
                                                      type: string
                                                  required:
                                                    - availabilityState
                                                    - videoName
                                                - type: object
                                                  properties:
                                                    availabilityState:
                                                      type: string
                                                      enum:
                                                        - not-ready-yet
                                                    videoName:
                                                      type: string
                                                  required:
                                                    - availabilityState
                                                    - videoName
                                                - type: object
                                                  properties:
                                                    availabilityState:
                                                      type: string
                                                      enum:
                                                        - not-linked
                                                  required:
                                                    - availabilityState
                                          required:
                                            - type
                                            - title
                                            - markdownDescription
                                            - >-
                                              chapterSpanInDescriptionDatasetCssSelector
                                            - videoConstraint
                                            - videoData
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Ebook
                                            ebookData:
                                              type: object
                                              properties:
                                                bookName:
                                                  type: string
                                                presignedGetUrlForEbook:
                                                  type: string
                                                  format: uri
                                                iv:
                                                  type: string
                                                encKey:
                                                  type: string
                                                eos:
                                                  type: boolean
                                                cw:
                                                  type: boolean
                                                hw:
                                                  type: boolean
                                              required:
                                                - bookName
                                                - presignedGetUrlForEbook
                                                - iv
                                                - encKey
                                                - eos
                                                - cw
                                                - hw
                                          required:
                                            - type
                                            - ebookData
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - ScormFile
                                          required:
                                            - type
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - IframeEmbed
                                            iframeUrl:
                                              type: string
                                            title:
                                              type: string
                                          required:
                                            - type
                                            - iframeUrl
                                            - title
                                        - type: object
                                          properties:
                                            type:
                                              type: string
                                              enum:
                                                - Assignment
                                          required:
                                            - type
                                        - type: object
                                          properties:
                                            liveClassUniqueId:
                                              type: string
                                            type:
                                              type: string
                                              enum:
                                                - LiveClass
                                            title:
                                              type: string
                                            markdownDescription:
                                              type: string
                                            chapterSpanInDescriptionDatasetCssSelector:
                                              type: string
                                              enum:
                                                - data-chapter-start-at
                                            startAtIsoString:
                                              type: string
                                              format: date-time
                                            endAtIsoString:
                                              type: string
                                              format: date-time
                                            platformSpecificData:
                                              anyOf:
                                                - type: object
                                                  properties:
                                                    platform:
                                                      type: string
                                                      enum:
                                                        - Other
                                                    otherPlatformLiveStreamLink:
                                                      type: string
                                                      format: uri
                                                  required:
                                                    - platform
                                                    - otherPlatformLiveStreamLink
                                                - type: object
                                                  properties:
                                                    platform:
                                                      type: string
                                                      enum:
                                                        - Fermion
                                                    liveChatUserRateLimitMaxMessagesPerMinute:
                                                      type: number
                                                      minimum: 0
                                                      maximum: 30
                                                      default: 30
                                                  required:
                                                    - platform
                                          required:
                                            - liveClassUniqueId
                                            - type
                                            - title
                                            - markdownDescription
                                            - >-
                                              chapterSpanInDescriptionDatasetCssSelector
                                            - startAtIsoString
                                            - endAtIsoString
                                            - platformSpecificData
                                        - type: object
                                          properties:
                                            liveEventUniqueId:
                                              type: string
                                            type:
                                              type: string
                                              enum:
                                                - LiveEvent
                                            title:
                                              type: string
                                            markdownDescription:
                                              type: string
                                            chapterSpanInDescriptionDatasetCssSelector:
                                              type: string
                                              enum:
                                                - data-chapter-start-at
                                            instructorSpecificData:
                                              type: object
                                              properties:
                                                markdownDescription:
                                                  type: string
                                              required:
                                                - markdownDescription
                                            sessions:
                                              type: array
                                              items:
                                                type: object
                                                properties:
                                                  liveEventSessionId:
                                                    type: string
                                                  startAtIsoString:
                                                    type: string
                                                    format: date-time
                                                  durationInSecs:
                                                    type: integer
                                                    minimum: 60
                                                  platformSpecificData:
                                                    anyOf:
                                                      - allOf:
                                                          - type: object
                                                            properties:
                                                              platform:
                                                                type: string
                                                                enum:
                                                                  - Fermion
                                                              canUsersRequestToJoinStage:
                                                                type: boolean
                                                              shouldEnablePlaybackAfterStreamEnds:
                                                                type: boolean
                                                              shouldAllowStudentsToDownloadMp4:
                                                                type: boolean
                                                              shouldAllowAnyoneToJoinStageAutomatically:
                                                                type: boolean
                                                              signedCaptions:
                                                                type: array
                                                                items:
                                                                  type: object
                                                                  properties:
                                                                    language:
                                                                      type: string
                                                                    label:
                                                                      type: string
                                                                    src:
                                                                      type: string
                                                                  required:
                                                                    - language
                                                                    - label
                                                                    - src
                                                              shouldProcessCaptionsForTheSession:
                                                                type: boolean
                                                              drmSpecificData:
                                                                anyOf:
                                                                  - type: object
                                                                    properties:
                                                                      contentId:
                                                                        type: {}
                                                                      playbackModeConfig:
                                                                        type: {}
                                                                        properties: {}
                                                                        required: {}
                                                                    required:
                                                                      - contentId
                                                                      - playbackModeConfig
                                                                  - nullable: true
                                                                  - nullable: true
                                                              shouldRestrictEarlyStartForSession:
                                                                type: boolean
                                                                default: false
                                                              userFeedbackPostLiveStreamCollectionType:
                                                                type: string
                                                                enum:
                                                                  - None
                                                                  - StarRatingOutOf5WithFeedback
                                                            required:
                                                              - platform
                                                              - canUsersRequestToJoinStage
                                                              - shouldEnablePlaybackAfterStreamEnds
                                                              - shouldAllowStudentsToDownloadMp4
                                                              - >-
                                                                shouldAllowAnyoneToJoinStageAutomatically
                                                              - signedCaptions
                                                              - shouldProcessCaptionsForTheSession
                                                              - drmSpecificData
                                                              - userFeedbackPostLiveStreamCollectionType
                                                          - anyOf:
                                                              - type: object
                                                                properties:
                                                                  status:
                                                                    type: string
                                                                    enum:
                                                                      - NotStartedYet
                                                                      - StartingLiveStreamServers
                                                                      - WaitingForStream
                                                                      - StreamingLiveToAll
                                                                      - AllStreamsDisconnectedFromLiveToAll
                                                                required:
                                                                  - status
                                                              - type: object
                                                                properties:
                                                                  status:
                                                                    type: string
                                                                    enum:
                                                                      - Ended
                                                                  endedAtIso:
                                                                    type: string
                                                                    format: date-time
                                                                required:
                                                                  - status
                                                                  - endedAtIso
                                                      - type: object
                                                        properties:
                                                          platform:
                                                            type: string
                                                            enum:
                                                              - Other
                                                          otherPlatformJoinInformationMarkdown:
                                                            type: string
                                                          isAttendanceMarkedAsDoneForMyself:
                                                            type: boolean
                                                        required:
                                                          - platform
                                                          - otherPlatformJoinInformationMarkdown
                                                required:
                                                  - liveEventSessionId
                                                  - startAtIsoString
                                                  - durationInSecs
                                                  - platformSpecificData
                                          required:
                                            - liveEventUniqueId
                                            - type
                                            - title
                                            - markdownDescription
                                            - >-
                                              chapterSpanInDescriptionDatasetCssSelector
                                            - instructorSpecificData
                                            - sessions
                              required:
                                - createdAt
                                - updatedAt
                                - courseItemData
                          required:
                            - status
                            - data
                        - type: object
                          properties:
                            status:
                              type: string
                              enum:
                                - error
                            errorMessage:
                              type: string
                          required:
                            - status
                            - errorMessage
                  required:
                    - output
      security:
        - FERMION-API-KEY: []
components:
  securitySchemes:
    FERMION-API-KEY:
      name: FERMION-API-KEY
      type: apiKey
      in: header

````