---
title: "Update advisor action statuses"
method: POST
path: "/api/v1/alpha/advisor-action-statuses/update"
tags: ["alpha"]
---

# Update advisor action statuses

`POST /api/v1/alpha/advisor-action-statuses/update`

## Request

- Base URL: `https://point11.ai`
- URL: `https://point11.ai/api/v1/alpha/advisor-action-statuses/update`
- Auth: one of:
  - HTTP bearer
  - OAuth 2 (authorization code, authorization URL `https://auth.point11.ai/oauth2/authorize`, token URL `https://auth.point11.ai/oauth2/token`)

Set the status of up to 100 Advisor actions at once as the caller (the member, the operator viewing as them, or the API key, recorded on each event): open, completed, or dismissed with one reason for every action. All or nothing: an id the organization holds no action by changes none of them. Each action moves as alpha_advisor_actions_update_v2 moves one and becomes the caller's (autotracking stops changing its status until automation is restored); one already in that status keeps it (changed false once it is the caller's). Answers each action's status and the events recorded; a retried Idempotency-Key writes nothing and answers the same events. alpha_advisor_action_selections_list lists the ids a status filter holds.

## Headers

- `Point11-Organization` string, uuid
- `Idempotency-Key` string, uuid, required

## Request body

- AlphaAdvisorActionStatusesUpdateRequest
  - `actionIds` string[], required: The actions to change, up to 100
  - `status` 'open' | 'completed' | 'dismissed', required: open: work still to do; completed: done; dismissed: won't do
  - `dismissalReason` string: Why, for a dismissal (required there, refused elsewhere): kept on each action

## Response `200`

Success.

- AlphaAdvisorActionStatusesUpdateResponse
  - `data` object[], required: Each action named, in the order named
    - `id` string, uuid, required
    - `status` 'open' | 'completed' | 'dismissed', required
    - `state` 'acknowledged' | 'in_progress' | 'done' | 'dismissed', required: acknowledged and in_progress are Open; done is Completed
    - `changed` boolean, required: False when it already had the status and was already the caller's (manual)
    - `eventIds` string[], required: Every event recorded, in order: the status change and the change of control when the caller took it from automation; empty when it changed nothing
  - `changedCount` integer, required: How many actions changed (changed true)

## Other responses

- `400`: The input, query, or Idempotency-Key is invalid.
- `401`: The bearer is missing, expired, or not accepted.
- `402`: Billing refused the write: the code names the reason and `details.reason` carries it.
- `403`: The credential lacks the operation's scope or role, or the operation needs a different door.
- `404`: The resource or organization does not exist for this caller.
- `405`: This path takes another HTTP method, named in `Allow`.
- `409`: The request conflicts with current state or with prior use of its Idempotency-Key.
- `413`: The request, or the answer it asks for, is too large; narrow it.
- `429`: The credential's rate budget is spent; retry after `Retry-After` seconds.
- `500`: An unexpected server failure; retry later. Only `request_id` identifies it.
- `503`: A dependency is temporarily unavailable; retry after `Retry-After` seconds.
- `default`: Another status a product answers for its own refusal (for example `415` for an unsupported attachment); branch on `code`.

---

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