---
title: "Update training session"
method: PUT
path: "/api/2026-10-01/resources/trainings/sessions/{id}"
tags: ["Trainings > Session"]
---

# Update training session

`PUT /api/2026-10-01/resources/trainings/sessions/{id}`

## Request

- Base URL: `https://api.factorialhr.com`
- URL: `https://api.factorialhr.com/api/2026-10-01/resources/trainings/sessions/{id}`
- Auth: one of:
  - OAuth 2
    - Authorization code: `https://id.factorialhr.com/oauth/authorize`
    - Token URL: `https://id.factorialhr.com/api/oauth/token` scopes: `trainings`
  - API key in header `x-api-key`

Update fields from a training session

## Path parameters

- `id` string, required

## Request body

- object
  - `id` string, required: The session id you want to update
  - `name` string, required: Session name
  - `starts_at` string: Start date for the session, if scheduled, starts at and ends at needs to happen within the same day.
  - `ends_at` string: End date for the session, if scheduled, starts at and ends at needs to happen within the same day.
  - `due_date` string: Only necessary for self paced sessions.
  - `duration` string: Duration in hours of the session
  - `modality` string: Online, In person or mixed
  - `schedule` 'selfpaced' | 'scheduled': Scheduled or Self paced. Scheduled needs to have a start time and end time within the same day, self paced can start and end in different days and specific time won't be shown in the frontend app.
  - `link` string: Link to join the session if it's online, or to access or download related material for the session.
  - `location` string: Place where the session will happen if modality is mixed or in person.
  - `subsidized` boolean: Mark the session as subsidized
  - `recurrent` boolean: -
  - `send_calendar_invites` boolean: Send calendar invites to attendees assigned to the session

## Response `200`

OK

- TrainingsSession
  - `id` string, required: id of the session
  - `name` string, required
  - `training_id` string, required: Identifier of the course
  - `description` string: Session description
  - `training_class_id` string: Identifier of the group
  - `starts_at` string: Date when the session should start
  - `ends_at` string: Date when the session should end
  - `due_date` string: Date when the session should end
  - `duration` string: The duration in hours and minutes of the session
  - `modality` 'online' | 'inperson' | 'mixed': The mode the session will be handled, online, in person or hybrid.
  - `schedule` 'scheduled' | 'selfpaced': Session schedule information (scheduled, self-paced)
  - `link` string: The link to see material from the session
  - `location` string: The place where the session takes place
  - `session_attendance_ids` string[]
  - `session_feedback_id` string
  - `subsidized` boolean, required: if the session is subsidized
  - `status` string: Status of the session
  - `parent_id` string: Id of the recurrent session that is parent of the current one

## Changes

- **2026-11-03** `83ac9aa1de50`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/factorialhr/apis/factorial-api/changes/api/2026-10-01/resources/trainings/sessions/:id/put.md)

---

[API](https://skmtc.dev/factorialhr/apis/factorial-api.md) - [All operations](https://skmtc.dev/factorialhr/apis/factorial-api/llms.txt) - [OpenAPI document](https://skmtc.dev/factorialhr/apis/factorial-api/revisions/83ac9aa1de50?raw)
