The Racing API · Agentic Access

The Racing API Agentic Access

x-agentic-access generated

The Racing API exposes 58 API operations that an AI agent could call, of which 0 are state-changing ‘acting’ operations. This is a recommended x-agentic-access execution contract — the scope, audience, consequence tier, short-lived token constraints, and escalation each action should carry before it is handed to an autonomous agent.

By consequence: 58 read.

Contracts are classified heuristically from the provider’s OpenAPI and refresh on every APIs.io network build; audience is bound per deployment. The model follows Curity’s Access Intelligence (apidays Munich 2026). Browse every provider’s agent contracts at agentic-access.apis.io.

Horse RacingSportsStatisticsBettingAnalytics
Operations: 58 Acting: 0 Human-in-the-loop: 0 Method: generated

By consequence

read 58

Source

Agentic Access

Raw ↑
generated: '2026-07-15'
method: generated
source: openapi/the-racing-api-openapi.yml
description: Recommended x-agentic-access execution contracts, classified heuristically from
  the OpenAPI. A governance starting point for exposing this API to AI agents — review and bind
  audience per deployment. See research/curity/agentic-governance/.
summary:
  operations: 58
  by_action_class:
    connected: 58
  by_consequence:
    read: 58
  human_in_the_loop_required: 0
operations:
- path: /v1/courses/regions
  method: get
  operationId: regions_v1_courses_regions_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/courses
  method: get
  operationId: courses_v1_courses_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/dams/search
  method: get
  operationId: dam_search_v1_dams_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/dams/{dam_id}/results
  method: get
  operationId: dam_progeny_results_v1_dams__dam_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/dams/{dam_id}/analysis/classes
  method: get
  operationId: dam_progeny_class_analysis_v1_dams__dam_id__analysis_classes_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/dams/{dam_id}/analysis/distances
  method: get
  operationId: dam_progeny_distance_analysis_v1_dams__dam_id__analysis_distances_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/damsires/search
  method: get
  operationId: damsire_search_v1_damsires_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/damsires/{damsire_id}/results
  method: get
  operationId: damsire_grandoffspring_results_v1_damsires__damsire_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/damsires/{damsire_id}/analysis/classes
  method: get
  operationId: damsire_grandoffspring_class_analysis_v1_damsires__damsire_id__analysis_classes_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/damsires/{damsire_id}/analysis/distances
  method: get
  operationId: damsire_grandoffspring_distance_analysis_v1_damsires__damsire_id__analysis_distances_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/horses/search
  method: get
  operationId: horse_search_v1_horses_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/horses/{horse_id}/results
  method: get
  operationId: horse_results_v1_horses__horse_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/horses/{horse_id}/analysis/distance-times
  method: get
  operationId: horse_distance_time_analysis_v1_horses__horse_id__analysis_distance_times_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/horses/{horse_id}/standard
  method: get
  operationId: horse_standard_v1_horses__horse_id__standard_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/horses/{horse_id}/pro
  method: get
  operationId: horse_pro_v1_horses__horse_id__pro_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/jockeys/search
  method: get
  operationId: jockey_search_v1_jockeys_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/jockeys/{jockey_id}/results
  method: get
  operationId: jockey_results_v1_jockeys__jockey_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/jockeys/{jockey_id}/analysis/courses
  method: get
  operationId: jockey_course_analysis_v1_jockeys__jockey_id__analysis_courses_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/jockeys/{jockey_id}/analysis/distances
  method: get
  operationId: jockey_distance_analysis_v1_jockeys__jockey_id__analysis_distances_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/jockeys/{jockey_id}/analysis/owners
  method: get
  operationId: jockey_owner_analysis_v1_jockeys__jockey_id__analysis_owners_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/jockeys/{jockey_id}/analysis/trainers
  method: get
  operationId: jockey_trainer_analysis_v1_jockeys__jockey_id__analysis_trainers_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/odds/{race_id}/{horse_id}
  method: get
  operationId: odds_runner_v1_odds__race_id___horse_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/owners/search
  method: get
  operationId: owner_search_v1_owners_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/owners/{owner_id}/results
  method: get
  operationId: owner_results_v1_owners__owner_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/owners/{owner_id}/analysis/courses
  method: get
  operationId: owner_course_analysis_v1_owners__owner_id__analysis_courses_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/owners/{owner_id}/analysis/distances
  method: get
  operationId: owner_distance_analysis_v1_owners__owner_id__analysis_distances_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/owners/{owner_id}/analysis/jockeys
  method: get
  operationId: owner_jockey_analysis_v1_owners__owner_id__analysis_jockeys_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/owners/{owner_id}/analysis/trainers
  method: get
  operationId: owner_trainer_analysis_v1_owners__owner_id__analysis_trainers_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/free
  method: get
  operationId: racecards_free_v1_racecards_free_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/basic
  method: get
  operationId: racecards_basic_v1_racecards_basic_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/standard
  method: get
  operationId: racecards_standard_v1_racecards_standard_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/pro
  method: get
  operationId: racecards_pro_v1_racecards_pro_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/big-races
  method: get
  operationId: racecards_big_races_v1_racecards_big_races_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/summaries
  method: get
  operationId: racecards_summaries_v1_racecards_summaries_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/{horse_id}/results
  method: get
  operationId: racecard_horse_results_v1_racecards__horse_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/{race_id}/standard
  method: get
  operationId: race_standard_v1_racecards__race_id__standard_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/racecards/{race_id}/pro
  method: get
  operationId: race_pro_v1_racecards__race_id__pro_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/results
  method: get
  operationId: results_v1_results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/results/today
  method: get
  operationId: results_today_v1_results_today_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/results/today/free
  method: get
  operationId: results_today_free_v1_results_today_free_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/results/{race_id}
  method: get
  operationId: result_v1_results__race_id__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/sires/search
  method: get
  operationId: sire_search_v1_sires_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/sires/{sire_id}/results
  method: get
  operationId: sire_progeny_results_v1_sires__sire_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/sires/{sire_id}/analysis/classes
  method: get
  operationId: sire_progeny_class_analysis_v1_sires__sire_id__analysis_classes_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/sires/{sire_id}/analysis/distances
  method: get
  operationId: sire_progeny_distance_analysis_v1_sires__sire_id__analysis_distances_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/search
  method: get
  operationId: trainer_search_v1_trainers_search_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/{trainer_id}/results
  method: get
  operationId: trainer_results_v1_trainers__trainer_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/{trainer_id}/analysis/horse-age
  method: get
  operationId: trainer_horse_age_analysis_v1_trainers__trainer_id__analysis_horse_age_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/{trainer_id}/analysis/courses
  method: get
  operationId: trainer_course_analysis_v1_trainers__trainer_id__analysis_courses_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/{trainer_id}/analysis/distances
  method: get
  operationId: trainer_distance_analysis_v1_trainers__trainer_id__analysis_distances_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/{trainer_id}/analysis/jockeys
  method: get
  operationId: trainer_jockey_analysis_v1_trainers__trainer_id__analysis_jockeys_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/trainers/{trainer_id}/analysis/owners
  method: get
  operationId: trainer_owner_analysis_v1_trainers__trainer_id__analysis_owners_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/north-america/meets
  method: get
  operationId: meets_v1_north_america_meets_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/north-america/meets/{meet_id}/entries
  method: get
  operationId: meet_entries_v1_north_america_meets__meet_id__entries_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/north-america/meets/{meet_id}/results
  method: get
  operationId: meet_results_v1_north_america_meets__meet_id__results_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/australia/meets
  method: get
  operationId: meets_v1_australia_meets_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/australia/meets/{meet_id}/races
  method: get
  operationId: races_by_meet_v1_australia_meets__meet_id__races_get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none
- path: /v1/australia/meets/{meet_id}/races/{race_number}
  method: get
  operationId: race_v1_australia_meets__meet_id__races__race_number__get
  x-agentic-access:
    action-class: connected
    consequence: read
    subject: optional
    token:
      max-ttl: 3600
    audit: none