---
title: "Creates or updates multiple patient's health targets"
method: POST
path: "/patients/{patient_id}/health-targets/bulk"
tags: ["health_targets"]
---

# Creates or updates multiple patient's health targets

`POST /patients/{patient_id}/health-targets/bulk`

## Path parameters

- `patient_id` integer, required

## Request body

- PatientHealthTargetRequest[]
  - `archive_reason` string, nullable
  - `category` string
  - `id` integer, nullable
  - `is_pinned` boolean, nullable
  - `meal_slots` string[], nullable — When target_period is meal; default breakfast, lunch, dinner
  - `patient_id` integer
  - `target_aggregator` 'avg' | 'min' | 'max' | 'sum' | 'count'
  - `target_name` string
  - `target_period` string — Allowed values depend on the target category. Nutrient and water targets use week, day, breakfast, lunch, dinner, snack, and meal (same target per configured meal slot). Other categories use their category-specific supported periods.
  - `target_range_high` number, nullable
  - `target_range_low` number, nullable
  - `target_range_type` 'above' | 'below' | 'within'

## Response `200`

successful operation

- PatientHealthTargetResponse[]
  - `archive_reason` 'changed' | 'deleted', nullable
  - `archived_time` string, date-time, nullable
  - `category` string, required
  - `created_by_user_id` number
  - `created_by_user_type` 'clinician' | 'patient' | 'system'
  - `created_time` string, date-time
  - `id` integer, nullable
  - `is_pinned` boolean, nullable
  - `meal_slots` string[], nullable
  - `patient_id` integer, required
  - `target_aggregator` 'avg' | 'min' | 'max' | 'sum' | 'count'
  - `target_name` string, required
  - `target_period` string — Allowed values depend on the target category. Nutrient and water targets use week, day, breakfast, lunch, dinner, snack, and meal. Other categories use their category-specific supported periods.
  - `target_range_high` number, nullable — upper end of the range; patient wants to stay below this value
  - `target_range_low` number, nullable — lower end of the range; patient wants to stay above this value
  - `target_range_type` 'above' | 'below' | 'within'
  - `updated_time` string, date-time

---

[API](https://skmtc.dev/rxfoodapp/apis/inneranalytics-mnt-server.md) · [All operations](https://skmtc.dev/rxfoodapp/apis/inneranalytics-mnt-server/llms.txt) · [OpenAPI document](https://skmtc.dev/rxfoodapp/apis/inneranalytics-mnt-server/revisions/a61b77b30e63?raw)
