Skip to main content
The Interaction History API provides read access to the log of all customer interactions. Each record captures an offer presentation, click, acceptance, or other outcome. Results include the related offer and creative details.

Base path

/api/v1/interaction-history

Query interactions

GET /api/v1/interaction-history
Returns a paginated list of interaction records, ordered by timestamp (newest first). Supports filtering by customer, offer, creative, and interaction type.

Query parameters

ParameterRequiredTypeDescription
customerIdNostringFilter by customer ID.
offerIdNostringFilter by offer ID.
actionIdNostringLegacy alias for offerId.
creativeIdNostringFilter by creative ID.
treatmentIdNostringLegacy alias for creativeId.
typeNostringFilter by interaction type (e.g., "impression", "click", "accept").
limitNointegerMaximum results per page. Default 25.
cursorNostringCursor for keyset pagination.

Response 200

{
  "data": [
    {
      "id": "ih_001",
      "tenantId": "t_001",
      "customerId": "CUST001",
      "offerId": "off_abc123",
      "creativeId": "cr_001",
      "channelId": "ch_email",
      "interactionType": "click",
      "outcomeTypeKey": "click",
      "direction": "outbound",
      "timestamp": "2026-03-15T14:30:00.000Z",
      "context": {},
      "response": {},
      "outcome": {},
      "offer": {
        "id": "off_abc123",
        "name": "Platinum Card Upgrade",
        "status": "active"
      },
      "creative": {
        "id": "cr_001",
        "name": "Email Hero Variant A",
        "channel": {
          "id": "ch_email",
          "name": "Email"
        }
      }
    }
  ],
  "pagination": {
    "total": 1500,
    "limit": 25,
    "hasMore": true,
    "nextCursor": "ih_xyz789"
  }
}

Error codes

CodeReason
401Missing or invalid API key.
429Rate limit exceeded.

Role requirements

MethodMinimum role
GETviewer

Decision Traces

For forensic decision pipeline analysis, see the Decision Traces API.