---
title: "Claim Task Endpoint"
method: POST
path: "/projects/{project_id}/tasks/claim"
---

# Claim Task Endpoint

`POST /projects/{project_id}/tasks/claim`

## 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}/tasks/claim`
- Auth: none declared

Atomically claim a pending task. Returns ``claimed=False`` when
another worker holds the lock.

## Path parameters

- `project_id` string, required

## Request body

- ClaimTaskRequest: Body for POST /projects/{id}/tasks/claim and /tasks/release.
  - `task_id` string, required
  - `session_id` string, required

## Response `200`

Successful Response

- ClaimTaskResponse: Result of a claim attempt — ``claimed`` is False when another worker beat us to the lock.
  - `task_id` string, required
  - `claimed` boolean, required
  - `claimed_by` string, nullable
  - `sprint_item_id` string, nullable
  - `error` string, nullable
  - `blocking_item_id` string, nullable
  - `blocking_item_title` 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)
