---
title: "Tick an action item done, or open it again."
method: POST
path: "/strategy/action-items/{actionItemId}/complete"
tags: ["Strategy"]
---

# Tick an action item done, or open it again.

`POST /strategy/action-items/{actionItemId}/complete`

## Request

- Base URL: `https://docs.sleeperhit.studio/api/v1`
- URL: `https://docs.sleeperhit.studio/api/v1/strategy/action-items/{actionItemId}/complete`
- Auth: HTTP bearer

As its checkbox on the Strategy page. `{ "completed": false }` opens it again; the same call twice leaves it as it is. Free. Scope: `story:write`.

## Request body

- CompleteStrategyActionItemRequest
  - `completed` boolean: `false` opens it again.

## Response `200`

The action item as it is now.

- StrategyActionItemEnvelope
  - `actionItem` StrategyActionItemWithPursuit, required
    - `id` string, required
    - `title` string, required
    - `detail` string, nullable, required
    - `dueDate` string, date-time, nullable, required
    - `completedAt` string, date-time, nullable, required
    - `pursuit` object, required
      - `id` string, required
      - `title` string, required

## Other responses

- `400`: `validation_failed`: the message names the field.
- `401`: Missing, malformed, revoked, or expired API key.
- `403`: API key is valid but lacks the scope, is blocked by IP allowlist, or the account is disabled.
- `404`: `strategy_item_not_found`: no such row in your Strategy, or it is another writer's.
- `429`: Rate limit for this API key + IP + route family was exceeded.
- `500`: The API failed unexpectedly. Safe to retry with the same Idempotency-Key.
- `503`: `strategy_unavailable`: Strategy, or its watches, is switched off right now.

---

[API](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api.md) · [All operations](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/llms.txt) · [OpenAPI document](https://skmtc.dev/sleeperhit/apis/sleeper-hit-studio-story-api/revisions/4534f5d25540?raw)
