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

# get_action_outcome_history

> Returns recent actions recorded for the brand with their measured 30-day outcome deltas where the measurement window has resolved.

## What it does

Returns recent actions Citable has recorded for the brand, with their measured 30-day outcome deltas. This is the canonical "what did we do, and what happened next" history — the foundation for measuring whether actions actually move citation rate and share of voice over time.

## When to use

* "What did Citable do for me last month?"
* "Which actions actually moved citations?"
* "Show me the best-performing content actions."
* "What's still measuring (pending outcomes)?"

## When not to use

* The user wants live recommendations — use [`get_geo_priorities`](/mcp/reads/get-geo-priorities).
* The user wants current visibility metrics — use [`get_topical_authority`](/mcp/reads/get-topical-authority) or [`get_paid_ads_insights`](/mcp/reads/get-paid-ads-insights).
* The user wants a single action's tree of child artifacts — use [`get_action_with_children`](/mcp/reads/get-action-with-children).

## Inputs

| Field           | Type                                                                | Default | Meaning                                                                  |
| --------------- | ------------------------------------------------------------------- | ------- | ------------------------------------------------------------------------ |
| `actionType`    | `'content' \| 'outreach' \| 'technical' \| 'operational' \| 'paid'` | none    | Filter by action category.                                               |
| `outcomeStatus` | `'pending' \| 'measured' \| 'inconclusive' \| 'failed'`             | none    | `pending` = still inside the 30-day window. `measured` = delta computed. |
| `limit`         | `int` (1–100)                                                       | `20`    | Page size.                                                               |

Brand id is resolved from auth.

## Response

```json theme={null}
{
  "rows": [
    {
      "id": "act_01H...",
      "action_type": "content",
      "action_subtype": "linkedin_post",
      "emitted_by": "mcp:create_content_draft",
      "executor": "human:cole@getcitable.com",
      "posted_url": "https://linkedin.com/posts/...",
      "emitted_at": "2026-04-10T14:22:00Z",
      "executed_at": "2026-04-11T09:15:00Z",
      "outcome_status": "measured",
      "outcome_resolved_at": "2026-05-11T09:15:00Z",
      "baseline_metrics": { "citation_rate": 0.31, "mention_rate": 0.47 },
      "measurement_metrics": { "citation_rate": 0.42, "mention_rate": 0.58 },
      "delta_metrics": { "citation_rate": 0.11, "mention_rate": 0.11 },
      "intent": "engagement",
      "validation_status": "ok"
    }
  ],
  "totalReturned": 1,
  "status": "ok"
}
```

## Notes

* **Outcome window is 30 days.** A row with `outcome_status: 'pending'` means the measurement window hasn't completed yet for that action. `outcome_resolved_at` is null until then.
* `delta_metrics` is only populated when `outcome_status === 'measured'`. For `'inconclusive'` or `'failed'` outcomes, inspect `measurement_metrics` and `baseline_metrics` directly.
* Brand-scoped at the query layer. No cross-brand reads possible from any API key.
