---
title: "List Recent Action Cards"
method: GET
path: "/api/signals/action/recent"
tags: ["Trade Signals"]
---

# List Recent Action Cards

`GET /api/signals/action/recent`

## Request

- Base URL: `https://api.zerogex.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.zerogex.io/api/signals/action/recent`
- Auth: HTTP bearer

Chronological feed of persisted Action Cards (newest first).

Powers the public Action-Card feed on the website. Returns lightweight
rows — full payload is available per-card via ``/action/{card_id}``.

**Params:**
- ``underlying`` — optional symbol filter (e.g. ``SPY``).
- ``limit`` — page size (1–200, default 50).
- ``since_hours`` — optional rolling window (1–720h).

**Returns:**
```json
{
  "cards": [
    {
      "id": 4221, "underlying": "SPY",
      "timestamp": "2026-06-29T18:42:13Z",
      "pattern": "call_wall_fade", "action": "SELL_CALL_SPREAD",
      "tier": "0DTE", "direction": "bearish", "confidence": 0.68,
      "rationale": "Price pinned at call wall ...",
      "permalink": "/cards/4221"
    }
  ],
  "count": 1
}
```

STAND_DOWN Cards are not persisted by the engine and therefore never
appear in this feed.

## Query parameters

- `underlying` string, nullable
- `limit` integer
- `since_hours` integer, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/zerogex/apis/zerogex-api.md) · [All operations](https://skmtc.dev/zerogex/apis/zerogex-api/llms.txt) · [OpenAPI document](https://skmtc.dev/zerogex/apis/zerogex-api/revisions/753b26bf0592?raw)
