---
title: "Submit one terminal care team challenge run result"
method: POST
path: "/patients/{patient_id}/care-team-challenges/results"
tags: ["careteam", "achievements"]
---

# Submit one terminal care team challenge run result

`POST /patients/{patient_id}/care-team-challenges/results`

## Path parameters

- `patient_id` integer, required

## Request body

- CreateCareTeamChallengeRunResultRequest
  - `active_dates` string[]
  - `challenge_id` string, required
  - `client_run_id` string, required
  - `plant_entries` CareTeamChallengePlantEvidence[]
    - `first_counted_at` string, date-time, required
    - `local_date` string, date, required
    - `plant_key` string, required
    - `source` 'manual' | 'meal_auto', required
    - `source_meal_ids` integer[]
  - `qualification_rule_version` 'v1', required
  - `run_timezone` string, required
  - `selected_duration_days` 3 | 5 | 7, required
  - `start_local_date` string, date, required
  - `task_days` CareTeamChallengeTaskDayEvidence[]
    - `completed` boolean, required
    - `completed_at` string, date-time, nullable
    - `completion_source` 'manual' | 'auto', required
    - `day_index` integer, required
    - `local_date` string, date, required
    - `source_meal_ids` integer[]
    - `task_id` string, required
  - `terminal_reason` 'duration_ended' | 'swapped', required
  - `total_paused_days` integer, required

## Response `200`

Persisted authoritative challenge result

- CareTeamChallengeRunResultResponse
  - `challenge_id` string, required
  - `client_run_id` string, required
  - `completed_task_day_count` integer, nullable
  - `conflict` boolean, required
  - `created_time` string, date-time, required
  - `distinct_plant_count` integer, nullable
  - `goal_status` 'met' | 'not_met' | 'not_applicable', required
  - `id` integer, required
  - `qualification_rule_version` string, required
  - `replayed` boolean, required
  - `required_task_day_count` integer, nullable
  - `run_timezone` string, required
  - `selected_duration_days` integer, required
  - `source` 'live' | 'backfill', required
  - `start_local_date` string, date, required
  - `terminal_at` string, date-time, required
  - `terminal_reason` 'duration_ended' | 'swapped', required
  - `total_paused_days` integer, required

## Other responses

- `400` — Invalid or unverifiable bounded evidence
- `404` — Achievement resource is unavailable to this actor
- `409` — Challenge run overlaps an existing terminal result
- `429` — Patient challenge-result submission limit exceeded

## Changes

- **2026-09-15** `8d4f658e79b1` — 1 info
  - endpoint added

[Change history](https://skmtc.dev/rxfoodapp/apis/inneranalytics-mnt-server/changes/patients/:patient_id/care-team-challenges/results/post.md)

---

[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)
