Integration Lab · Public protocol preview
Test the feed contract in your browser.
Run a repeatable live-soccer scenario through CDS v1—REST discovery and snapshots, WebSocket updates, and cursor recovery. No sales call is required for this protocol preview.
- Deterministic fixture
- No live upstream
- Live phase only
- Non-production
- No credentials required
This is an interactive protocol simulator using the same resource shapes, cursor rules, and lifecycle as the standalone CDS v1 Integration Lab. It cannot access the enterprise betting platform.
Interactive protocol simulator
Inspect REST state. Then replay the stream.
Everything below runs locally in this browser with the deterministic v1 fixture. No credential is sent and no production system is contacted.
/v1/accessDiscover the contract version, enabled capabilities, and connection limits.
{
"environment": "sandbox",
"api_version": "v1",
"contract_version": "1.0.0",
"customer_id": "cus_lab_local",
"expires_at": null,
"scopes": [
"access:read",
"coverage:read",
"data:read",
"replay:read"
],
"capabilities": {
"rest_snapshots": true,
"cursor_recovery": true,
"websocket_streaming": true,
"deterministic_replay": true,
"live": true,
"prematch": false
},
"limits": {
"max_concurrent_streams": "1",
"max_changes_per_page": "100",
"stream_ticket_ttl_seconds": "60"
}
}Connection lifecycle · cds.v1
Live soccer lifecycle
Ticket → snapshot → changes → disconnect → cursor resume → heartbeat.
—Waiting
- Connection
- Ready
- Last activity
- Awaiting connection
- Committed cursor
Not committed
0 timeline steps applied
- Start the walkthrough or inspect one step at a time.
// Messages and actions appear here as the replay runs.View the subscription message used by this replay
{
"type": "subscribe",
"request_id": "browser-preview-1",
"filters": {
"phases": [
"live"
],
"sport_ids": [],
"competition_ids": [],
"event_ids": [],
"resource_types": [
"sport",
"competition",
"participant",
"event",
"market",
"selection",
"odds_quote",
"score",
"gamecast",
"settlement"
]
},
"resume_from_cursor": null,
"include_snapshot": true,
"replay_scenario_id": "live-soccer-lifecycle"
}What the replay proves
A small scenario that exercises the hard integration rules.
The point is not a flashy demo. It is to let an engineer verify how state is discovered, staged, changed, and recovered.
- 01Access and coverage discovery
The client learns that live is available and prematch is unavailable.
- 02Atomic initial state
Resources are staged until the snapshot completion cursor can be committed.
- 03Ordered resource changes
Odds, score, gamecast, and market status advance with string versions.
- 04At-least-once recovery
The last durable cursor is the only safe position from which to resume.
AI-assisted integration
Give your coding agent the invariants, not a vague API request.
This brief tells an agent how to build a safe first client without exposing credentials, skipping recovery, or treating numeric-looking identifiers as numbers.
Integrate Core Data Services feed contract v1.
Requirements:
- Discover /v1/access and /v1/coverage at startup.
- Keep every ID, cursor, sequence, version, odd, and line as a string.
- Stage snapshot resources until snapshot.completed, then atomically expose them.
- Apply upserts and deletes idempotently by resource_type, resource_id, and version.
- Persist a cursor only after its state mutation is durable.
- On reconnect, mint a new one-use stream ticket and resume from the last committed cursor.
- Treat heartbeat.latest_cursor as a liveness watermark, not an applied-state checkpoint.
- If a cursor is rejected or a gap is reported, fetch a fresh snapshot; never invent state.
- Prematch is unavailable until coverage explicitly reports it available.
First produce the smallest client, schema validation, reconnect test, and an integration report. Do not deploy or use production credentials.Deliberate limits
What this test does not prove.
The browser test does not prove production coverage, source latency, uptime, prematch, tombstones, settlement corrections, or durable server-side replay. Those require the hosted lab and production acceptance checks.
- One fictional soccer event
- Fixed, repeatable timing
- No customer or upstream data
- No production credentials
Guided Integration Lab
Need reusable lab access and help in your stack?
The guided Integration Lab is $99/month. Until self-service checkout and automatic provisioning are live, activation is arranged manually and confirmed before payment.
Sample, replay, or delayed data. No commercial production rights or redistribution.