---
title: "List Actions"
method: GET
path: "/actions"
tags: ["Proactive"]
---

# List Actions

`GET /actions`

Lists Proactive actions (Next Best Actions), mirroring the action feed users see in the UI.

### Scope
* An **organization-level** API key returns actions for every user in the organization.
* A **user-scoped** API key returns only that user's actions; the `owner_uuid` filter is ignored for user-scoped keys.

### Filtering
* `status` defaults to `pending`. Pass one or more of `pending`, `drafted`, `sent`, `dismissed`, `expired` to widen the set. Suppressed actions are never returned.
* `owner_uuid` narrows the result to a single owner (organization-level keys only).

### Pagination
* Cursor-based. Omit `cursor` for the first page; pass the response's `next_cursor` unchanged for the next. When `next_cursor` is absent, iteration is complete.
* `size` is clamped to a server-side maximum of 200 (default 50).

## Query parameters

- `owner_uuid` string
- `status` string[]
- `cursor` string
- `size` integer

## Response `200`

Successfully retrieved the matching actions

- ListProactiveActionsResponse
  - `data` ProactiveAction[]
    - `uuid` string, required — Unique identifier of the action
    - `entity_type` string, required — Type of the entity the action targets (e.g. crm_record)
    - `entity_id` string, required — Identifier of the entity the action targets
    - `owner_user_uuid` string, required — UUID of the user who owns the action
    - `action_type` string, required — Kind of action (e.g. send_email)
    - `title` string, required — Short title / next move
    - `signal_type` string, required — The parent signal's type (e.g. no_reply, close_date_risk). Empty when the action has no parent signal.
    - `severity` string, required — The parent signal's severity: high, medium, or low. Empty when absent.
    - `display_group` string, required — The deterministic feed section this action belongs to, derived from signal_type: At risk, You committed, Buying signals, Re-engage, Coordinate internally, CRM cleanup, Connect your tools, or Other.
    - `subject` string, required — Draft subject line, when the action is an email.
    - `draft_body` string, required — Drafted message body, when available.
    - `proposed_recipients` string[], required — Proposed recipients of the drafted message.
    - `proposed_slots` string[], required — Proposed meeting time slots, rendered in the rep's timezone.
    - `status` string, required — Lifecycle status: pending, drafted, sent, dismissed, or expired.
    - `external_url` string, required — URL of the drafted artifact in the external system, when available
    - `why` ProactiveActionWhy, required — The reasoning behind a Proactive action — the "why this suggestion" contract.
      - `rationale` string — Plain-language explanation of why this action is suggested.
      - `key_quote` ProactiveActionKeyQuote
        - `text` string
        - `speaker` string
        - `source_label` string
        - `source_url` string
      - `evidence` ProactiveActionEvidence[]
        - `label` string
        - `description` string
        - `impact` string
        - `source_label` string
        - `source_url` string
    - `generated_at` string, date-time, required — When the action was generated
    - `updated_at` string, date-time, required — When the action was last updated
    - `expires_at` string, date-time, required — When the action stops being valid and is no longer shown.
  - `next_cursor` string — Opaque cursor for the next page. Absent when there are no more results.

## Other responses

- `401` — Authentication failed - valid API key required
- `default` — Unexpected error occurred while processing the request

---

[API](https://skmtc.net/attention/apis/attention-service-v2.md) · [All operations](https://skmtc.net/attention/apis/attention-service-v2/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/attention/attention-service-v2/versions/5de55d3804cf/schema)
