---
title: "Get Actions Public"
method: GET
path: "/get-actions"
tags: ["public-api"]
---

# Get Actions Public

`GET /get-actions`

## Request

- Base URL: `https://api.trakkr.ai`
- URL: `https://api.trakkr.ai/get-actions`
- Auth: HTTP bearer

List committed actions and saved recommendations for a brand.

Open/active/pending reads also return suggestions awaiting a decision,
filtered by the same quick-win/category/source/type/lens/search/URL criteria.
Suggestions use their own IDs, total, and pagination; review or accept via
commit_opportunity, never manage_action. Historical reads exclude them.

This is the canonical "what should the brand do" surface — every signal in
Trakkr (audit, crawler, prompts, citations, competitors, traffic, reddit,
diagnose) gets synthesized into this queue with title, description, detail,
first_step, effort, impact, priority_score, action_data (the raw supporting
evidence), and a deep_link. Actions that carry them also return family,
page_id, page_url, and result (the measured before/after outcome). The
deprecated proof alias remains for existing integrations.

For an "AI search technical audit" view, filter:
  source=site_audit,crawler_monitoring  AND  category=technical

Read-only. Synthesis runs server-side on a cooldown; this endpoint never
triggers generation.

## Query parameters

- `brand_id` string, uuid, required: Brand UUID
- `status` string, nullable: Filter by action status. Use 'open' (default) for the live queue (pending + in_progress + snoozed), 'active' to include completed, or pass a single literal: pending, in_progress, completed, dismissed, snoozed.
- `category` string, nullable: Comma-separated categories: content, technical, competitive, optimization, citation, setup, reddit, diagnose.
- `action_type` string, nullable: Filter to a single action_type (e.g. 'add_llms_txt')
- `source` string, nullable: Filter by source: site_audit, crawler_monitoring, prompt_monitoring, citation_monitoring, diagnose, competitor_tracking, content_ideas, traffic_analytics, reddit, setup, manual, ai_synthesizer.
- `lens` string, nullable: Optional product-lens filter (e.g. 'crawler' for crawler-tab view).
- `quick_win` boolean, nullable: If true, only return high-impact / low-effort actions.
- `search` string, nullable: Text search across title, description, source, action_type.
- `url` string, nullable: Filter to actions scoped to this URL or path.
- `sort_by` string: priority_score | created_at | updated_at
- `sort_dir` string: asc or desc
- `limit` integer: Results per page
- `offset` integer: Pagination offset

## Response `200`

Successful Response

- ActionsPublicResponse: GET /get-actions response.
  - `actions` ActionPublicItem[], required
    - `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
  - `pagination` PaginationInfo, required: Pagination metadata.
    - `total` integer, required
    - `limit` integer, required
    - `offset` integer, required
    - `has_more` boolean, required
  - `suggestions` SuggestedAction[]
    - `opportunity_id` string, required
    - `title` string, required
    - `status` string, required
    - `family` string, required
    - `action_type` string, nullable
    - `description` string, nullable
    - `detail` string, nullable
    - `first_step` string, nullable
    - `impact` string, required
    - `effort` string, required
    - `source` string, nullable
    - `deep_link` string, required
  - `suggestion_total` integer
  - `note` string, 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)
