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

# List actions

> GET /v1/sites/{site_id}/actions

Action Center cards for the site: what to do next, and for done cards, what was measured afterwards. Read-only — mark cards done in the dashboard, where the before-measurement is taken. Dismissed cards are left out unless `status=all`.

## Path parameters

**site\_id** `string` *required*

The site's id, from [List sites](/api-reference/endpoints/list-sites).

## Query parameters

**status** `enum\<string\>` (default: open)

One of: `open`, `done`, `all`.

## Response

**data** `object[]`

**properties**

**id** `string`

**title** `string`

**why** `string`

The evidence, in counts.

**detail** `string`

What to do.

**category** `string`

**impact** `enum\<string\>`

One of: `High`, `Medium`, `Low`.

**effort** `string`

**target\_metric** `enum\<string\>`

The one metric this card is measured on. One of: `mention`, `citation`, `coverage`.

**kind** `enum\<string\>`

One of: `one_off`, `ongoing`. Ongoing cards (community answers, video, refreshing posts) recur every `cadence`.

**cadence** `string`

**period** `string`

For ongoing cards, the current period.

**status** `enum\<string\>`

One of: `open`, `done`, `dismissed`.

**target\_prompts** `object[]`

**properties**

**id** `string`

**text** `string`

**target\_platforms** `string[]`

**target\_url** `string`

**created\_at** `string`

**outcome** `object`

Null until the card is marked done.

**properties**

**marked\_done\_at** `string`

**result\_due** `string`

When the after-window closes and a verdict is reached.

**verdict** `string`

Null while measuring.

**summary** `string`

The verdict in words, with the counts behind it.

```bash cURL theme={"system"}
curl "https://api.rankraft.ai/v1/sites/3f2c9a10-7b1e-4c55-9d2a-1a2b3c4d5e6f/actions?status=open" \
  -H "X-API-Key: $RANKRAFT_API_KEY"
```

```javascript JavaScript theme={"system"}
// npm install rankraft-js · https://www.npmjs.com/package/rankraft-js
import { RankRaft } from "rankraft-js";

const rr = new RankRaft(); // reads RANKRAFT_API_KEY

const actions = await rr.sites.actions({ site_id: "3f2c9a10-7b1e-4c55-9d2a-1a2b3c4d5e6f", status: "open" });
for (const a of actions) console.log(a.impact, a.title, a.target_metric);
```

```python Python theme={"system"}
# pip install rankraft-py · https://pypi.org/project/rankraft-py/
from rankraft import RankRaft

with RankRaft() as rr:  # reads RANKRAFT_API_KEY
    for a in rr.sites.actions(site_id="3f2c9a10-7b1e-4c55-9d2a-1a2b3c4d5e6f", status="open"):
        print(a["impact"], a["title"], a["target_metric"])
```

```json 200 theme={"system"}
{
  "data": [
    {
      "id": "b7e2a4c1-3d5f-4e6a-9b8c-0d1e2f3a4b5c",
      "title": "Get into \"Best achar brands 2026\" on foodblog.pk",
      "why": "AI cited it in 6 answers to 2 of your questions on 4 days. In 5 of those answers a competitor was named and Misali Foods was not.",
      "detail": "Email the author…",
      "category": "Off-site",
      "impact": "High",
      "effort": "Medium effort",
      "target_metric": "mention",
      "kind": "one_off",
      "cadence": null,
      "period": null,
      "status": "open",
      "target_prompts": [
        { "id": "8a1e4b2c-6d0f-4e3a-9b51-2c7d8e9f0a1b", "text": "best mixed pickle brand" }
      ],
      "target_platforms": ["chatgpt", "ai_overviews"],
      "target_url": "https://foodblog.pk/best-achar-brands",
      "created_at": "2026-10-10T07:00:00.000Z",
      "outcome": null
    }
  ]
}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.