openapi-directory
Version:
Building & bundling https://github.com/APIs-guru/openapi-directory for easy use from JS
1 lines • 260 kB
JSON
{"openapi":"3.0.2","servers":[{"url":"https://api.theracingapi.com/"}],"info":{"description":"<h1>Introduction</h1><p>Welcome to <a href='https://www.theracingapi.com' target='_blank'>The Racing API</a>!</p><p>The API is used to access our active database of over 200,000 horse racing results and daily racecards.</p><p>If you dont yet have a subscription, you can purchase one <a href='https://www.theracingapi.com/#subscribe' target='_blank'>here</a>.</p><p>Requests to the API can be made via any programming language of your choice. Code examples are available in the right column of the documentation.</p><p><b>Any usage is subject to The Racing API <a href='https://www.theracingapi.com/terms-of-service' target='_blank'>terms of service</a>.</b></p><br><br><h1>Base URL</h1><p> The base url for requests is <b>https://api.theracingapi.com</b></p><br><br><h1>Authentication</h1><p>Upon subscribing to The Racing API, you will receive a set of API keys named 'Username' and 'Password' via email.</p><p>In order to authenticate your requests, you should use <b>HTTP Basic Authentication</b>, passing your username and password keys in the <b>Authorization header</b> of your request.</p><p>If your account becomes inactive or you attempt to access endpoints not available to your subscription level, requests will return a <b>401 Unauthorized</b> response.</p><br><br><h1>Rate-Limits</h1><p>Requests are limited to 2 per second for every plan. Exceeding this limit will return a <b>429 Too Many Requests</b> response.</p><br><br><h1>Analysis Endpoints</h1><p>The Racing API analysis endpoints perform data aggregation to return helpful betting & probability insights.</p><p>The statistics returned by these endpoints include:</p><ul><li><b>Win Percentage (win_%):</b> The number of wins divided by total runs/rides for a given query. For example, a win_% figure of 0.18 represents an 18% win percentage.</li><li><b>1 Unit Profit/Loss (1_pl):</b> Profit/loss for total rides/runs for a given query, if a 1 unit stake was placed at SP.</li><li><b>Actual/Expected (a/e):</b> Actual number of wins, divided by expected number of wins for a given query. Expected number of wins is calculated from SP. For a detailed explanation of this statistic, see <a href='https://ratingtheraces.com/blog/information/what-is-the-ae-statistic/#:~:text=A%2FE%20stands%20for%20Actual%20over%20Expected.&text=In%20this%20process%20we%20take,of%201%2F3.0%20%3D%200.33.' target='_blank'>here</a>.</li></ul><p><b>IMPORTANT NOTE:</b> Anaysis endpoints only perform data aggregation on results for which SP odds are available.</p><br><br><p><b>For support or feature requests, please email <a href='mailto:support@theracingapi.com'>support@theracingapi.com</a>.</b></p>","title":"The Racing API","version":"1.0.0","x-apisguru-categories":["analytics"],"x-logo":{"url":"https://www.theracingapi.com/static/images/logo.png"},"x-origin":[{"format":"openapi","url":"https://api.theracingapi.com/openapi.json","version":"3.0"}],"x-providerName":"theracingapi.com"},"paths":{"/v1/courses":{"get":{"description":"List courses (FREE PLAN)","operationId":"list_courses_v1_courses_get","parameters":[{"description":"Filter courses by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.","example":["gb","ire"],"in":"query","name":"region_codes","required":false,"schema":{"description":"Filter courses by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.","items":{"type":"string"},"title":"Regions","type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CoursesPage"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"List Courses","tags":["Courses"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/courses'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/courses\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/courses/regions":{"get":{"description":"List regions (FREE PLAN)","operationId":"list_regions_v1_courses_regions_get","responses":{"200":{"content":{"application/json":{"schema":{"items":{"$ref":"#/components/schemas/Region"},"title":"Response List Regions V1 Courses Regions Get","type":"array"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"List Regions","tags":["Courses"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/courses/regions'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/courses/regions\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/dams/search":{"get":{"description":"Search dams by name (STANDARD PLAN)","operationId":"search_dams_v1_dams_search_get","parameters":[{"in":"query","name":"name","required":true,"schema":{"title":"Name","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Dams"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Search Dams","tags":["Dams"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/dams/search'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/dams/search\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/dams/{dam_id}/analysis/classes":{"get":{"description":"<p>Offspring class statistics for dam (STANDARD PLAN).</p><p>For dam results and statistics, use the <a href='https://api.theracingapi.com/documentation#tag/Horses'>horses endpoints</a>, replacing the 'dam_' dam id prefix with 'hrs_'.</p>","operationId":"dam_class_analysis_v1_dams__dam_id__analysis_classes_get","parameters":[{"in":"path","name":"dam_id","required":true,"schema":{"title":"Dam Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DamClassAnalysis"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Dam Class Analysis","tags":["Dams"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/dams/{dam_id}/analysis/classes'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/dams/{dam_id}/analysis/classes\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/dams/{dam_id}/analysis/distances":{"get":{"description":"<p>Offspring distance statistics for dam (STANDARD PLAN). .</p><p>For dam results and statistics, use the <a href='https://api.theracingapi.com/documentation#tag/Horses'>horses endpoints</a>, replacing the 'dam_' dam id prefix with 'hrs_'.</p>","operationId":"dam_distance_analysis_v1_dams__dam_id__analysis_distances_get","parameters":[{"in":"path","name":"dam_id","required":true,"schema":{"title":"Dam Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DamDistanceAnalysis"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Dam Distance Analysis","tags":["Dams"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/dams/{dam_id}/analysis/distances'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/dams/{dam_id}/analysis/distances\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/dams/{dam_id}/results":{"get":{"description":"<p>Full historic results for dam offspring (PRO PLAN).</p><p>For dam results and statistics, use the <a href='https://api.theracingapi.com/documentation#tag/Horses'>horses endpoints</a>, replacing the 'dam_' dam id prefix with 'hrs_'.</p>","operationId":"dam_results_v1_dams__dam_id__results_get","parameters":[{"in":"path","name":"dam_id","required":true,"schema":{"title":"Dam Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":50,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"title":"Skip","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultsPage"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Dam Results","tags":["Dams"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/dams/{dam_id}/results'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/dams/{dam_id}/results\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/damsires/search":{"get":{"description":"Search damsires by name (STANDARD PLAN)","operationId":"search_damsires_v1_damsires_search_get","parameters":[{"in":"query","name":"name","required":true,"schema":{"title":"Name","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Damsires"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Search Damsires","tags":["Damsires"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/damsires/search'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/damsires/search\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/damsires/{damsire_id}/analysis/classes":{"get":{"description":"<p>Grandoffspring class statistics for damsire (STANDARD PLAN).</p><p>For damsire results and statistics, use the <a href='https://api.theracingapi.com/documentation#tag/Horses'>horses endpoints</a>, replacing the 'dsi_' damsire id prefix with 'hrs_'.</p>","operationId":"damsire_class_analysis_v1_damsires__damsire_id__analysis_classes_get","parameters":[{"in":"path","name":"damsire_id","required":true,"schema":{"title":"Damsire Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DamsireClassAnalysis"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Damsire Class Analysis","tags":["Damsires"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/damsires/{damsire_id}/analysis/classes'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/damsires/{damsire_id}/analysis/classes\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/damsires/{damsire_id}/analysis/distances":{"get":{"description":"<p>Grandoffspring distance statistics for damsire (STANDARD PLAN).</p><p>For damsire results and statistics, use the <a href='https://api.theracingapi.com/documentation#tag/Horses'>horses endpoints</a>, replacing the 'dsi_' damsire id prefix with 'hrs_'.</p>","operationId":"damsire_distance_analysis_v1_damsires__damsire_id__analysis_distances_get","parameters":[{"in":"path","name":"damsire_id","required":true,"schema":{"title":"Damsire Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DamsireDistanceAnalysis"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Damsire Distance Analysis","tags":["Damsires"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/damsires/{damsire_id}/analysis/distances'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/damsires/{damsire_id}/analysis/distances\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/damsires/{damsire_id}/results":{"get":{"description":"<p>Full historic results for damsire grandoffspring (PRO PLAN). .</p><p>For damsire results and statistics, use the <a href='https://api.theracingapi.com/documentation#tag/Horses'>horses endpoints</a>, replacing the 'dsi_' damsire id prefix with 'hrs_'.</p>","operationId":"damsire_results_v1_damsires__damsire_id__results_get","parameters":[{"in":"path","name":"damsire_id","required":true,"schema":{"title":"Damsire Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}},{"in":"query","name":"limit","required":false,"schema":{"default":25,"maximum":50,"minimum":1,"title":"Limit","type":"integer"}},{"in":"query","name":"skip","required":false,"schema":{"default":0,"title":"Skip","type":"integer"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ResultsPage"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Damsire Results","tags":["Damsires"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/damsires/{damsire_id}/results'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/damsires/{damsire_id}/results\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/horses/search":{"get":{"description":"Search horses by name (STANDARD PLAN)","operationId":"search_horses_v1_horses_search_get","parameters":[{"in":"query","name":"name","required":true,"schema":{"title":"Name","type":"string"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/Horses"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Search Horses","tags":["Horses"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/horses/search'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/horses/search\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/horses/{horse_id}/analysis/distance-times":{"get":{"description":"Distance statistics for a horse, with times and going (STANDARD PLAN)","operationId":"horse_distance_time_analysis_v1_horses__horse_id__analysis_distance_times_get","parameters":[{"in":"path","name":"horse_id","required":true,"schema":{"title":"Horse Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","in":"query","name":"type","required":false,"schema":{"description":"<p>Query by race type:</p><p>chase, flat, hurdle, nh_flat</p>","items":{"type":"string"},"title":"Type","type":"array"}},{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","in":"query","name":"going","required":false,"schema":{"description":"<p>Query by going:</p><p>fast, firm, good, good_to_firm, good_to_soft, good_to_yielding, hard, heavy, holding, muddy, sloppy, slow, soft, soft_to_heavy, standard, standard_to_fast, standard_to_slow, very_soft, yielding, yielding_to_soft</p>","items":{"type":"string"},"title":"Going","type":"array"}},{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","in":"query","name":"race_class","required":false,"schema":{"description":"<p>Query by class:</p><p>class_1, class_2, class_3, class_4, class_5, class_6, class_7</p>","items":{"type":"string"},"title":"Race Class","type":"array"}},{"description":"<p>Query by minimum race distance (yards)</p>","in":"query","name":"min_distance_y","required":false,"schema":{"description":"<p>Query by minimum race distance (yards)</p>","title":"Min Distance Y","type":"integer"}},{"description":"<p>Query by maximum race distance (yards)</p>","in":"query","name":"max_distance_y","required":false,"schema":{"description":"<p>Query by maximum race distance (yards)</p>","title":"Max Distance Y","type":"integer"}},{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","in":"query","name":"age_band","required":false,"schema":{"description":"<p>Query by age band:</p><p>10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3-6yo, 3yo, 3yo+, 4-5yo, 4-6yo, 4-7yo, 4-8yo, 4yo, 4yo+, 5-6yo, 5-7yo, 5-8yo, 5yo, 5yo+, 6-7yo, 6yo, 6yo+, 7yo+, 8yo+, 9yo+</p>","items":{"type":"string"},"title":"Age Band","type":"array"}},{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","in":"query","name":"sex_restriction","required":false,"schema":{"description":"<p>Query by sex restriction:</p><p>c&f, c&g, f, f&m, m, m&g</p>","items":{"type":"string"},"title":"Sex Restriction","type":"array"}}],"responses":{"200":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HorseDistanceTimeAnalysis"}}},"description":"Successful Response"},"404":{"description":"Not found"},"422":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}},"description":"Validation Error"}},"security":[{"HTTPBasic":[]}],"summary":"Horse Distance Time Analysis","tags":["Horses"],"x-codeSamples":[{"label":"curl","lang":"Shell","source":"curl --location\\\n --request GET 'api.theracingapi.com/v1/horses/{horse_id}/analysis/distance-times'\\\n --u 'USERNAME:PASSWORD'\\\n --d \\\n"},{"label":"Python3","lang":"Python","source":"import requests\nfrom requests.auth import HTTPBasicAuth\n\nurl = \"api.theracingapi.com/v1/horses/{horse_id}/analysis/distance-times\"\nparams = {}\nresponse = requests.request(\"GET\", url, auth=HTTPBasicAuth('USERNAME','PASSWORD'), params=params)\nprint(response.json())"}]}},"/v1/horses/{horse_id}/results":{"get":{"description":"Full historic results for a horse (PRO PLAN)","operationId":"horse_results_v1_horses__horse_id__results_get","parameters":[{"in":"path","name":"horse_id","required":true,"schema":{"title":"Horse Id","type":"string"}},{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"start_date","required":false,"schema":{"description":"<p>Query from date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"Start Date","type":"string"}},{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","in":"query","name":"end_date","required":false,"schema":{"description":"<p>Query to date with format YYYY-MM-DD (e.g. 2020-01-01)</p>","title":"End Date","type":"string"}},{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","in":"query","name":"region","required":false,"schema":{"description":"<p>Query by region codes. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_regions_v1_courses_regions_get'>here</a>.</p><p>Note: If the course query parameter is specified, this will be ignored.</p>","items":{"type":"string"},"title":"Region","type":"array"}},{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","in":"query","name":"course","required":false,"schema":{"description":"Query by course ids. Get the full list <a href='https://api.theracingapi.com/documentation#tag/Courses/operation/list_courses_v1_courses_get'>here</a>.","items":{"type":"string"},"title":"Course","type":"array"}},{"description":"<p>Query by race type:</p><p>chase,