Markets

List observation-only sports-edge cohorts

Deprecated since #16310: use GET /api/v1/sports/pre-game-side-observations, which serves the same body. This path stays live and answers with Deprecation and successor Link headers. Pro-tier. Measures three explicitly observation-only Polymarket sports cohorts without changing or feeding GET /api/v1/sports-edge-signals: wider_holder measures pre-game holder piles outside the funded route's exact raw signals admission, including recent-flow rows rejected by its event, bucket, or total caps; in_play admits provider-confirmed live games and fails closed when the provider live-board snapshot is stale or unavailable or holder/directional evidence is stale or unavailable; emerging_pile is an additive post-compute projection of wider_holder rows with finite sharp_pct in [0.75, 0.85), holder_scan_complete=true, and a kickoff after its pinned projection cutoff. emerging_pile overlaps wider_holder, remains attributed to that source terminal and denominator, and is not holder-arrival history. Every row carries observation_only=true, provider/holder freshness and completeness fields, and the response carries a required snapshot-wide operational/unknown-completeness degraded boolean plus an accountable per-sport funnel over a closed 25-value terminal-reason vocabulary. Omitted or blank category selects all 14 registered observation sport buckets, including Table Tennis and Pickleball; those two remain outside the funded sports projection. All category and all-sports cache scopes share one global observation provider-work admission, so distinct scope keys cannot multiply concurrent provider fanout. One absolute ~25s compute deadline covers cache coordination, board/universe and primary-signals membership reads, holder cache/provider work, price/metadata evaluation, and directional reads, leaving ~5s below the public router timeout for funnel reconciliation, cleanup, and response transport. A shared pre-holder stage deadline jointly bounds those database reads and board reconciliation to the smaller of 12s or half of the absolute budget remaining when that stage starts, preserving holder/post-holder opportunity; board reads use bounded fair waves and cold holder admission gives each represented canonical sport one row before any sport repeats. A request that finds its scope's refresh in flight waits for that snapshot, and a scope refresh waits for another scope's global provider-work admission while at least ~15s of the absolute deadline remain. Absolute deadline exhaustion before a usable cache, provider-work admission still held at that ~15s bound, an in-flight refresh that ends without publishing while another waiting request takes it over, or pre-holder stage expiry before a usable stored universe or primary-signals membership result returns 503 with error.reason=read_model_warming. Category-resolution SQL errors, Redis coordination failures, observation-universe SQL errors, and primary-signals membership query failures return 500 internal_error instead. Once a usable universe exists, later operational or unknown-completeness board, holder, or price/metadata failures are retained as explicit terminal reasons in a degraded 200 response with degraded=true: board_source_unavailable is a completed board-source failure, board_deadline_unavailable means live-board work missed either an internal configured-scope deadline or the outer fair-wave deadline; both classify only already-started rows, so for the upcoming source read funnel.sports[].board_upcoming_status instead; provider_unavailable is an attempted holder-provider failure, and holder_deadline_unavailable is holder-stage deadline exhaustion. Directional incompleteness is cohort-specific: a wider_holder row remains emitted with terminal wider_holder_emitted and directional_status=unavailable, while an in_play row fails closed with terminal in_play_directional_unavailable. capacity_limited records intentional bounded provider-work admission in the funnel and does not by itself set degraded=true. Healthy wider_holder requests may reuse a snapshot for ~180s; healthy emerging_pile requests may use the same snapshot. in_play never serves a cached observation snapshot older than ~30s, and degraded snapshots use ~30s. The ETag is a weak semantic validator over the stable page payload, including next_cursor page position; request-specific meta excluded; the opaque emerging_pile projection cutoff in next_cursor is not itself a validator input.

get/api/v1/sports-edge-observations

Query parameters

cohort'wider_holder' | 'in_play' | 'emerging_pile' required

Observation cohort. wider_holder measures pre-game holder piles outside the funded route's exact raw signals admission. in_play admits only provider-confirmed live games and excludes stale or unavailable provider live-board, holder, or directional evidence. emerging_pile is a post-compute wider_holder projection for finite sharp_pct in [0.75, 0.85) with holder_scan_complete=true and a kickoff after its pinned projection cutoff; it overlaps wider_holder, is not an independent denominator, and is not arrival history.

categorystring

Optional canonical sport bucket. Omitted or blank selects all registered sports. Raw provider categories resolve through the canonical taxonomy, including table-tennis or table tennis to Table Tennis and pickleball to Pickleball; a non-sport category returns an empty list.

limitinteger

Page size.

cursorstring

Server-authenticated opaque seo_v2_ cursor from next_cursor. Pins snapshot_as_of, cohort, rank, and condition_id; pre-deploy unsigned seo_ cursors are rejected, so clients must request the first page after this contract ships; emerging_pile cursors also pin the first-page projection_now cutoff so kickoff filtering cannot renumber continuation pages. Client edits fail closed; it cannot cross cohorts; a refreshed snapshot invalidates it with 400.

Headers

X-Query-Validation'strict'

Opt into strict query-name validation. The default is compatible: unknown names are ignored and reported in X-Query-Ignored. With strict, an unknown name returns 400 bad_request with error.reason unknown_query_parameter before the handler runs, including when its percent escape is incomplete.

If-None-Matchstring

Conditional GET using a previous weak semantic ETag. Matching stable payloads return 304 Not Modified with an empty body; request-specific meta and the opaque emerging_pile projection cutoff inside next_cursor are excluded from validation.

Response

Observation-only sports cohort with a snapshot-wide operational/unknown-completeness degraded verdict and accountable funnel

object'list' required
has_moreboolean required
next_cursorstring
snapshot_as_ofstring date-time required

Completion time of the shared observation snapshot pinned by the cursor.

degradedboolean required

True when an operational failure or unknown provider-board, holder, directional, reconciliation, or internal completeness state made this snapshot partial. This is snapshot-wide and can retain degradation that the funnel's one-terminal-per-input accounting cannot represent. Intentional bounded capacity_limited rows remain fully accounted in the funnel and do not by themselves set this field.

Changes

Changed in 18 of the 89 revisions of this API.10216140

  • ece7a25b7a4499See the full diff
    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new freshness_ceiling_unsatisfied enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      added the optional property / to the response with the status

      response-optional-property-added

    • ○

      endpoint deprecated

      endpoint-deprecated

    • ○

      response property data/items/conviction_score deprecated

      response-property-deprecated

    • ○

      response property data/items/piled_side deprecated

      response-property-deprecated

    • ○

      response property data/items/smart_score deprecated

      response-property-deprecated

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the required property // to the response with the status

      response-required-property-added

    • ○

      added the required property // to the response with the status

      response-required-property-added

    This revision also has 6 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new export_expired enum value to the / response property for the response status

      response-property-enum-value-added

    This revision also has 3 changes that name no endpoint, such as unreferenced schemas being removed. See the revision's changelog

    • ▲

      the response property became optional for the status

      response-property-became-optional

  • 1c5e270b412491See the full diff
    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unknown_query_parameter enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the new optional header request parameter X-Query-Validation

      new-optional-request-parameter

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_not_prepared enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new webhook_secret_rotation_overlap_active enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_rate_limited enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new ip_throttled enum value to the / response property for the response status

      response-property-enum-value-added

  • 7b5489c2cd3e561See the full diff
    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_body enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_path enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new invalid_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new method_not_allowed enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new payload_too_large enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new request_timeout enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new unsupported_media_type enum value to the / response property for the response status

      response-property-enum-value-added

    • ○

      added the media type application/json for the response with the status

      response-media-type-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new insufficient_scope enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new monthly_quota_exceeded enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added

    • ●

      added the new api_key_in_query enum value to the / response property for the response status

      response-property-enum-value-added