EventSignal

API Guide

EventSignal crawls public event sources into its own database. PartyPassport and EventKingz pull export-ready records on their own cadence with API keys, cursors, and status endpoints.

Current stance: no consumer webhooks. EventSignal records export_attempts when a consumer pulls data, but the consumer owns import cadence, retries, and final business decisions.

Consumer Exports

GET /api/v1/exports/party_passport/events

PartyPassport Events

Normalized event candidates for draft creation and review gates.

auto_publish review
curl -sS \
  -H "X-Event-Source-Api-Key: dev-party-passport-key" \
  "http://localhost:3000/api/v1/exports/party_passport/events?limit=25"
GET /api/v1/exports/eventkingz/leads

EventKingz Leads

Jamaica event lead data with public source, ticket, image, organizer, and contact fields when available.

auto_publish review lead_only
curl -sS \
  -H "X-Event-Source-Api-Key: dev-eventkingz-key" \
  "http://localhost:3000/api/v1/exports/eventkingz/leads?limit=25"

Status And Health

GET /api/v1/exports/party_passport/status

PartyPassport Export Status

Latest pull attempt, available candidate counts, and source health for the PartyPassport key.

export_attempts provider_health
curl -sS \
  -H "X-Event-Source-Api-Key: dev-party-passport-key" \
  "http://localhost:3000/api/v1/exports/party_passport/status"
GET /api/v1/providers/health

Provider Health

Provider run status, field null rates, parser failures, and alert-ready signals.

alerts null_rates
curl -sS \
  -H "X-Event-Source-Api-Key: dev-party-passport-key" \
  "http://localhost:3000/api/v1/providers/health"

Pagination Loop

  • Start with limit and optional since.
  • Process every item in data.
  • Request the next page with meta.next_cursor.
  • Stop when next_cursor is null.

Local Verification

bin/rails db:seed
PROVIDERS=ticket_gateway,first_in_line,caribtix,apsession,hotspotja,xticketz \
  LIMIT=2 bin/rails exports:verify_fixture_coverage