---
title: "Manage Action Public"
method: POST
path: "/manage-action"
tags: ["public-api"]
---

# Manage Action Public

`POST /manage-action`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/manage-action`
- Auth: HTTP bearer

Act on a single recommendation in the brand action queue.

Pair with /get-actions (which is read-only): list the queue, then move one
action with this endpoint. One explicit verb per call, never a destructive
default:
  complete | dismiss | reopen | start | snooze | unsnooze |
  pin | unpin | assign | note

snooze needs snooze_until (ISO date or datetime, must be in the future).
assign needs assignee (a brand member user id). note needs note text.
Editor access to the brand is required, the same bar the in-product Actions
page enforces.

## Request body

- ManageActionRequest: POST /manage-action request.
  - `brand_id` string, uuid, required
  - `action_id` string, uuid, required
  - `action` string, required
  - `note` string, nullable
  - `snooze_until` string, nullable
  - `assignee` string, nullable

## Response `200`

Successful Response

- ManageActionResponse: POST /manage-action response.
  - `ok` boolean, required
  - `action` ActionPublicItem: Single brand_actions row, shaped for external consumers.
    - `id` string, required
    - `title` string, required
    - `description` string, nullable
    - `detail` string, nullable
    - `first_step` string, nullable
    - `category` string, required
    - `action_type` string, nullable
    - `effort` string, required
    - `impact` string, required
    - `priority_score` integer, nullable
    - `priority_level` string, nullable
    - `status` string, required
    - `source` string, nullable
    - `time_horizon` string, nullable
    - `affected_models` string[], nullable
    - `affected_query_count` integer, nullable
    - `deep_link` string, nullable
    - `pinned` boolean
    - `snoozed_until` string, nullable
    - `action_data` object, nullable
    - `execution` object, nullable
    - `family` string, nullable
    - `page_id` string, nullable
    - `page_url` string, nullable
    - `result` object, nullable
    - `proof` object, nullable
    - `created_at` string, required
    - `updated_at` string, required
    - `completed_at` string, nullable
  - `note_added` boolean, nullable

## Other responses

- `401`: Missing, malformed, or expired credentials
- `402`: The current plan does not fund this operation
- `403`: Invalid credentials, missing brand access, or insufficient role
- `422`: Validation Error
- `429`: Rate limit exceeded
- `500`: The operation failed
- `503`: Authentication, entitlement, or a required dependency is temporarily unavailable

---

[API](https://skmtc.dev/trakkr/apis/trakkr-api.md) · [All operations](https://skmtc.dev/trakkr/apis/trakkr-api/llms.txt) · [OpenAPI document](https://skmtc.dev/trakkr/apis/trakkr-api/revisions/189a9e76b8d5?raw)
