Sideline Exchange/
Dashboard →

Start here

Push your first batch

Register a source, push a batch of observations, read the canonical fixture back — five minutes, one key.

Create a secret key in the dashboard (API keys → Create key) and register a source key under Sources. Every observation names the source it came from; a push from an unregistered source is refused with a problem document that says so.

1 · Push

Send a batch to POST /v1/observations. The Idempotency-Key header makes retries safe: replaying a batch with the same key returns the original receipt instead of applying twice. Validation is per observation — one bad record costs that record, not the batch.

Push
curl https://api.sidelineexchange.com/v1/observations \
  -H "Authorization: Bearer sk_test_…" \
  -H "Idempotency-Key: first-push-0001" \
  -H "Content-Type: application/json" \
  -d @batch.json

2 · The receipt

A 202 receipt tells you what was accepted and, per rejected observation, the JSON pointer and message. Processing is asynchronous: the workers resolve each observation to a canonical entity and apply it under the conflict policy.

3 · Read it back

List fixtures by team, competition or venue. Every response carries an ETag; send it back as If-None-Match and an unchanged answer costs a 304. The provenance object on each fixture names the observation behind every field — including yours.

Read
curl "https://api.sidelineexchange.com/v1/fixtures?competition=cmp_…&limit=50" \
  -H "Authorization: Bearer sk_test_…"

The exact shape of this