---
title: "createChapter"
method: POST
path: "/core/api/v1/{courseId}/{moduleId}/chapter"
tags: ["chapter-controller"]
---

# createChapter

`POST /core/api/v1/{courseId}/{moduleId}/chapter`

## Request

- Base URL: `https://api.freshlearn.com`
- URL: `https://api.freshlearn.com/core/api/v1/{courseId}/{moduleId}/chapter`
- Auth: none declared

## Path parameters

- `moduleId` integer, required
- `courseId` integer, required

## Headers

- `Authorization` string
- `domain` string
- `api-key` string

## Request body

- ChapterRequestDTO
  - `chapterContent` ChapterContentDto[]
    - `chapterMettingType` 'OTHER' | 'ZOOM' | 'OFFLINE' | 'VIRTUAL'
    - `content` string
    - `contentType` 'VIDEO' | 'PDF' | 'TEXT' | 'HTML' | 'WORD' | 'QUIZ' | 'EMBEDDED' | 'PPT' | 'DOCUMENT' | 'AUDIO' | 'DOWNLOADED' | 'ONLINE' | 'OTHER' | 'LIVE' | 'ZOOM' | 'OFFLINE' | 'ASSIGNMENT' | 'ASSESSMENT' | 'AICC'
    - `downlodableContent` string[]
    - `editorContent` string
    - `id` integer
    - `liveContent` string
    - `mediaLibraryId` integer
    - `orderIndex` integer
    - `title` string
    - `url` string
    - `videoThumbnailUrl` string
  - `chapterStatus` 'DRAFT' | 'LOCK' | 'UNLOCK'
  - `courseId` integer
  - `description` string
  - `downloadable` boolean
  - `id` integer
  - `imageUrl` string
  - `isLock` boolean
  - `isPublished` boolean
  - `moduleId` integer
  - `name` string
  - `orderIndex` integer
  - `preview` boolean
  - `videoComplianceSetting` object

## Response `200`

OK

## Other responses

- `201`: Created
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not Found

---

[API](https://skmtc.dev/freshlearn/apis/freshlearn-api.md) · [All operations](https://skmtc.dev/freshlearn/apis/freshlearn-api/llms.txt) · [OpenAPI document](https://skmtc.dev/freshlearn/apis/freshlearn-api/revisions/8a82ee14b586?raw)
