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

# Routines

> API changes for the Routines module.

<Update label="2026-09-07">
  **3 API change(s) - ⚠️ includes 3 breaking change(s)**

  **`GET /rs/routines/v1/`**

  * for the `query` request parameter `whereAssignedContactIds`, the type/format of property `items/` was specialized from `string`/\`\` to `string`/`uuid`
  * for the `query` request parameter `whereAssignedUserIds`, the type/format of property `items/` was specialized from `string`/\`\` to `string`/`uuid`
  * for the `query` request parameter `whereContractIds`, the type/format of property `items/` was specialized from `string`/\`\` to `string`/`uuid`
</Update>

<Update label="2026-08-28">
  **4 API change(s) - ⚠️ includes 2 breaking change(s)**

  **`POST /rs/routines/v1/{id}/archive`**

  * api path removed without deprecation

  **`POST /rs/routines/v1/{id}/unarchive`**

  * api path removed without deprecation

  **`POST /rs/routines/v1/batch-archive`**

  * endpoint added

  **`POST /rs/routines/v1/batch-unarchive`**

  * endpoint added
</Update>

<Update label="2026-08-26">
  **1 API change(s)**

  **`GET /rs/routines/v1/`**

  * added the new optional `query` request parameter `countOnly`
</Update>

<Update label="2026-07-31">
  **22 API change(s) — ⚠️ includes 11 breaking change(s)**

  **`GET /rs/routines/v1/`**

  * deleted the `query` request parameter `whereAssignedCompanyContactIds`
  * removed the optional property `data/items/assignedCompanyContact` from the response with the `200` status
  * added the new optional `query` request parameter `whereAssignedContactIds`
  * added the optional property `data/items/assignedContact` to the response with the `200` status

  **`POST /rs/routines/v1/preventive`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`PATCH /rs/routines/v1/preventive/{id}`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`POST /rs/routines/v1/training-exercise`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`PATCH /rs/routines/v1/training-exercise/{id}`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`POST /rs/routines/v1/training-qualification`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`PATCH /rs/routines/v1/training-qualification/{id}`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`POST /rs/routines/v1/training-session`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`PATCH /rs/routines/v1/training-session/{id}`**

  * removed the request property `assignedCompanyContactId`
  * added the new optional request property `assignedContactId`

  **`GET /rs/routines/v1/{id}`**

  * removed the optional property `assignedCompanyContact` from the response with the `200` status
  * added the optional property `assignedContact` to the response with the `200` status
</Update>

<Update label="2026-07-24">
  **1 API change(s)**

  **`GET /rs/routines/v1/{id}`**

  * added the new optional `query` request parameter `extend`
</Update>

<Update label="2026-07-21">
  **2 API change(s) — ⚠️ includes 2 breaking change(s)**

  **`GET /rs/routines/v1/`**

  * the response property `data/items/contract` became nullable for the status `200`

  **`GET /rs/routines/v1/{id}`**

  * the response property `contract` became nullable for the status `200`
</Update>

<Update label="2026-07-17">
  **13 API change(s)**

  **`GET /rs/routines/v1/`**

  * endpoint added

  **`POST /rs/routines/v1/preventive`**

  * endpoint added

  **`PATCH /rs/routines/v1/preventive/{id}`**

  * endpoint added

  **`POST /rs/routines/v1/training-exercise`**

  * endpoint added

  **`PATCH /rs/routines/v1/training-exercise/{id}`**

  * endpoint added

  **`POST /rs/routines/v1/training-qualification`**

  * endpoint added

  **`PATCH /rs/routines/v1/training-qualification/{id}`**

  * endpoint added

  **`POST /rs/routines/v1/training-session`**

  * endpoint added

  **`PATCH /rs/routines/v1/training-session/{id}`**

  * endpoint added

  **`DELETE /rs/routines/v1/{id}`**

  * endpoint added

  **`GET /rs/routines/v1/{id}`**

  * endpoint added

  **`POST /rs/routines/v1/{id}/archive`**

  * endpoint added

  **`POST /rs/routines/v1/{id}/unarchive`**

  * endpoint added
</Update>
