Award history
GET /v1/ep/webhook/awards
List all of your own awards in a tenant (across every user), newest first, paginated. Use it to reconcile everything you’ve credited in that tenant.
Request
Section titled “Request”| Param | In | Required | Notes |
|---|---|---|---|
tenantId | query | yes | Must be one of your allowedTenants. |
limit | query | no | Page size. Default 20, max 100. |
cursor | query | no | Opaque nextCursor from a previous page. |
Sign over the tenantId (i.e. {X-Timestamp}.{tenantId}, no body). A
suspended partner may still read history.
Response — 200 OK
Section titled “Response — 200 OK”{ "tenantId": "7g1RP3", "items": [ { "epTransactionId": "ep_tx_01HX...", "orderId": "order-2026-0001", "userEmail": "user@example.com", "points": 50, "note": "Order #2026-0001 cashback", "awardedAt": "2026-06-17T08:21:09.000Z" } ], "nextCursor": null}| Field | Type | Notes |
|---|---|---|
items[].epTransactionId | string | Ledger transaction id of the award. |
items[].orderId | string | null | The orderId you sent on that award. |
items[].userEmail | string | The recipient the EP was credited to. |
items[].points | integer | EP credited in that award. |
items[].note | string | null | The note you sent, if any. |
items[].awardedAt | string | ISO-8601 award time. |
nextCursor | string | null | Pass back as cursor for the next page. null = last page. |
Errors use the same contract: 401 INVALID_SIGNATURE / TIMESTAMP_OUT_OF_RANGE,
403 TENANT_NOT_ALLOWED.
Example (Node.js)
Section titled “Example (Node.js)”async function listAwards(tenantId, { limit = 20, cursor } = {}) { const timestamp = Date.now().toString(); const signature = crypto .createHmac("sha256", SECRET) .update(`${timestamp}.${tenantId}`) // sign the tenantId, no body .digest("hex");
const qs = new URLSearchParams({ tenantId, limit: String(limit) }); if (cursor) qs.set("cursor", cursor);
const res = await fetch(`${BASE_URL}/v1/ep/webhook/awards?${qs}`, { headers: { "X-Api-Key": API_KEY, "X-Timestamp": timestamp, "X-Signature": signature }, }); return res.json(); // { tenantId, items, nextCursor }}
// Page through the full history:let cursor;do { const page = await listAwards("7g1RP3", { cursor }); for (const a of page.items) console.log(a.awardedAt, a.userEmail, a.orderId, a.points); cursor = page.nextCursor;} while (cursor);