---
title: "Edit an eLearning standard course"
method: PATCH
path: "/api/v2/courses/elearning-standard/{courseId}"
tags: ["Courses"]
---

# Edit an eLearning standard course

`PATCH /api/v2/courses/elearning-standard/{courseId}`

> 🔑
>
> Required OAuth scope: `courses:write`.

Edits specific fields of an existing eLearning standard (SCORM, AICC, xAPI, ...) course. Fields not included in the request payload remain unchanged. This endpoint should not be used to edit native 360Learning courses.

This endpoint has a specific rate limit of 1 request per second.

## Path parameters

- `courseId` string, ObjectId, required

## Headers

- `360-api-version` 'v2.0', required

## Response `200`

Returns the updated course.

- CourseDTO
  - `name` string, required — The title of the course.
  - `sourceLang` 'bg' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fi' | 'fr' | 'hr' | 'ht_HT' | 'hu' | 'id' | 'it' | 'ja' | 'kar_MM' | 'ko' | 'lt' | 'mh_MH' | 'nl' | 'nl_BE' | 'no' | 'pl' | 'pt' | 'ro' | 'ru' | 'rw_RW' | 'sk' | 'sl' | 'so_SO' | 'sv' | 'sw_KE' | 'th' | 'ti_ET' | 'tr' | 'uk' | 'zh' | 'am_ET' | 'bn' | 'bs' | 'ca' | 'cy' | 'en_CA' | 'en_GB' | 'es_AR' | 'es_MX' | 'et' | 'fr_CA' | 'gu' | 'he_IL' | 'hy' | 'kk' | 'km' | 'lo' | 'lv' | 'mi' | 'mn_MN' | 'mr' | 'ms' | 'my_MM' | 'nn_NO' | 'or' | 'pa' | 'pt_BR' | 'pt_MZ' | 'rn_BI' | 'si' | 'ta' | 'te' | 'tl_PH' | 'ur' | 'uz' | 'yo_NG' | 'zh_tw' | 'el' | 'hi' | 'sr' | 'ar' | 'vi' | 'zh_HANT', required — The language in which the course is created.
  - `authorId` string, ObjectId, required — The unique ID of the author of the course.
  - `groupId` string, ObjectId, required — The unique ID of the group where the course was created.
  - `coAuthorIds` string[], required — The list of unique IDs of the co-authors of the course.
  - `description` string — The description of the course.
  - `duration` number — An estimate of the time required to complete the course. The expected value is a number of minutes.
  - `_id` string, ObjectId, required — The unique ID of the course.
  - `createdAt` string, date-time, required — The date and time when the course was created, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
  - `defaultLang` 'bg' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fi' | 'fr' | 'hr' | 'ht_HT' | 'hu' | 'id' | 'it' | 'ja' | 'kar_MM' | 'ko' | 'lt' | 'mh_MH' | 'nl' | 'nl_BE' | 'no' | 'pl' | 'pt' | 'ro' | 'ru' | 'rw_RW' | 'sk' | 'sl' | 'so_SO' | 'sv' | 'sw_KE' | 'th' | 'ti_ET' | 'tr' | 'uk' | 'zh' | 'am_ET' | 'bn' | 'bs' | 'ca' | 'cy' | 'en_CA' | 'en_GB' | 'es_AR' | 'es_MX' | 'et' | 'fr_CA' | 'gu' | 'he_IL' | 'hy' | 'kk' | 'km' | 'lo' | 'lv' | 'mi' | 'mn_MN' | 'mr' | 'ms' | 'my_MM' | 'nn_NO' | 'or' | 'pa' | 'pt_BR' | 'pt_MZ' | 'rn_BI' | 'si' | 'ta' | 'te' | 'tl_PH' | 'ur' | 'uz' | 'yo_NG' | 'zh_tw' | 'el' | 'hi' | 'sr' | 'ar' | 'vi' | 'zh_HANT', required — The language in which the course is displayed when the learner’s profile language is not available.
  - `modifiedAt` string, date-time, required — The date and time when the course was last updated, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)). Note that when translations are updated or when the course is archived/restored, its modification date does not change.
  - `status` 'archived' | 'deleted' | 'published', required — The status of the course.
  - `translations` CourseTranslationDTO[], required — The different translations available for the course.
    - `lang` 'bg' | 'cs' | 'da' | 'de' | 'el' | 'en' | 'es' | 'fi' | 'fr' | 'hr' | 'ht_HT' | 'hu' | 'id' | 'it' | 'ja' | 'kar_MM' | 'ko' | 'lt' | 'mh_MH' | 'nl' | 'nl_BE' | 'no' | 'pl' | 'pt' | 'ro' | 'ru' | 'rw_RW' | 'sk' | 'sl' | 'so_SO' | 'sv' | 'sw_KE' | 'th' | 'ti_ET' | 'tr' | 'uk' | 'zh' | 'am_ET' | 'bn' | 'bs' | 'ca' | 'cy' | 'en_CA' | 'en_GB' | 'es_AR' | 'es_MX' | 'et' | 'fr_CA' | 'gu' | 'he_IL' | 'hy' | 'kk' | 'km' | 'lo' | 'lv' | 'mi' | 'mn_MN' | 'mr' | 'ms' | 'my_MM' | 'nn_NO' | 'or' | 'pa' | 'pt_BR' | 'pt_MZ' | 'rn_BI' | 'si' | 'ta' | 'te' | 'tl_PH' | 'ur' | 'uz' | 'yo_NG' | 'zh_tw' | 'el' | 'hi' | 'sr' | 'ar' | 'vi' | 'zh_HANT', required — The language of the translation.
    - `published` boolean, required — True if the translation is available to users in this language; false otherwise.
    - `translatorIds` string[], required — The list of unique IDs of the translators assigned to this language.
    - `translatedFields` CourseTranslatedFields, required
      - `name` string — The translation of the field `name` for this language.
      - `description` string — The translation of the field `description` for this language.
  - `type` 'elearning standard' | 'external' | 'native', required — The type of the course.
  - `externalPlatform` string — The external platform where the course comes from. It is only set if the course has the `external` type.
  - `currentVersionNumber` integer — The current version of the course (most recent release).
  - `collaborativeLearning` boolean — A boolean indicating whether collaborative learning is enabled or not.

## Other responses

- `400` — The server cannot or will not process the request due to something that is perceived to be a client error.
- `401` — The given access token is either missing, invalid, has expired, or has been revoked.
- `403` — The given access token does not have the required OAuth scope to execute the request.
- `404` — The server cannot find the requested resource.
- `429` — The client has sent too many requests in a short amount of time. This endpoint has a specific rate limit of 1 requests per second.

---

[API](https://skmtc.dev/360learning/apis/core-api.md) · [All operations](https://skmtc.dev/360learning/apis/core-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/360learning/core-api/revisions/94b691b0b72c/schema)
