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
- One scripted event lifecycle
- 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 reads capabilities and entitled resources before requesting data.
- 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.
- Treat /v1/coverage as the authority for the account's entitled resources.
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, additional event lifecycles, 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
Integration Lab access
Need reusable lab access and help in your stack?
Integration Lab access is $99 for 30 days. Use the contact route to confirm the non-production terms, crypto or card payment, and reusable lab key while the account workflow is being prepared.
Sample, replay, or delayed data. No commercial production rights or redistribution.