---
title: "Edit a path"
method: PATCH
path: "/api/v2/paths/{pathId}"
tags: ["Paths"]
---

# Edit a path

`PATCH /api/v2/paths/{pathId}`

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

Edits specific fields of an existing path. Fields not included in the request payload remain unchanged.

## Path parameters

- `pathId` string, ObjectId, required

## Headers

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

## Response `200`

Returns the information about the updated path.

- PathDTO
  - `authorId` string, ObjectId, required — The unique ID of the main author of the path.
  - `certificateId` string, ObjectId — The unique ID of the certificate outline from which certificates are issued upon path completion.
  - `groupId` string, ObjectId, required — The unique ID of the owner group of the path.
  - `_id` string, ObjectId, required — The unique ID of the path.
  - `coAuthorIds` string[], required — The list of co-author IDs in an array.
  - `createdAt` string, date-time, required — The date and time when the path 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 path is displayed when the learner’s profile language is not available.
  - `modifiedAt` string, date-time, required — The date and time when the path was last updated, in the `YYYY-MM-DDThh:mm:ss.sssZ` format (ISO 8601 in Coordinated Universal Time (UTC)).
  - `name` string, required — The title of the path.
  - `options` Options, required
    - `linearProgression` boolean, required — True if learners must follow the steps in the defined order (top to bottom) as set in the **Build your training** section of the path editor; false otherwise.
    - `mandatoryReplay` boolean, required — True if learners must complete the steps within the path session, even if they have already completed the steps elsewhere; false otherwise.
    - `displayForum` boolean, required — True if learners can see the path forum and reactions; false otherwise.
    - `displayClassroomMessages` boolean, required — True if learners can see the classroom slot message on the path homepage, even if they aren’t registered for the classroom slot; false otherwise.
    - `automatedReminders` boolean, required — True if an automated reminder is sent to enrolled learners who have been inactive for 2 days and then for 7 days; false otherwise.
    - `notificationOnStepCreation` boolean, required — True if an email notification is sent to all learners when a new step is added, updating their path status to **On time** and moving the path back to the **Ongoing** tab on their homepage; false otherwise.
  - `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 path is created.
  - `status` 'archived' | 'published', required — The status of the path.
  - `steps` union[], required — The ordered list of steps of the path.
    - union
      - AssessmentStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'assessment', required — The type of the step.
        - `options` AssessmentStepOptionsDTO, required
          - `isExamination` boolean, required — True if learners must pass the assessment to receive a certificate; false otherwise. A certificate must be included in the path to activate this option.
          - `minScore` number — The minimum score required to pass the assessment, expressed as a percentage. If set, the assessor will validate progress based on this score rather than using a fail/pass validation. If not set, the assessor will use a fail/pass validation.
      - ClassroomStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'classroom', required — The type of the step.
        - `options` ClassroomStepOptionsDTO, required
          - `optional` boolean, required — True if the step is optional to complete the path; false otherwise.
          - `relativeDate` RelativeDateOptionDTO
            - `unit` 'day' | 'month' | 'week', required — The unit of measurement for the duration.
            - `value` number, required — The numerical estimate of the duration.
          - `autoRegistration` boolean, required — True if newly enrolled learners should be automatically registered in the next open classroom slot; false otherwise.
          - `selfRegistration` SelfRegistrationOptionDTO, required
            - `enabled` boolean, required — True if learners can self-register for any available classroom slots until the event begins; false otherwise.
            - `delay` RelativeDateOptionDTO
              - …
          - `attendanceSheets` AttendanceSheetsOptionDTO
            - `unit` 'day' | 'slot', required — The frequency at which attendance sheets are generated for each classroom slot. Options are: - `slot`: Generates the specified number of attendance sheet per classroom slot. - `day`: Generates the specified number of attendance sheets per day within the classroom slot.
            - `number` number, required — The number of attendance sheets per `day` or `slot`.
      - CourseStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'course', required — The type of the step.
        - `options` union, required — The options for this step.
          - RegularCourseStepOptionsDTO
            - `optional` boolean, required — True if the step is optional to complete the path; false otherwise.
            - `relativeDate` RelativeDateOptionDTO
              - …
            - `showCorrection` 'never' | 'onAnswer' | 'onCompletion' | 'onSuccess', required — When answers to questions will be displayed. Options are: - `never`: Answers will not be displayed at any time. - `onAnswer`: Answers will be displayed immediately after the learner provides their response. - `onCompletion`: Answers will be displayed only after the learner has completed the course. - `onSuccess`: Answers will be displayed only after the learner completes the course and meets the success criteria.
            - `showForum` 'never' | 'onAnswer' | 'onCompletion' | 'onSuccess', required — When the forum will be displayed. Options are: - `never`: The forum will not be displayed at any time. - `onAnswer`: The forum will be displayed immediately after the learner provides their response. - `onCompletion`: The forum will be displayed only after the learner has completed the course. - `onSuccess`: The forum will be displayed only after the learner completes the course and meets the success criteria.
            - `timeLimit` TimeLimitOptionDTO
              - …
            - `minScore` number — The minimum score required to successfully complete the step. The score ranges from 0 to 100.
            - `attemptsLimit` number — The maximum number of attempts allowed for the step. The learner cannot retry the step once this limit is reached.
            - `availability` AvailabilityOptionDTO
              - …
          - PositioningQuizCourseStepOptionsDTO
            - `optional` boolean, required — True if the step is optional to complete the path; false otherwise.
            - `relativeDate` RelativeDateOptionDTO
              - …
            - `showCorrection` 'never' | 'onAnswer' | 'onCompletion' | 'onSuccess', required — When answers to questions will be displayed. Options are: - `never`: Answers will not be displayed at any time. - `onAnswer`: Answers will be displayed immediately after the learner provides their response. - `onCompletion`: Answers will be displayed only after the learner has completed the course. - `onSuccess`: Answers will be displayed only after the learner completes the course and meets the success criteria.
            - `showForum` 'never' | 'onAnswer' | 'onCompletion' | 'onSuccess', required — When the forum will be displayed. Options are: - `never`: The forum will not be displayed at any time. - `onAnswer`: The forum will be displayed immediately after the learner provides their response. - `onCompletion`: The forum will be displayed only after the learner has completed the course. - `onSuccess`: The forum will be displayed only after the learner completes the course and meets the success criteria.
            - `timeLimit` TimeLimitOptionDTO
              - …
            - `attemptsLimit` number, required — Must be 1 for a positioning quiz step.
            - `thresholds` ThresholdDTO[], required — The thresholds defined for this positioning quiz step.
              - …
        - `subtype` 'quiz' — The subtype of the step.
      - EmailStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'email', required — The type of the step.
        - `options` EmailStepOptionsDTO, required
          - `recipientType` 'learner' | 'manager', required — The role of users that will receive the message.
          - `scheduling` SchedulingOptionDTO
            - `relativeTo` 'afterEnrollmentDate' | 'afterSessionStartDate' | 'beforeSessionStartDate', required — The event triggering the message scheduling. Options are: - `afterEnrollmentDate`: The message will be sent a specific number of days after the enrollment date. - `afterSessionStartDate`: The message will be sent a specific number of days after the session start date. - `beforeSessionStartDate`: The message will be sent a specific number of days before the session start date.
            - `relativity` number, required — The number of days from the triggering event to send the message.
            - `condition` 'completed' | 'notCompleted' | 'notSuccessful' | 'successful' — The path result required to trigger the message. Note that this parameter only applies to the following triggering events: `afterEnrollmentDate` and `afterSessionStartDate`. Path results options are: - `completed`: The learner completed all steps in the path. - `notCompleted`: The learner has at least one uncompleted step in the path. - `notSuccessful`: The learner has at least one uncompleted step in the path, or has not reached the minimum score for at least one mandatory step. - `successful`: The learner has completed all mandatory steps in the path, reached the minimum score in all mandatory courses that have one, and completed them in less than the maximum time limit, or more than the minimum time limit.
            - `conditionOnDetailedStatus` string[] — The detailed path statuses required to trigger the message. Note that this parameter only applies to the following triggering events: `afterEnrollmentDate` and `afterSessionStartDate`. Detailed status options include: - `awaitingCorrection`: The learner is awaiting correction of at least one step in the path. - `late`: The learner is late on the path based on the relative date deadline. - `notYetStarted`: The learner has not yet started the path. - `onTime`: The learner is progressing through the path on time. - `successful`: The learner has successfully completed all mandatory steps in the path. - `toRetake`: The learner needs to retake one or more steps in the path. - `unsuccessful`: The learner has not successfully completed at least one of the required steps in the path.
      - PathStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'path', required — The type of the step.
        - `options` PathStepOptionsDTO, required
          - `optional` boolean, required — True if the step is optional to complete the path; false otherwise.
          - `relativeDate` RelativeDateOptionDTO
            - `unit` 'day' | 'month' | 'week', required — The unit of measurement for the duration.
            - `value` number, required — The numerical estimate of the duration.
      - ProgramStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'program', required — The type of the step.
        - `options` ProgramStepOptionsDTO, required
          - `optional` boolean, required — True if the step is optional to complete the path; false otherwise.
          - `relativeDate` RelativeDateOptionDTO
            - `unit` 'day' | 'month' | 'week', required — The unit of measurement for the duration.
            - `value` number, required — The numerical estimate of the duration.
      - SlackMessageStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'slackMessage', required — The type of the step.
        - `options` MessageStepOptionsDTO, required
          - `recipientType` 'learner', required — The role of users that will receive the message.
          - `scheduling` SchedulingOptionDTO
            - `relativeTo` 'afterEnrollmentDate' | 'afterSessionStartDate' | 'beforeSessionStartDate', required — The event triggering the message scheduling. Options are: - `afterEnrollmentDate`: The message will be sent a specific number of days after the enrollment date. - `afterSessionStartDate`: The message will be sent a specific number of days after the session start date. - `beforeSessionStartDate`: The message will be sent a specific number of days before the session start date.
            - `relativity` number, required — The number of days from the triggering event to send the message.
            - `condition` 'completed' | 'notCompleted' | 'notSuccessful' | 'successful' — The path result required to trigger the message. Note that this parameter only applies to the following triggering events: `afterEnrollmentDate` and `afterSessionStartDate`. Path results options are: - `completed`: The learner completed all steps in the path. - `notCompleted`: The learner has at least one uncompleted step in the path. - `notSuccessful`: The learner has at least one uncompleted step in the path, or has not reached the minimum score for at least one mandatory step. - `successful`: The learner has completed all mandatory steps in the path, reached the minimum score in all mandatory courses that have one, and completed them in less than the maximum time limit, or more than the minimum time limit.
            - `conditionOnDetailedStatus` string[] — The detailed path statuses required to trigger the message. Note that this parameter only applies to the following triggering events: `afterEnrollmentDate` and `afterSessionStartDate`. Detailed status options include: - `awaitingCorrection`: The learner is awaiting correction of at least one step in the path. - `late`: The learner is late on the path based on the relative date deadline. - `notYetStarted`: The learner has not yet started the path. - `onTime`: The learner is progressing through the path on time. - `successful`: The learner has successfully completed all mandatory steps in the path. - `toRetake`: The learner needs to retake one or more steps in the path. - `unsuccessful`: The learner has not successfully completed at least one of the required steps in the path.
      - TeamsMessageStepDTO
        - `_id` string, ObjectId, required — The unique ID of the step resource.
        - `type` 'teamsMessage', required — The type of the step.
        - `options` MessageStepOptionsDTO, required
          - `recipientType` 'learner', required — The role of users that will receive the message.
          - `scheduling` SchedulingOptionDTO
            - `relativeTo` 'afterEnrollmentDate' | 'afterSessionStartDate' | 'beforeSessionStartDate', required — The event triggering the message scheduling. Options are: - `afterEnrollmentDate`: The message will be sent a specific number of days after the enrollment date. - `afterSessionStartDate`: The message will be sent a specific number of days after the session start date. - `beforeSessionStartDate`: The message will be sent a specific number of days before the session start date.
            - `relativity` number, required — The number of days from the triggering event to send the message.
            - `condition` 'completed' | 'notCompleted' | 'notSuccessful' | 'successful' — The path result required to trigger the message. Note that this parameter only applies to the following triggering events: `afterEnrollmentDate` and `afterSessionStartDate`. Path results options are: - `completed`: The learner completed all steps in the path. - `notCompleted`: The learner has at least one uncompleted step in the path. - `notSuccessful`: The learner has at least one uncompleted step in the path, or has not reached the minimum score for at least one mandatory step. - `successful`: The learner has completed all mandatory steps in the path, reached the minimum score in all mandatory courses that have one, and completed them in less than the maximum time limit, or more than the minimum time limit.
            - `conditionOnDetailedStatus` string[] — The detailed path statuses required to trigger the message. Note that this parameter only applies to the following triggering events: `afterEnrollmentDate` and `afterSessionStartDate`. Detailed status options include: - `awaitingCorrection`: The learner is awaiting correction of at least one step in the path. - `late`: The learner is late on the path based on the relative date deadline. - `notYetStarted`: The learner has not yet started the path. - `onTime`: The learner is progressing through the path on time. - `successful`: The learner has successfully completed all mandatory steps in the path. - `toRetake`: The learner needs to retake one or more steps in the path. - `unsuccessful`: The learner has not successfully completed at least one of the required steps in the path.
  - `translations` PathTranslationDTO[], required — The different translations available for the path.
    - `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` PathTranslatedFields, required
      - `name` string — The translation of the field `name` for this language.
      - `description` string — The translation of the field `description` for this language.
  - `additionalInformation` string — A custom field to store information available only in the **Advanced settings** of the path editor, the CSV exports, and the API. This information is not displayed to learners on the platform.
  - `coverPicture` string, ObjectId — The unique ID of the cover picture of the path.
  - `description` string — The description of the path.
  - `estimatedDuration` EstimatedDuration
    - `unit` 'day' | 'hour' | 'minute' | 'month' | 'week', required — The unit of measurement for the estimated duration, as specified in the path settings under Estimated duration.
    - `value` number, required — The numerical estimate of the duration, as specified in the path settings under Estimated duration.
  - `estimatedWeeklyCommitment` EstimatedWeeklyCommitment
    - `min` number, required — The minimum number of hours the learners should spend on the path each week.
    - `max` number, required — The maximum number of hours the learners should spend on the path each week.

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

---

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