KickPulse REST + WebSocket API

Everything you need to embed live fan engagement into your matchday app.

p50 latency

38 ms

TLS

1.3 · mTLS optional

SDKs

JS · Swift · Kotlin

Authentication

All bearer endpoints require an API key. Public endpoints (like fan submission) accept an event-scoped token issued at QR generation time.

Authorization: Bearer kp_live_1a2b3c…
GET/v1/eventsbearer

List events

Returns paginated events for the workspace.

Example response

{
  "data": [{
    "id": "evt_signal_iron",
    "name": "Northside FC vs Riverside United",
    "venue": "Signal Iron Arena",
    "status": "live",
    "target": 5000,
    "meter": 74
  }],
  "next_cursor": null
}

cURL

curl -X GET https://api.kickpulse.app/v1/events \
  -H "Authorization: Bearer $KICKPULSE_KEY" \
  -H "Content-Type: application/json"

Realtime channels

Subscribe over WebSocket to push updates directly to your matchday screen or app.

const ws = new WebSocket("wss://rt.kickpulse.app/v1/events/evt_signal_iron");
ws.onmessage = (e) => {
  const evt = JSON.parse(e.data);
  // evt.type: "submission.approved" | "meter.tick" | "celebration.triggered"
};
submission.created
submission.approved
submission.featured
meter.tick
meter.100
celebration.triggered