The Racing API · Capability
The Racing API — Sires
The Racing API — Sires. 4 operations. Lead operation: The Racing API Sire Search. Self-contained Naftiko capability covering one The Racing Api business surface.
What You Can Do
GET
Siresearchv1siressearchget
— The Racing API Sire Search
/v1/v1/sires/search
GET
Sireprogenyclassanalysisv1siressireidanalysisclassesget
— The Racing API Sire Progeny Class Analysis
/v1/v1/sires/{sire-id}/analysis/classes
GET
Sireprogenydistanceanalysisv1siressireidanalysisdistancesget
— The Racing API Sire Progeny Distance Analysis
/v1/v1/sires/{sire-id}/analysis/distances
GET
Sireprogenyresultsv1siressireidresultsget
— The Racing API Sire Progeny Results
/v1/v1/sires/{sire-id}/results
MCP Tools
racing-api-sire-search
The Racing API Sire Search
read-only
idempotent
racing-api-sire-progeny-class
The Racing API Sire Progeny Class Analysis
read-only
idempotent
racing-api-sire-progeny-distance
The Racing API Sire Progeny Distance Analysis
read-only
idempotent
racing-api-sire-progeny-results
The Racing API Sire Progeny Results
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: The Racing API — Sires
description: 'The Racing API — Sires. 4 operations. Lead operation: The Racing API Sire Search. Self-contained Naftiko capability
covering one The Racing Api business surface.'
tags:
- The Racing Api
- Sires
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
THE_RACING_API_API_KEY: THE_RACING_API_API_KEY
capability:
consumes:
- type: http
namespace: the-racing-sires
baseUri: https://api.theracingapi.com
description: The Racing API — Sires business capability. Self-contained, no shared references.
resources:
- name: v1-sires-search
path: /v1/sires/search
operations:
- name: siresearchv1siressearchget
method: GET
description: The Racing API Sire Search
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: query
type: string
required: true
- name: v1-sires-sire_id-analysis-classes
path: /v1/sires/{sire_id}/analysis/classes
operations:
- name: sireprogenyclassanalysisv1siressireidanalysisclassesget
method: GET
description: The Racing API Sire Progeny Class Analysis
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sire_id
in: path
type: string
required: true
- name: start_date
in: query
type: string
description: <p>Query from date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: end_date
in: query
type: string
description: <p>Query to date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: region
in: query
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<
- name: course
in: query
type: string
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>.
- name: type
in: query
type: string
description: '<p>Query by race type</p><p>Options: <code>chase</code>, <code>flat</code>, <code>hurdle</code>, <code>nh_flat</code></p>'
- name: going
in: query
type: string
description: '<p>Query by going</p><p>Options: <code>fast</code>, <code>firm</code>, <code>good</code>, <code>good_to_firm</code>,
<code>good_to_soft</code>, <code>good_to_yi'
- name: race_class
in: query
type: string
description: '<p>Query by class</p><p>Options: <code>class_1</code>, <code>class_2</code>, <code>class_3</code>,
<code>class_4</code>, <code>class_5</code>, <code>class_6</co'
- name: min_distance_y
in: query
type: string
description: <p>Query by minimum race distance (yards)</p>
- name: max_distance_y
in: query
type: string
description: <p>Query by maximum race distance (yards)</p>
- name: age_band
in: query
type: string
description: '<p>Query by age band</p><p>Options: <code>10yo+</code>, <code>2-3yo</code>, <code>2yo</code>, <code>2yo+</code>,
<code>3-4yo</code>, <code>3-5yo</code>, <code>3'
- name: sex_restriction
in: query
type: string
description: '<p>Query by sex restriction</p><p>Options: <code>c&f</code>, <code>c&g</code>, <code>f</code>, <code>f&m</code>,
<code>m</code>, <code>m&g</code></p>'
- name: v1-sires-sire_id-analysis-distances
path: /v1/sires/{sire_id}/analysis/distances
operations:
- name: sireprogenydistanceanalysisv1siressireidanalysisdistancesget
method: GET
description: The Racing API Sire Progeny Distance Analysis
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sire_id
in: path
type: string
required: true
- name: start_date
in: query
type: string
description: <p>Query from date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: end_date
in: query
type: string
description: <p>Query to date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p>
- name: region
in: query
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<
- name: course
in: query
type: string
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>.
- name: type
in: query
type: string
description: '<p>Query by race type</p><p>Options: <code>chase</code>, <code>flat</code>, <code>hurdle</code>, <code>nh_flat</code></p>'
- name: going
in: query
type: string
description: '<p>Query by going</p><p>Options: <code>fast</code>, <code>firm</code>, <code>good</code>, <code>good_to_firm</code>,
<code>good_to_soft</code>, <code>good_to_yi'
- name: race_class
in: query
type: string
description: '<p>Query by class</p><p>Options: <code>class_1</code>, <code>class_2</code>, <code>class_3</code>,
<code>class_4</code>, <code>class_5</code>, <code>class_6</co'
- name: min_distance_y
in: query
type: string
description: <p>Query by minimum race distance (yards)</p>
- name: max_distance_y
in: query
type: string
description: <p>Query by maximum race distance (yards)</p>
- name: age_band
in: query
type: string
description: '<p>Query by age band</p><p>Options: <code>10yo+</code>, <code>2-3yo</code>, <code>2yo</code>, <code>2yo+</code>,
<code>3-4yo</code>, <code>3-5yo</code>, <code>3'
- name: sex_restriction
in: query
type: string
description: '<p>Query by sex restriction</p><p>Options: <code>c&f</code>, <code>c&g</code>, <code>f</code>, <code>f&m</code>,
<code>m</code>, <code>m&g</code></p>'
- name: v1-sires-sire_id-results
path: /v1/sires/{sire_id}/results
operations:
- name: sireprogenyresultsv1siressireidresultsget
method: GET
description: The Racing API Sire Progeny Results
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: sire_id
in: path
type: string
required: true
- name: start_date
in: query
type: string
description: <p>Query from date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p><p><b>Default:</b> 365 days
ago. Can query back to 1988-01-01.</p>
- name: end_date
in: query
type: string
description: <p>Query to date with format YYYY-MM-DD, e.g. <code>2020-01-01</code></p><p><b>Default:</b> Today's
date. Maximum range between start and end date is 365 days.<
- name: region
in: query
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<
- name: course
in: query
type: string
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>.
- name: type
in: query
type: string
description: '<p>Query by race type</p><p>Options: <code>chase</code>, <code>flat</code>, <code>hurdle</code>, <code>nh_flat</code></p>'
- name: going
in: query
type: string
description: '<p>Query by going</p><p>Options: <code>fast</code>, <code>firm</code>, <code>good</code>, <code>good_to_firm</code>,
<code>good_to_soft</code>, <code>good_to_yi'
- name: race_class
in: query
type: string
description: '<p>Query by class</p><p>Options: <code>class_1</code>, <code>class_2</code>, <code>class_3</code>,
<code>class_4</code>, <code>class_5</code>, <code>class_6</co'
- name: min_distance_y
in: query
type: string
description: <p>Query by minimum race distance (yards)</p>
- name: max_distance_y
in: query
type: string
description: <p>Query by maximum race distance (yards)</p>
- name: age_band
in: query
type: string
description: '<p>Query by age band</p><p>Options: <code>10yo+</code>, <code>2-3yo</code>, <code>2yo</code>, <code>2yo+</code>,
<code>3-4yo</code>, <code>3-5yo</code>, <code>3'
- name: sex_restriction
in: query
type: string
description: '<p>Query by sex restriction</p><p>Options: <code>c&f</code>, <code>c&g</code>, <code>f</code>, <code>f&m</code>,
<code>m</code>, <code>m&g</code></p>'
- name: limit
in: query
type: string
- name: skip
in: query
type: string
authentication:
type: basic
username: '{{env.THE_RACING_API_USER}}'
password: '{{env.THE_RACING_API_PASS}}'
exposes:
- type: rest
namespace: the-racing-sires-rest
port: 8080
description: REST adapter for The Racing API — Sires. One Spectral-compliant resource per consumed operation, prefixed
with /v1.
resources:
- path: /v1/v1/sires/search
name: v1-sires-search
description: REST surface for v1-sires-search.
operations:
- method: GET
name: siresearchv1siressearchget
description: The Racing API Sire Search
call: the-racing-sires.siresearchv1siressearchget
with:
name: rest.name
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/sires/{sire-id}/analysis/classes
name: v1-sires-sire-id-analysis-classes
description: REST surface for v1-sires-sire_id-analysis-classes.
operations:
- method: GET
name: sireprogenyclassanalysisv1siressireidanalysisclassesget
description: The Racing API Sire Progeny Class Analysis
call: the-racing-sires.sireprogenyclassanalysisv1siressireidanalysisclassesget
with:
sire_id: rest.sire_id
start_date: rest.start_date
end_date: rest.end_date
region: rest.region
course: rest.course
type: rest.type
going: rest.going
race_class: rest.race_class
min_distance_y: rest.min_distance_y
max_distance_y: rest.max_distance_y
age_band: rest.age_band
sex_restriction: rest.sex_restriction
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/sires/{sire-id}/analysis/distances
name: v1-sires-sire-id-analysis-distances
description: REST surface for v1-sires-sire_id-analysis-distances.
operations:
- method: GET
name: sireprogenydistanceanalysisv1siressireidanalysisdistancesget
description: The Racing API Sire Progeny Distance Analysis
call: the-racing-sires.sireprogenydistanceanalysisv1siressireidanalysisdistancesget
with:
sire_id: rest.sire_id
start_date: rest.start_date
end_date: rest.end_date
region: rest.region
course: rest.course
type: rest.type
going: rest.going
race_class: rest.race_class
min_distance_y: rest.min_distance_y
max_distance_y: rest.max_distance_y
age_band: rest.age_band
sex_restriction: rest.sex_restriction
outputParameters:
- type: object
mapping: $.
- path: /v1/v1/sires/{sire-id}/results
name: v1-sires-sire-id-results
description: REST surface for v1-sires-sire_id-results.
operations:
- method: GET
name: sireprogenyresultsv1siressireidresultsget
description: The Racing API Sire Progeny Results
call: the-racing-sires.sireprogenyresultsv1siressireidresultsget
with:
sire_id: rest.sire_id
start_date: rest.start_date
end_date: rest.end_date
region: rest.region
course: rest.course
type: rest.type
going: rest.going
race_class: rest.race_class
min_distance_y: rest.min_distance_y
max_distance_y: rest.max_distance_y
age_band: rest.age_band
sex_restriction: rest.sex_restriction
limit: rest.limit
skip: rest.skip
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: the-racing-sires-mcp
port: 9090
transport: http
description: MCP adapter for The Racing API — Sires. One tool per consumed operation, routed inline through this capability's
consumes block.
tools:
- name: racing-api-sire-search
description: The Racing API Sire Search
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-sires.siresearchv1siressearchget
with:
name: tools.name
outputParameters:
- type: object
mapping: $.
- name: racing-api-sire-progeny-class
description: The Racing API Sire Progeny Class Analysis
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-sires.sireprogenyclassanalysisv1siressireidanalysisclassesget
with:
sire_id: tools.sire_id
start_date: tools.start_date
end_date: tools.end_date
region: tools.region
course: tools.course
type: tools.type
going: tools.going
race_class: tools.race_class
min_distance_y: tools.min_distance_y
max_distance_y: tools.max_distance_y
age_band: tools.age_band
sex_restriction: tools.sex_restriction
outputParameters:
- type: object
mapping: $.
- name: racing-api-sire-progeny-distance
description: The Racing API Sire Progeny Distance Analysis
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-sires.sireprogenydistanceanalysisv1siressireidanalysisdistancesget
with:
sire_id: tools.sire_id
start_date: tools.start_date
end_date: tools.end_date
region: tools.region
course: tools.course
type: tools.type
going: tools.going
race_class: tools.race_class
min_distance_y: tools.min_distance_y
max_distance_y: tools.max_distance_y
age_band: tools.age_band
sex_restriction: tools.sex_restriction
outputParameters:
- type: object
mapping: $.
- name: racing-api-sire-progeny-results
description: The Racing API Sire Progeny Results
hints:
readOnly: true
destructive: false
idempotent: true
call: the-racing-sires.sireprogenyresultsv1siressireidresultsget
with:
sire_id: tools.sire_id
start_date: tools.start_date
end_date: tools.end_date
region: tools.region
course: tools.course
type: tools.type
going: tools.going
race_class: tools.race_class
min_distance_y: tools.min_distance_y
max_distance_y: tools.max_distance_y
age_band: tools.age_band
sex_restriction: tools.sex_restriction
limit: tools.limit
skip: tools.skip
outputParameters:
- type: object
mapping: $.