> ## Documentation Index
> Fetch the complete documentation index at: https://docs.attention.com/llms.txt
> Use this file to discover all available pages before exploring further.

# List 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).



## OpenAPI

````yaml /api-reference/openapi.json get /actions
openapi: 3.0.1
info:
  title: Attention Service V2
  description: Attention Service API V2
  termsOfService: https://www.attention.com/terms-of-use
  contact:
    name: Attention Team
    url: https://docs.attention.com/welcome
    email: support@attention.com
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0.html
  version: 1.8.0
servers:
  - url: https://api.attention.tech/v2
security:
  - APIKeyHeader: []
paths:
  /actions:
    get:
      tags:
        - Proactive
      summary: List Actions
      description: >-
        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).
      operationId: listProactiveActions
      parameters:
        - name: owner_uuid
          in: query
          description: >-
            Filter to a single owner user UUID. Only honored for
            organization-level API keys; ignored for user-scoped keys.
          schema:
            type: string
        - name: status
          in: query
          description: >-
            Lifecycle statuses to include. Defaults to pending only. Suppressed
            actions are never returned.
          schema:
            type: array
            items:
              type: string
              enum:
                - pending
                - drafted
                - sent
                - dismissed
                - expired
        - name: cursor
          in: query
          description: >-
            Opaque pagination cursor from a previous response's next_cursor.
            Omit for the first page.
          schema:
            type: string
        - name: size
          in: query
          description: Maximum number of actions to return per page (default 50, max 200)
          schema:
            maximum: 200
            minimum: 1
            type: integer
      responses:
        '200':
          description: Successfully retrieved the matching actions
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ListProactiveActionsResponse'
        '401':
          description: Authentication failed - valid API key required
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
        default:
          description: Unexpected error occurred while processing the request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    ListProactiveActionsResponse:
      type: object
      properties:
        data:
          type: array
          items:
            $ref: '#/components/schemas/ProactiveAction'
        next_cursor:
          type: string
          description: >-
            Opaque cursor for the next page. Absent when there are no more
            results.
          example: >-
            MjAyNi0wMS0xNVQwOTowMDowMFp8M2ZhODVmNjQtNTcxNy00NTYyLWIzZmMtMmM5NjNmNjZhZmE2
    Error:
      type: object
      properties:
        id:
          type: string
          description: A unique identifier for the error.
        status:
          type: string
          description: >-
            The HTTP status code applicable to this problem, expressed as a
            string value.
        code:
          type: string
          description: An application-specific error code, expressed as a string value.
        title:
          type: string
          description: A short, human-readable summary of the problem.
        detail:
          type: string
          description: >-
            A human-readable explanation specific to this occurrence of the
            problem.
        source:
          type: object
          properties:
            pointer:
              type: string
            parameter:
              type: string
        meta:
          type: object
          properties: {}
      example:
        id: not_found_error
        status: '404'
        code: '404'
        title: Not Found Error
        detail: The requested resource was not found
        source:
          pointer: /data/attributes/id
    ProactiveAction:
      type: object
      description: A Proactive Next Best Action as shown to the user.
      required:
        - uuid
        - entity_type
        - entity_id
        - owner_user_uuid
        - action_type
        - title
        - signal_type
        - severity
        - display_group
        - subject
        - draft_body
        - proposed_recipients
        - proposed_slots
        - status
        - external_url
        - why
        - generated_at
        - updated_at
        - expires_at
      properties:
        uuid:
          type: string
          description: Unique identifier of the action
        entity_type:
          type: string
          description: Type of the entity the action targets (e.g. crm_record)
        entity_id:
          type: string
          description: Identifier of the entity the action targets
        owner_user_uuid:
          type: string
          description: UUID of the user who owns the action
        action_type:
          type: string
          description: Kind of action (e.g. send_email)
        title:
          type: string
          description: Short title / next move
        signal_type:
          type: string
          description: >-
            The parent signal's type (e.g. no_reply, close_date_risk). Empty
            when the action has no parent signal.
        severity:
          type: string
          description: >-
            The parent signal's severity: high, medium, or low. Empty when
            absent.
        display_group:
          type: string
          description: >-
            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:
          type: string
          description: Draft subject line, when the action is an email.
        draft_body:
          type: string
          description: Drafted message body, when available.
        proposed_recipients:
          type: array
          items:
            type: string
          description: Proposed recipients of the drafted message.
        proposed_slots:
          type: array
          items:
            type: string
          description: Proposed meeting time slots, rendered in the rep's timezone.
        status:
          type: string
          description: 'Lifecycle status: pending, drafted, sent, dismissed, or expired.'
        external_url:
          type: string
          description: URL of the drafted artifact in the external system, when available
        why:
          $ref: '#/components/schemas/ProactiveActionWhy'
        generated_at:
          type: string
          format: date-time
          description: When the action was generated
        updated_at:
          type: string
          format: date-time
          description: When the action was last updated
        expires_at:
          type: string
          format: date-time
          description: When the action stops being valid and is no longer shown.
      example:
        uuid: 3fa85f64-5717-4562-b3fc-2c963f66afa6
        entity_type: account
        entity_id: 0018c00002ExampleAAA
        owner_user_uuid: a1b2c3d4-e5f6-7a8b-9c0d-ef1234567890
        action_type: send_email
        title: Follow up on the renewal
        signal_type: no_reply
        severity: medium
        display_group: Re-engage
        subject: 'Re: renewal'
        draft_body: >-
          Hi Jane,


          Following up on the renewal we discussed — do the proposed terms still
          work on your side?


          Best,

          Alex
        proposed_recipients:
          - jane.doe@example.com
        proposed_slots: []
        status: pending
        external_url: ''
        why:
          rationale: No reply in 8 days and the opportunity's close date is this month.
          key_quote:
            text: Let's circle back next week.
            speaker: Jane Doe
            source_label: Call on 2026-01-08
            source_url: https://example.com/conversations/abc123
          evidence:
            - label: No reply in 8 days
              description: Last outreach was 8 days ago with no response.
              impact: negative
              source_label: Email thread
              source_url: https://example.com/mail/thread/123
        generated_at: '2026-01-15T09:00:00.000Z'
        updated_at: '2026-01-15T09:00:00.000Z'
        expires_at: '2026-01-22T09:00:00.000Z'
    ProactiveActionWhy:
      type: object
      description: >-
        The reasoning behind a Proactive action — the "why this suggestion"
        contract.
      properties:
        rationale:
          type: string
          description: Plain-language explanation of why this action is suggested.
        key_quote:
          $ref: '#/components/schemas/ProactiveActionKeyQuote'
        evidence:
          type: array
          items:
            $ref: '#/components/schemas/ProactiveActionEvidence'
    ProactiveActionKeyQuote:
      type: object
      properties:
        text:
          type: string
        speaker:
          type: string
        source_label:
          type: string
        source_url:
          type: string
    ProactiveActionEvidence:
      type: object
      properties:
        label:
          type: string
        description:
          type: string
        impact:
          type: string
        source_label:
          type: string
        source_url:
          type: string
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      name: Authorization
      in: header

````