Hogsend
API Reference

Events API

Browse and inspect ingested events, and replay events through the ingestion pipeline.

Browse and inspect ingested events. All require the Authorization: Bearer <ADMIN_API_KEY> header.

Events

GET /v1/admin/events

List events with optional filters. Results are ordered by occurredAt descending.

Query Parameters

ParamTypeDefaultDescription
limitnumber50Results per page (1-100)
offsetnumber0Pagination offset
userIdstring--Filter by user ID
eventstring--Filter by event name
fromstring--ISO 8601 datetime lower bound
tostring--ISO 8601 datetime upper bound

Response 200

{
  "events": [
    {
      "id": "550e8400-e29b-41d4-a716-446655440000",
      "userId": "user_abc123",
      "event": "user:signed_up",
      "properties": { "plan": "pro", "source": "website" },
      "occurredAt": "2025-01-15T10:30:00.000Z"
    }
  ],
  "total": 1,
  "limit": 50,
  "offset": 0
}
curl -H "Authorization: Bearer your-admin-api-key" \
  "http://localhost:3002/v1/admin/events?event=user:signed_up&from=2025-01-01T00:00:00Z"

GET /v1/admin/events/{id}

Get a single event with its full properties.

Path Parameters

ParamTypeDescription
idstringEvent UUID

Response 200

{
  "event": {
    "id": "550e8400-e29b-41d4-a716-446655440000",
    "userId": "user_abc123",
    "event": "user:signed_up",
    "properties": { "plan": "pro", "source": "website" },
    "occurredAt": "2025-01-15T10:30:00.000Z"
  }
}

Response 404 -- Event not found.

curl -H "Authorization: Bearer your-admin-api-key" \
  http://localhost:3002/v1/admin/events/550e8400-e29b-41d4-a716-446655440000

Event Replay

POST /v1/admin/events/replay

Replay events through the ingestion pipeline. Useful for re-triggering journeys after fixing bugs or adding new journey definitions.

Request Body

{
  "eventIds": ["event-uuid-1", "event-uuid-2"],
  "limit": 100
}

Or filter-based replay:

{
  "filter": {
    "event": "user:signed_up",
    "userId": "user_abc123",
    "from": "2025-01-01T00:00:00Z",
    "to": "2025-01-15T00:00:00Z"
  },
  "limit": 500
}
FieldTypeRequiredDescription
eventIdsstring[]NoSpecific event UUIDs to replay
filterobjectNoFilter criteria (at least one of eventIds or filter required)
filter.eventstringNoEvent name filter
filter.userIdstringNoUser ID filter
filter.fromstringNoISO 8601 lower bound
filter.tostringNoISO 8601 upper bound
limitnumberNoMax events to replay

Response 200

{
  "replayed": 98,
  "errors": [
    { "eventId": "event-uuid-3", "error": "Event not found" }
  ]
}
curl -X POST http://localhost:3002/v1/admin/events/replay \
  -H "Authorization: Bearer your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "filter": { "event": "user:signed_up" },
    "limit": 100
  }'

On this page