naftiko: 1.0.0-alpha2 info: label: The Racing API — Jockeys description: 'The Racing API — Jockeys. 6 operations. Lead operation: The Racing API Jockey Search. Self-contained Naftiko capability covering one The Racing Api business surface.' tags: - The Racing Api - Jockeys 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-jockeys baseUri: https://api.theracingapi.com description: The Racing API — Jockeys business capability. Self-contained, no shared references. resources: - name: v1-jockeys-search path: /v1/jockeys/search operations: - name: jockeysearchv1jockeyssearchget method: GET description: The Racing API Jockey Search outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: query type: string required: true - name: v1-jockeys-jockey_id-analysis-courses path: /v1/jockeys/{jockey_id}/analysis/courses operations: - name: jockeycourseanalysisv1jockeysjockeyidanalysiscoursesget method: GET description: The Racing API Jockey Course Analysis outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jockey_id in: path type: string required: true - name: start_date in: query type: string description:

Query from date with format YYYY-MM-DD, e.g. 2020-01-01

- name: end_date in: query type: string description:

Query to date with format YYYY-MM-DD, e.g. 2020-01-01

- name: region in: query type: string description:

Query by region codes. Get the full list here< - name: course in: query type: string description: Query by course ids. Get the full list here. - name: type in: query type: string description: '

Query by race type

Options: chase, flat, hurdle, nh_flat

' - name: going in: query type: string description: '

Query by going

Options: fast, firm, good, good_to_firm, good_to_soft, good_to_yi' - name: race_class in: query type: string description: '

Query by class

Options: class_1, class_2, class_3, class_4, class_5, class_6Query by minimum race distance (yards)

- name: max_distance_y in: query type: string description:

Query by maximum race distance (yards)

- name: age_band in: query type: string description: '

Query by age band

Options: 10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3' - name: sex_restriction in: query type: string description: '

Query by sex restriction

Options: c&f, c&g, f, f&m, m, m&g

' - name: v1-jockeys-jockey_id-analysis-distances path: /v1/jockeys/{jockey_id}/analysis/distances operations: - name: jockeydistanceanalysisv1jockeysjockeyidanalysisdistancesget method: GET description: The Racing API Jockey Distance Analysis outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jockey_id in: path type: string required: true - name: start_date in: query type: string description:

Query from date with format YYYY-MM-DD, e.g. 2020-01-01

- name: end_date in: query type: string description:

Query to date with format YYYY-MM-DD, e.g. 2020-01-01

- name: region in: query type: string description:

Query by region codes. Get the full list here< - name: course in: query type: string description: Query by course ids. Get the full list here. - name: type in: query type: string description: '

Query by race type

Options: chase, flat, hurdle, nh_flat

' - name: going in: query type: string description: '

Query by going

Options: fast, firm, good, good_to_firm, good_to_soft, good_to_yi' - name: race_class in: query type: string description: '

Query by class

Options: class_1, class_2, class_3, class_4, class_5, class_6Query by minimum race distance (yards)

- name: max_distance_y in: query type: string description:

Query by maximum race distance (yards)

- name: age_band in: query type: string description: '

Query by age band

Options: 10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3' - name: sex_restriction in: query type: string description: '

Query by sex restriction

Options: c&f, c&g, f, f&m, m, m&g

' - name: v1-jockeys-jockey_id-analysis-owners path: /v1/jockeys/{jockey_id}/analysis/owners operations: - name: jockeyowneranalysisv1jockeysjockeyidanalysisownersget method: GET description: The Racing API Jockey Owner Analysis outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jockey_id in: path type: string required: true - name: start_date in: query type: string description:

Query from date with format YYYY-MM-DD, e.g. 2020-01-01

- name: end_date in: query type: string description:

Query to date with format YYYY-MM-DD, e.g. 2020-01-01

- name: region in: query type: string description:

Query by region codes. Get the full list here< - name: course in: query type: string description: Query by course ids. Get the full list here. - name: type in: query type: string description: '

Query by race type

Options: chase, flat, hurdle, nh_flat

' - name: going in: query type: string description: '

Query by going

Options: fast, firm, good, good_to_firm, good_to_soft, good_to_yi' - name: race_class in: query type: string description: '

Query by class

Options: class_1, class_2, class_3, class_4, class_5, class_6Query by minimum race distance (yards)

- name: max_distance_y in: query type: string description:

Query by maximum race distance (yards)

- name: age_band in: query type: string description: '

Query by age band

Options: 10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3' - name: sex_restriction in: query type: string description: '

Query by sex restriction

Options: c&f, c&g, f, f&m, m, m&g

' - name: v1-jockeys-jockey_id-analysis-trainers path: /v1/jockeys/{jockey_id}/analysis/trainers operations: - name: jockeytraineranalysisv1jockeysjockeyidanalysistrainersget method: GET description: The Racing API Jockey Trainer Analysis outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jockey_id in: path type: string required: true - name: start_date in: query type: string description:

Query from date with format YYYY-MM-DD, e.g. 2020-01-01

- name: end_date in: query type: string description:

Query to date with format YYYY-MM-DD, e.g. 2020-01-01

- name: region in: query type: string description:

Query by region codes. Get the full list here< - name: course in: query type: string description: Query by course ids. Get the full list here. - name: type in: query type: string description: '

Query by race type

Options: chase, flat, hurdle, nh_flat

' - name: going in: query type: string description: '

Query by going

Options: fast, firm, good, good_to_firm, good_to_soft, good_to_yi' - name: race_class in: query type: string description: '

Query by class

Options: class_1, class_2, class_3, class_4, class_5, class_6Query by minimum race distance (yards)

- name: max_distance_y in: query type: string description:

Query by maximum race distance (yards)

- name: age_band in: query type: string description: '

Query by age band

Options: 10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3' - name: sex_restriction in: query type: string description: '

Query by sex restriction

Options: c&f, c&g, f, f&m, m, m&g

' - name: v1-jockeys-jockey_id-results path: /v1/jockeys/{jockey_id}/results operations: - name: jockeyresultsv1jockeysjockeyidresultsget method: GET description: The Racing API Jockey Results outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: jockey_id in: path type: string required: true - name: start_date in: query type: string description:

Query from date with format YYYY-MM-DD, e.g. 2020-01-01

Default: 365 days ago. Can query back to 1988-01-01.

- name: end_date in: query type: string description:

Query to date with format YYYY-MM-DD, e.g. 2020-01-01

Default: Today's date. Maximum range between start and end date is 365 days.< - name: region in: query type: string description:

Query by region codes. Get the full list here< - name: course in: query type: string description: Query by course ids. Get the full list here. - name: type in: query type: string description: '

Query by race type

Options: chase, flat, hurdle, nh_flat

' - name: going in: query type: string description: '

Query by going

Options: fast, firm, good, good_to_firm, good_to_soft, good_to_yi' - name: race_class in: query type: string description: '

Query by class

Options: class_1, class_2, class_3, class_4, class_5, class_6Query by minimum race distance (yards)

- name: max_distance_y in: query type: string description:

Query by maximum race distance (yards)

- name: age_band in: query type: string description: '

Query by age band

Options: 10yo+, 2-3yo, 2yo, 2yo+, 3-4yo, 3-5yo, 3' - name: sex_restriction in: query type: string description: '

Query by sex restriction

Options: c&f, c&g, f, f&m, m, m&g

' - 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-jockeys-rest port: 8080 description: REST adapter for The Racing API — Jockeys. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/jockeys/search name: v1-jockeys-search description: REST surface for v1-jockeys-search. operations: - method: GET name: jockeysearchv1jockeyssearchget description: The Racing API Jockey Search call: the-racing-jockeys.jockeysearchv1jockeyssearchget with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/v1/jockeys/{jockey-id}/analysis/courses name: v1-jockeys-jockey-id-analysis-courses description: REST surface for v1-jockeys-jockey_id-analysis-courses. operations: - method: GET name: jockeycourseanalysisv1jockeysjockeyidanalysiscoursesget description: The Racing API Jockey Course Analysis call: the-racing-jockeys.jockeycourseanalysisv1jockeysjockeyidanalysiscoursesget with: jockey_id: rest.jockey_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/jockeys/{jockey-id}/analysis/distances name: v1-jockeys-jockey-id-analysis-distances description: REST surface for v1-jockeys-jockey_id-analysis-distances. operations: - method: GET name: jockeydistanceanalysisv1jockeysjockeyidanalysisdistancesget description: The Racing API Jockey Distance Analysis call: the-racing-jockeys.jockeydistanceanalysisv1jockeysjockeyidanalysisdistancesget with: jockey_id: rest.jockey_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/jockeys/{jockey-id}/analysis/owners name: v1-jockeys-jockey-id-analysis-owners description: REST surface for v1-jockeys-jockey_id-analysis-owners. operations: - method: GET name: jockeyowneranalysisv1jockeysjockeyidanalysisownersget description: The Racing API Jockey Owner Analysis call: the-racing-jockeys.jockeyowneranalysisv1jockeysjockeyidanalysisownersget with: jockey_id: rest.jockey_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/jockeys/{jockey-id}/analysis/trainers name: v1-jockeys-jockey-id-analysis-trainers description: REST surface for v1-jockeys-jockey_id-analysis-trainers. operations: - method: GET name: jockeytraineranalysisv1jockeysjockeyidanalysistrainersget description: The Racing API Jockey Trainer Analysis call: the-racing-jockeys.jockeytraineranalysisv1jockeysjockeyidanalysistrainersget with: jockey_id: rest.jockey_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/jockeys/{jockey-id}/results name: v1-jockeys-jockey-id-results description: REST surface for v1-jockeys-jockey_id-results. operations: - method: GET name: jockeyresultsv1jockeysjockeyidresultsget description: The Racing API Jockey Results call: the-racing-jockeys.jockeyresultsv1jockeysjockeyidresultsget with: jockey_id: rest.jockey_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-jockeys-mcp port: 9090 transport: http description: MCP adapter for The Racing API — Jockeys. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: racing-api-jockey-search description: The Racing API Jockey Search hints: readOnly: true destructive: false idempotent: true call: the-racing-jockeys.jockeysearchv1jockeyssearchget with: name: tools.name outputParameters: - type: object mapping: $. - name: racing-api-jockey-course-analysis description: The Racing API Jockey Course Analysis hints: readOnly: true destructive: false idempotent: true call: the-racing-jockeys.jockeycourseanalysisv1jockeysjockeyidanalysiscoursesget with: jockey_id: tools.jockey_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-jockey-distance-analysis description: The Racing API Jockey Distance Analysis hints: readOnly: true destructive: false idempotent: true call: the-racing-jockeys.jockeydistanceanalysisv1jockeysjockeyidanalysisdistancesget with: jockey_id: tools.jockey_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-jockey-owner-analysis description: The Racing API Jockey Owner Analysis hints: readOnly: true destructive: false idempotent: true call: the-racing-jockeys.jockeyowneranalysisv1jockeysjockeyidanalysisownersget with: jockey_id: tools.jockey_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-jockey-trainer-analysis description: The Racing API Jockey Trainer Analysis hints: readOnly: true destructive: false idempotent: true call: the-racing-jockeys.jockeytraineranalysisv1jockeysjockeyidanalysistrainersget with: jockey_id: tools.jockey_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-jockey-results description: The Racing API Jockey Results hints: readOnly: true destructive: false idempotent: true call: the-racing-jockeys.jockeyresultsv1jockeysjockeyidresultsget with: jockey_id: tools.jockey_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: $.