---
title: "Set Sprint"
method: POST
path: "/projects/{project_id}/goal/sprint"
---

# Set Sprint

`POST /projects/{project_id}/goal/sprint`

## Request

- Base URL: `https://usemeridian.us` (the document declares no server; this is the origin it was published from)
- URL: `https://usemeridian.us/projects/{project_id}/goal/sprint`
- Auth: none declared

v0.5.2 — update only the sprint field.

Any team member can update the sprint — no ownership check.
Returns the new goal version.

## Path parameters

- `project_id` string, required

## Request body

- SetSprintRequest: Body for POST /projects/{id}/goal/sprint (v0.5.2). Any team member can update the sprint — no ownership check.
  - `sprint` string, required
  - `session_id` string, nullable: Optional session identifier for logging.
  - `expected_updated_at` string, nullable: fc779141 — the current focus's field_updated_at stamp the edit was based on. A stale stamp returns 409 with the current value and writes nothing; omit for last-write-wins.
  - `source` unknown

## Response `200`

Successful Response

- GoalState: A goal-state row. Content is decoded back to its original form (dict if it was stored as JSON, str otherwise). ``ambient_tasks`` (v0.4.2/3) carries the last few task descriptions so cold sessions read recent activity inline with the directive they get from a single ``get_goal`` call — no extra round trip. ``north_star`` and ``sprint`` (v0.5.2) are the structured goal hierarchy fields. Both are None when not yet set.
  - `id` string, required
  - `project_id` string, required
  - `content` union, required
    - object
    - string
  - `version` integer, required
  - `created_at` string, required
  - `updated_at` string, required
  - `ambient_tasks` object[], nullable
  - `north_star` string, nullable
  - `sprint` string, nullable
  - `north_star_inherited` boolean, nullable
  - `north_star_source_project_id` string, nullable
  - `xml` string, nullable
  - `cache_blocks` object[], nullable
  - `coherence_warning` object, nullable
  - `field_ages` object, nullable
  - `field_updated_at` object, nullable
  - `decisions` string, nullable

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/usemeridian/apis/meridian.md) · [All operations](https://skmtc.dev/usemeridian/apis/meridian/llms.txt) · [OpenAPI document](https://skmtc.dev/usemeridian/apis/meridian/revisions/f37a894bd374?raw)
