Identity mapping comes first
Compare a small event, team, and participant sample before a pilot. Once approved, the crosswalk is persisted and exceptions are surfaced for review.
Integration guide
These representative contracts show the shape of a managed integration. They are illustrative only: credentials, output coverage, limits, and production semantics are agreed in the paid pilot scope.
Compare a small event, team, and participant sample before a pilot. Once approved, the crosswalk is persisted and exceptions are surfaced for review.
Point projections, line-relative probabilities, model edge, and market-based EV answer different questions. The pilot contract names which outputs apply to each market.
Event-grouped batches can be shaped around the partner’s slate and refresh cadence while preserving an item-level status for every requested selection.
Representative contracts
Request
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_single_001",
"submitted_at": "2026-08-15T18:00:00Z",
"client_data_version": "partner_snapshot_42",
"event": {
"external_event_id": "event_2026_001",
"starts_at": "2026-08-15T23:00:00Z"
},
"selection": {
"selection_id": "selection_001",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "points",
"selected_line": 24.5,
"side": "over"
}
}Response
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_single_001",
"client_data_version": "partner_snapshot_42",
"server_data_version": "example_server_snapshot_108",
"generated_at": "2026-08-15T18:00:02Z",
"items": [
{
"selection_id": "selection_001",
"result_id": "result_001",
"sport": "nba",
"market": "points",
"selected_line": 24.5,
"side": "over",
"status": "complete",
"code": "ok",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 26.2,
"statistic": "median",
"unit": "points",
"projection_delta": 1.7
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
}
}
]
}Request
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_with_odds_001",
"submitted_at": "2026-08-15T18:00:00Z",
"client_data_version": "partner_snapshot_42",
"event": {
"external_event_id": "event_2026_001",
"starts_at": "2026-08-15T23:00:00Z"
},
"selection": {
"selection_id": "selection_001",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "points",
"selected_line": 24.5,
"side": "over",
"quote": {
"quote_kind": "selected_side",
"book": "partner_book_a",
"american_price": -110,
"quoted_at": "2026-08-15T17:59:30Z"
}
}
}Response
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_with_odds_001",
"client_data_version": "partner_snapshot_42",
"server_data_version": "example_server_snapshot_108",
"generated_at": "2026-08-15T18:00:02Z",
"items": [
{
"selection_id": "selection_001",
"result_id": "result_001",
"sport": "nba",
"market": "points",
"selected_line": 24.5,
"side": "over",
"status": "complete",
"code": "ok",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 26.2,
"statistic": "median",
"unit": "points",
"projection_delta": 1.7
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
},
"probabilities": {
"probability_kind": "over_under",
"over": {
"model_probability": 0.55
},
"under": {
"model_probability": 0.45
},
"calibration_version": "example_calibration_v1",
"calibrated_at": "2026-08-10T12:00:00Z"
},
"pricing": {
"quote_kind": "selected_side",
"book": "partner_book_a",
"side": "over",
"american_price": -110,
"book_implied_probability": 0.52381,
"model_probability": 0.55,
"model_probability_edge_pp": 2.619,
"market_based_ev": null,
"market_comparison_status": "approved_fair_anchors_required"
}
}
]
}Request
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_batch_001",
"submitted_at": "2026-08-15T18:00:00Z",
"client_data_version": "partner_snapshot_42",
"events": [
{
"event": {
"external_event_id": "event_2026_001",
"starts_at": "2026-08-15T23:00:00Z"
},
"selections": [
{
"selection_id": "selection_001",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "points",
"selected_line": 24.5,
"side": "over"
},
{
"selection_id": "selection_002",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "assists",
"selected_line": 6.5,
"side": "under"
}
]
},
{
"event": {
"external_event_id": "event_2026_002",
"starts_at": "2026-08-16T00:30:00Z"
},
"selections": [
{
"selection_id": "selection_003",
"sport": "nba",
"participant": {
"external_participant_id": "participant_987",
"normalized_name": "second sample player"
},
"market": "rebounds",
"selected_line": 9.5,
"side": "over"
}
]
}
]
}Response
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_batch_001",
"client_data_version": "partner_snapshot_42",
"server_data_version": "example_server_snapshot_108",
"generated_at": "2026-08-15T18:00:03Z",
"items": [
{
"selection_id": "selection_001",
"result_id": "result_001",
"sport": "nba",
"market": "points",
"selected_line": 24.5,
"side": "over",
"status": "complete",
"code": "ok",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 26.2,
"statistic": "median",
"unit": "points",
"projection_delta": 1.7
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
}
},
{
"selection_id": "selection_002",
"result_id": "result_002",
"sport": "nba",
"market": "assists",
"selected_line": 6.5,
"side": "under",
"status": "partial",
"code": "not_calibrated",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 6.1,
"statistic": "median",
"unit": "assists",
"projection_delta": -0.4
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
},
"errors": [
{
"code": "not_calibrated",
"severity": "warning",
"retryable": false
}
]
},
{
"selection_id": "selection_003",
"result_id": "result_003",
"sport": "nba",
"market": "rebounds",
"selected_line": 9.5,
"side": "over",
"status": "error",
"code": "mapping_not_found",
"identity": {
"event": "matched",
"participant": "unresolved"
},
"errors": [
{
"code": "mapping_not_found",
"severity": "error",
"retryable": false
}
]
}
]
}The pilot agreement confirms approved markets, output semantics, refresh cadence, batch limits, authentication, support, and the current validation state. The catalog on the commercial page uses the status vocabulary available for pilot, pilot access, and in validation.
Integration guide
These representative contracts show the shape of a managed integration. They are illustrative only: credentials, output coverage, limits, and production semantics are agreed in the paid pilot scope.
Compare a small event, team, and participant sample before a pilot. Once approved, the crosswalk is persisted and exceptions are surfaced for review.
Point projections, line-relative probabilities, model edge, and market-based EV answer different questions. The pilot contract names which outputs apply to each market.
Event-grouped batches can be shaped around the partner’s slate and refresh cadence while preserving an item-level status for every requested selection.
Representative contracts
Request
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_single_001",
"submitted_at": "2026-08-15T18:00:00Z",
"client_data_version": "partner_snapshot_42",
"event": {
"external_event_id": "event_2026_001",
"starts_at": "2026-08-15T23:00:00Z"
},
"selection": {
"selection_id": "selection_001",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "points",
"selected_line": 24.5,
"side": "over"
}
}Response
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_single_001",
"client_data_version": "partner_snapshot_42",
"server_data_version": "example_server_snapshot_108",
"generated_at": "2026-08-15T18:00:02Z",
"items": [
{
"selection_id": "selection_001",
"result_id": "result_001",
"sport": "nba",
"market": "points",
"selected_line": 24.5,
"side": "over",
"status": "complete",
"code": "ok",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 26.2,
"statistic": "median",
"unit": "points",
"projection_delta": 1.7
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
}
}
]
}Request
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_with_odds_001",
"submitted_at": "2026-08-15T18:00:00Z",
"client_data_version": "partner_snapshot_42",
"event": {
"external_event_id": "event_2026_001",
"starts_at": "2026-08-15T23:00:00Z"
},
"selection": {
"selection_id": "selection_001",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "points",
"selected_line": 24.5,
"side": "over",
"quote": {
"quote_kind": "selected_side",
"book": "partner_book_a",
"american_price": -110,
"quoted_at": "2026-08-15T17:59:30Z"
}
}
}Response
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_with_odds_001",
"client_data_version": "partner_snapshot_42",
"server_data_version": "example_server_snapshot_108",
"generated_at": "2026-08-15T18:00:02Z",
"items": [
{
"selection_id": "selection_001",
"result_id": "result_001",
"sport": "nba",
"market": "points",
"selected_line": 24.5,
"side": "over",
"status": "complete",
"code": "ok",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 26.2,
"statistic": "median",
"unit": "points",
"projection_delta": 1.7
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
},
"probabilities": {
"probability_kind": "over_under",
"over": {
"model_probability": 0.55
},
"under": {
"model_probability": 0.45
},
"calibration_version": "example_calibration_v1",
"calibrated_at": "2026-08-10T12:00:00Z"
},
"pricing": {
"quote_kind": "selected_side",
"book": "partner_book_a",
"side": "over",
"american_price": -110,
"book_implied_probability": 0.52381,
"model_probability": 0.55,
"model_probability_edge_pp": 2.619,
"market_based_ev": null,
"market_comparison_status": "approved_fair_anchors_required"
}
}
]
}Request
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_batch_001",
"submitted_at": "2026-08-15T18:00:00Z",
"client_data_version": "partner_snapshot_42",
"events": [
{
"event": {
"external_event_id": "event_2026_001",
"starts_at": "2026-08-15T23:00:00Z"
},
"selections": [
{
"selection_id": "selection_001",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "points",
"selected_line": 24.5,
"side": "over"
},
{
"selection_id": "selection_002",
"sport": "nba",
"participant": {
"external_participant_id": "participant_123",
"normalized_name": "sample player"
},
"market": "assists",
"selected_line": 6.5,
"side": "under"
}
]
},
{
"event": {
"external_event_id": "event_2026_002",
"starts_at": "2026-08-16T00:30:00Z"
},
"selections": [
{
"selection_id": "selection_003",
"sport": "nba",
"participant": {
"external_participant_id": "participant_987",
"normalized_name": "second sample player"
},
"market": "rebounds",
"selected_line": 9.5,
"side": "over"
}
]
}
]
}Response
{
"example_context": "representative_not_live",
"contract_name": "commercial_model_service_v1",
"request_id": "request_batch_001",
"client_data_version": "partner_snapshot_42",
"server_data_version": "example_server_snapshot_108",
"generated_at": "2026-08-15T18:00:03Z",
"items": [
{
"selection_id": "selection_001",
"result_id": "result_001",
"sport": "nba",
"market": "points",
"selected_line": 24.5,
"side": "over",
"status": "complete",
"code": "ok",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 26.2,
"statistic": "median",
"unit": "points",
"projection_delta": 1.7
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
}
},
{
"selection_id": "selection_002",
"result_id": "result_002",
"sport": "nba",
"market": "assists",
"selected_line": 6.5,
"side": "under",
"status": "partial",
"code": "not_calibrated",
"identity": {
"event": "matched",
"participant": "matched"
},
"projection": {
"point_projection": 6.1,
"statistic": "median",
"unit": "assists",
"projection_delta": -0.4
},
"source_freshness": {
"status": "fresh",
"observed_at": "2026-08-15T17:58:00Z",
"age_seconds": 120,
"max_age_seconds": 900
},
"model_generation": {
"generation_id": "generation_example_001",
"model_version": "example_model_v1",
"generated_at": "2026-08-15T17:58:30Z",
"data_cutoff_at": "2026-08-15T17:55:00Z"
},
"errors": [
{
"code": "not_calibrated",
"severity": "warning",
"retryable": false
}
]
},
{
"selection_id": "selection_003",
"result_id": "result_003",
"sport": "nba",
"market": "rebounds",
"selected_line": 9.5,
"side": "over",
"status": "error",
"code": "mapping_not_found",
"identity": {
"event": "matched",
"participant": "unresolved"
},
"errors": [
{
"code": "mapping_not_found",
"severity": "error",
"retryable": false
}
]
}
]
}The pilot agreement confirms approved markets, output semantics, refresh cadence, batch limits, authentication, support, and the current validation state. The catalog on the commercial page uses the status vocabulary available for pilot, pilot access, and in validation.