Skip to main content

Alert Inbox

GET
Get the alert inbox with filtering and pagination.

Query Parameters

limit
number
default:"50"
Results per page (max: 100)
offset
number
default:"0"
Pagination offset
type
string
Filter by alert type: injury, arbitrage, political, finance, crowding, conflict, rumor

Response

{
  "success": true,
  "data": {
    "alerts": [
      {
        "id": "alert-uuid",
        "type": "injury",
        "subtype": "nfl",
        "headline": "Patrick Mahomes listed as questionable",
        "sentAt": "2025-01-28T10:00:00Z",
        "entity": {
          "slug": "patrick-mahomes",
          "displayName": "Patrick Mahomes"
        }
      }
    ],
    "pagination": {
      "total": 150,
      "limit": 50,
      "offset": 0
    },
    "unreadCount": 12
  }
}
curl "https://api.marketmotion.xyz/api/alerts/inbox?type=injury&limit=20"

Get Alert

GET
Get full alert details including entity context, related markets, and cross-venue data.

Path Parameters

id
string
required
Alert ID

Response

{
  "success": true,
  "data": {
    "id": "alert-uuid",
    "type": "injury",
    "subtype": "nfl",
    "headline": "Patrick Mahomes listed as questionable",
    "sentAt": "2025-01-28T10:00:00Z",
    "entity": {
      "slug": "patrick-mahomes",
      "displayName": "Patrick Mahomes",
      "entityType": "person",
      "attributes": { ... }
    },
    "relatedMarkets": [
      {
        "title": "Chiefs to win Super Bowl",
        "venue": "polymarket",
        "price": 0.35
      }
    ],
    "crossVenueData": { ... },
    "attribution": { ... },
    "engagement": {
      "read": true,
      "dismissed": false,
      "acted": false
    }
  }
}
curl "https://api.marketmotion.xyz/api/alerts/alert-uuid"

Alert Outcome

GET
Get outcome tracking data for an alert — how the market moved after the alert was sent.

Path Parameters

id
string
required
Alert ID

Response

{
  "success": true,
  "data": {
    "id": "alert-uuid",
    "type": "injury",
    "subtype": "nfl",
    "asset": "patrick-mahomes",
    "headline": "Mahomes listed as questionable",
    "sentAt": "2025-01-28T10:00:00Z",
    "hoursSinceAlert": 24,
    "outcomeTracked": true,
    "outcomeTrackedAt": "2025-01-29T10:00:00Z",
    "priceAtAlert": 0.35,
    "priceAt1h": 0.32,
    "priceAt4h": 0.30,
    "priceAt24h": 0.28,
    "priceAtResolution": 0.25,
    "priceChange1hBps": -300,
    "priceChange4hBps": -500,
    "priceChange24hBps": -700,
    "expectedDirection": "down",
    "actualDirection1h": "down",
    "actualDirection24h": "down",
    "directionCorrect": true,
    "outcomeScore": 0.85,
    "outcomeNotes": "Market moved as expected after injury downgrade"
  }
}
curl "https://api.marketmotion.xyz/api/alerts/alert-uuid/outcome"

Outcome Stats

GET
Get aggregate alert performance statistics.

Query Parameters

days
number
default:"30"
Lookback period in days
type
string
Filter by alert type
entity
string
Filter by entity slug

Response

{
  "success": true,
  "data": {
    "totalAlerts": 500,
    "trackedAlerts": 450,
    "directionAccuracy": 0.72,
    "averageScore": 0.65,
    "byType": {
      "injury": { "count": 200, "accuracy": 0.78 },
      "arbitrage": { "count": 100, "accuracy": 0.85 },
      "political": { "count": 80, "accuracy": 0.60 }
    }
  }
}
curl "https://api.marketmotion.xyz/api/alerts/outcomes/stats?days=30&type=injury"

Top Outcomes

GET
Get top-performing alerts by outcome score.

Query Parameters

limit
number
default:"10"
Maximum results (max: 50)

Response

{
  "success": true,
  "data": [
    {
      "id": "alert-uuid",
      "type": "injury",
      "headline": "Mahomes listed as out",
      "outcomeScore": 0.95,
      "priceChange24hBps": -1200,
      "directionCorrect": true
    }
  ]
}
curl "https://api.marketmotion.xyz/api/alerts/outcomes/top?limit=10"