The Lineup
Today's PicksConnectionsFeaturesResultsCommercial APIPricingAboutContact
THE LINEUP

Product

  • Free Account
  • Pricing
  • EV Results
  • Model Results
  • Commercial API
  • Results Methodology
  • Compare
  • OddsJam Alternative
  • Newsletter

Company

  • About
  • Blog
  • Contact
Privacy PolicyTerms of ServiceRefund Policy

© 2026 THE LINEUP. All rights reserved.

THE LINEUP

Start free with public proof, preview edges, and partner offers. Upgrade when you want the full +EV workflow.

Product

  • Free Account
  • Pricing
  • EV Results
  • Model Results
  • Commercial API
  • Results Methodology
  • Compare
  • OddsJam Alternative
  • Newsletter

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Refund Policy

© 2026 THE LINEUP. All rights reserved.

Made for bettors who think before they bet

The Lineup
Today's PicksConnectionsFeaturesResultsCommercial APIPricingAboutContact
THE LINEUP

Product

  • Free Account
  • Pricing
  • EV Results
  • Model Results
  • Commercial API
  • Results Methodology
  • Compare
  • OddsJam Alternative
  • Newsletter

Company

  • About
  • Blog
  • Contact
Privacy PolicyTerms of ServiceRefund Policy

© 2026 THE LINEUP. All rights reserved.

THE LINEUP

Start free with public proof, preview edges, and partner offers. Upgrade when you want the full +EV workflow.

Product

  • Free Account
  • Pricing
  • EV Results
  • Model Results
  • Commercial API
  • Results Methodology
  • Compare
  • OddsJam Alternative
  • Newsletter

Company

  • About
  • Blog
  • Contact

Legal

  • Privacy Policy
  • Terms of Service
  • Refund Policy

© 2026 THE LINEUP. All rights reserved.

Made for bettors who think before they bet

THE LINEUP Commercial API

Sports model output, shaped for the product you’re building.

Licensed access for sportsbooks, sports-media products, betting tools, and commercial partners that need maintained projections, dependable identity mapping, versioned calculations, and a team that stays involved after the first payload.

Discuss a paid pilotReview representative contracts

Paid pilot and custom licence only. No self-serve provisioning, fixed public pricing, or production access is implied.

Managed service

Model maintenance
Sport- and market-specific versions
Partner fit
Identity, refresh, and output design
Operations
Validation, monitoring, and item receipts
Commercial path
Scoped pilot before ongoing licence

More than a raw-data subscription

Model value depends on an integration built for real slates.

Managed model service

  • Maintained sport- and market-specific model families
  • Partner identity mapping and deterministic item receipts
  • Versioned output, freshness evidence, and partial-result handling
  • Integration review, monitoring expectations, and partner support

What this is not

  • Not a self-serve key with every internal route exposed
  • Not a resale feed of provider-owned sportsbook data
  • Not one generic model presented as production-ready everywhere
  • Not a promise of fixed coverage, performance, or availability before validation

Current commercial scope

Capabilities, with the caveats left in.

“Available” means the current model family can be evaluated for a managed integration. It does not mean an unrestricted endpoint or every listed calculation is already provisioned.

Catalog 2026-07-31.v1
Reviewed July 31, 2026

NBA

Available

Full-game player projections

Markets

Points · Rebounds · Assists · Three-pointers · Steals · Blocks · Turnovers · Selected combinations

Current live projection family. Exact markets and refresh cadence are confirmed in the paid-pilot scope.

Output types

Point projection · Version metadata · Source freshness

WNBA

Available

Full-game player projections

Markets

Points · Rebounds · Assists · Three-pointers · Steals · Blocks · Turnovers

Current live projection family. Calibrated probability coverage is market-specific and never implied by a point projection.

Output types

Point projection · Version metadata · Source freshness

NHL

Available

Skater and goalie projections

Markets

Goals · Assists · Points · Shots on goal · Blocked shots · Hits · Goalie saves

Current live projection family with skater and goalie market handling kept separate.

Output types

Point projection · Version metadata · Source freshness

MLB

Available

Batter and pitcher projections

Markets

Hits · Home runs · Runs · RBIs · Total bases · Stolen bases · Pitcher strikeouts · Earned runs

Current live projection family with batter and pitcher outputs resolved by market-specific model metadata.

Output types

Point projection · Version metadata · Source freshness

NCAAB

Available

Full-game player projections

Markets

Points · Rebounds · Assists · Three-pointers · Steals · Blocks · Turnovers

Current live projection family. Pilot qualification still confirms the partner's intended competition and market coverage.

Output types

Point projection · Version metadata · Source freshness

WNBA

Pilot access

Calibrated three-pointer probability

Markets

Three-pointers made at a selected line

Eligible for limited evaluation; post-settlement evidence remains part of pilot review.

Output types

Point projection · Line-relative probability · Model probability edge

NFL

In validation

Player-prop model service

Markets

Passing yards · Rushing yards · Receiving yards · Receptions · Passing touchdowns · Anytime touchdown

Not generally available. NFL commercial model outputs remain under market-specific validation before pilot consideration.

Output types

Point and probability contracts under market-specific review

FIFA World Cup

In validation

Game-line probability models

Markets

Regulation moneyline · Spread · Total · Both teams to score · Team total goals

Candidate outputs are still being evaluated for freshness and commercial readiness. No commercial availability is implied.

Output types

Market probability · Version metadata · Validation state

ATP

In validation

Match-winner probability

Markets

Match winner

The match-winner model family is still being validated and is not currently available for commercial use.

Output types

Match-winner probability under validation

Calculation boundaries

Three outputs. Three different questions.

01

Projection

A model estimate for a player stat or market output. It can include version and freshness evidence without any sportsbook price.

02

Model probability and edge

A calibrated line-relative probability where that market has passed validation, compared with the break-even probability of a supplied price.

03

Optional market-based +EV

An odds-only comparison between a partner-supplied offer and permitted sharp-market anchors. It is separate from the projection model and is not a raw odds feed.

Representative technical contracts

Start with one selection. Keep the same semantics at batch scale.

These payloads are contract-shaped examples, not live customer responses or callable production endpoints. Identifiers, timestamps, names, lines, and prices are illustrative.

Single selectionOne event and one market selection without sportsbook pricing.+

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"
      }
    }
  ]
}
Selection with offered oddsAdds a partner-supplied price so model probability edge and optional market comparison remain separate calculations.+

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"
      }
    }
  ]
}
Event-grouped batchGroups ordered selections by event while preserving stable request and selection identifiers.+

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
        }
      ]
    }
  ]
}

Integration operations

The contract includes the awkward parts.

01

Identity mapping

Map your event, team, and participant IDs once, then use stable external identifiers on every request.

02

Versioned output

Receive explicit contract, data, model, and calibration versions with item-scoped status codes.

03

Refresh policy

Agree scheduled refreshes and partner-triggered line updates for the markets included in the pilot.

04

Authentication

Use scoped credentials after security review. Credentials are never issued automatically.

05

Monitoring and support

Review freshness, mapping, model availability, and partial-item receipts with a named partner contact.

Commercial access inquiry

Give us the shape of the integration.

We’ll compare the requested sports, markets, volume, territories, and timeline with the current supported scope. The next step is a scoped paid pilot or a candid “not ready yet.”

Sports

Choose every sport in the proposed pilot.

Comma-separated
Comma-separated

This starts a commercial review. It does not create credentials, start billing, or grant production access.

THE LINEUP Commercial API

Sports model output, shaped for the product you’re building.

Licensed access for sportsbooks, sports-media products, betting tools, and commercial partners that need maintained projections, dependable identity mapping, versioned calculations, and a team that stays involved after the first payload.

Discuss a paid pilotReview representative contracts

Paid pilot and custom licence only. No self-serve provisioning, fixed public pricing, or production access is implied.

Managed service

Model maintenance
Sport- and market-specific versions
Partner fit
Identity, refresh, and output design
Operations
Validation, monitoring, and item receipts
Commercial path
Scoped pilot before ongoing licence

More than a raw-data subscription

Model value depends on an integration built for real slates.

Managed model service

  • Maintained sport- and market-specific model families
  • Partner identity mapping and deterministic item receipts
  • Versioned output, freshness evidence, and partial-result handling
  • Integration review, monitoring expectations, and partner support

What this is not

  • Not a self-serve key with every internal route exposed
  • Not a resale feed of provider-owned sportsbook data
  • Not one generic model presented as production-ready everywhere
  • Not a promise of fixed coverage, performance, or availability before validation

Current commercial scope

Capabilities, with the caveats left in.

“Available” means the current model family can be evaluated for a managed integration. It does not mean an unrestricted endpoint or every listed calculation is already provisioned.

Catalog 2026-07-31.v1
Reviewed July 31, 2026

NBA

Available

Full-game player projections

Markets

Points · Rebounds · Assists · Three-pointers · Steals · Blocks · Turnovers · Selected combinations

Current live projection family. Exact markets and refresh cadence are confirmed in the paid-pilot scope.

Output types

Point projection · Version metadata · Source freshness

WNBA

Available

Full-game player projections

Markets

Points · Rebounds · Assists · Three-pointers · Steals · Blocks · Turnovers

Current live projection family. Calibrated probability coverage is market-specific and never implied by a point projection.

Output types

Point projection · Version metadata · Source freshness

NHL

Available

Skater and goalie projections

Markets

Goals · Assists · Points · Shots on goal · Blocked shots · Hits · Goalie saves

Current live projection family with skater and goalie market handling kept separate.

Output types

Point projection · Version metadata · Source freshness

MLB

Available

Batter and pitcher projections

Markets

Hits · Home runs · Runs · RBIs · Total bases · Stolen bases · Pitcher strikeouts · Earned runs

Current live projection family with batter and pitcher outputs resolved by market-specific model metadata.

Output types

Point projection · Version metadata · Source freshness

NCAAB

Available

Full-game player projections

Markets

Points · Rebounds · Assists · Three-pointers · Steals · Blocks · Turnovers

Current live projection family. Pilot qualification still confirms the partner's intended competition and market coverage.

Output types

Point projection · Version metadata · Source freshness

WNBA

Pilot access

Calibrated three-pointer probability

Markets

Three-pointers made at a selected line

Eligible for limited evaluation; post-settlement evidence remains part of pilot review.

Output types

Point projection · Line-relative probability · Model probability edge

NFL

In validation

Player-prop model service

Markets

Passing yards · Rushing yards · Receiving yards · Receptions · Passing touchdowns · Anytime touchdown

Not generally available. NFL commercial model outputs remain under market-specific validation before pilot consideration.

Output types

Point and probability contracts under market-specific review

FIFA World Cup

In validation

Game-line probability models

Markets

Regulation moneyline · Spread · Total · Both teams to score · Team total goals

Candidate outputs are still being evaluated for freshness and commercial readiness. No commercial availability is implied.

Output types

Market probability · Version metadata · Validation state

ATP

In validation

Match-winner probability

Markets

Match winner

The match-winner model family is still being validated and is not currently available for commercial use.

Output types

Match-winner probability under validation

Calculation boundaries

Three outputs. Three different questions.

01

Projection

A model estimate for a player stat or market output. It can include version and freshness evidence without any sportsbook price.

02

Model probability and edge

A calibrated line-relative probability where that market has passed validation, compared with the break-even probability of a supplied price.

03

Optional market-based +EV

An odds-only comparison between a partner-supplied offer and permitted sharp-market anchors. It is separate from the projection model and is not a raw odds feed.

Representative technical contracts

Start with one selection. Keep the same semantics at batch scale.

These payloads are contract-shaped examples, not live customer responses or callable production endpoints. Identifiers, timestamps, names, lines, and prices are illustrative.

Single selectionOne event and one market selection without sportsbook pricing.+

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"
      }
    }
  ]
}
Selection with offered oddsAdds a partner-supplied price so model probability edge and optional market comparison remain separate calculations.+

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"
      }
    }
  ]
}
Event-grouped batchGroups ordered selections by event while preserving stable request and selection identifiers.+

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
        }
      ]
    }
  ]
}

Integration operations

The contract includes the awkward parts.

01

Identity mapping

Map your event, team, and participant IDs once, then use stable external identifiers on every request.

02

Versioned output

Receive explicit contract, data, model, and calibration versions with item-scoped status codes.

03

Refresh policy

Agree scheduled refreshes and partner-triggered line updates for the markets included in the pilot.

04

Authentication

Use scoped credentials after security review. Credentials are never issued automatically.

05

Monitoring and support

Review freshness, mapping, model availability, and partial-item receipts with a named partner contact.

Commercial access inquiry

Give us the shape of the integration.

We’ll compare the requested sports, markets, volume, territories, and timeline with the current supported scope. The next step is a scoped paid pilot or a candid “not ready yet.”

Sports

Choose every sport in the proposed pilot.

Comma-separated
Comma-separated

This starts a commercial review. It does not create credentials, start billing, or grant production access.