naftiko: 1.0.0-alpha2 info: label: The Racing API — Racecards description: 'The Racing API — Racecards. 8 operations. Lead operation: The Racing API Racecards Basic. Self-contained Naftiko capability covering one The Racing Api business surface.' tags: - The Racing Api - Racecards 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-racecards baseUri: https://api.theracingapi.com description: The Racing API — Racecards business capability. Self-contained, no shared references. resources: - name: v1-racecards-basic path: /v1/racecards/basic operations: - name: racecardsbasicv1racecardsbasicget method: GET description: The Racing API Racecards Basic outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: day in: query type: string description: Query racecards by day:
today, tomorrow - name: region_codes in: query type: string description:

Query by region codes. Get the full list here< - name: course_ids in: query type: string description: Query by course ids. Get the full list here. - name: limit in: query type: string - name: skip in: query type: string - name: v1-racecards-big-races path: /v1/racecards/big-races operations: - name: racecardsbigracesv1racecardsbigracesget method: GET description: The Racing API Racecards Big Races outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: start_date in: query type: string description:

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

Date must be today or greater, defaults to today.

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

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

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

Query by region codes. Get the full list here< - name: course_ids in: query type: string description: Query by course ids. Get the full list here. - name: limit in: query type: string - name: skip in: query type: string - name: v1-racecards-free path: /v1/racecards/free operations: - name: racecardsfreev1racecardsfreeget method: GET description: The Racing API Racecards Free outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: day in: query type: string description: Query racecards by day:
today, tomorrow - name: region_codes in: query type: string description:

Query by region codes. Get the full list here< - name: course_ids in: query type: string description: Query by course ids. Get the full list here. - name: limit in: query type: string - name: skip in: query type: string - name: v1-racecards-pro path: /v1/racecards/pro operations: - name: racecardsprov1racecardsproget method: GET description: The Racing API Racecards Pro outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: date in: query type: string description: Query racecards by date with format YYYY-MM-DD (e.g 2023-04-05) - name: region_codes in: query type: string description:

Query by region codes. Get the full list here< - name: course_ids in: query type: string description: Query by course ids. Get the full list here. - name: limit in: query type: string - name: skip in: query type: string - name: v1-racecards-standard path: /v1/racecards/standard operations: - name: racecardsstandardv1racecardsstandardget method: GET description: The Racing API Racecards Standard outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: day in: query type: string description: Query racecards by day:
today, tomorrow - name: region_codes in: query type: string description:

Query by region codes. Get the full list here< - name: course_ids in: query type: string description: Query by course ids. Get the full list here. - name: limit in: query type: string - name: skip in: query type: string - name: v1-racecards-summaries path: /v1/racecards/summaries operations: - name: racecardssummariesv1racecardssummariesget method: GET description: The Racing API Racecards Summaries outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: date in: query type: string description: Query racecard summaries by date with format YYYY-MM-DD (e.g 2023-04-05) - name: region_codes in: query type: string description:

Query by region codes. Get the full list here< - name: course_ids in: query type: string description: Query by course ids. Get the full list here. - name: v1-racecards-horse_id-results path: /v1/racecards/{horse_id}/results operations: - name: racecardhorseresultsv1racecardshorseidresultsget method: GET description: The Racing API Racecard Horse Results outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: horse_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: limit in: query type: string - name: skip in: query type: string - name: v1-racecards-race_id-standard path: /v1/racecards/{race_id}/standard operations: - name: racestandardv1racecardsraceidstandardget method: GET description: The Racing API Race Standard outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: race_id in: path type: string required: true authentication: type: basic username: '{{env.THE_RACING_API_USER}}' password: '{{env.THE_RACING_API_PASS}}' exposes: - type: rest namespace: the-racing-racecards-rest port: 8080 description: REST adapter for The Racing API — Racecards. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/racecards/basic name: v1-racecards-basic description: REST surface for v1-racecards-basic. operations: - method: GET name: racecardsbasicv1racecardsbasicget description: The Racing API Racecards Basic call: the-racing-racecards.racecardsbasicv1racecardsbasicget with: day: rest.day region_codes: rest.region_codes course_ids: rest.course_ids limit: rest.limit skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/v1/racecards/big-races name: v1-racecards-big-races description: REST surface for v1-racecards-big-races. operations: - method: GET name: racecardsbigracesv1racecardsbigracesget description: The Racing API Racecards Big Races call: the-racing-racecards.racecardsbigracesv1racecardsbigracesget with: start_date: rest.start_date end_date: rest.end_date region_codes: rest.region_codes course_ids: rest.course_ids limit: rest.limit skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/v1/racecards/free name: v1-racecards-free description: REST surface for v1-racecards-free. operations: - method: GET name: racecardsfreev1racecardsfreeget description: The Racing API Racecards Free call: the-racing-racecards.racecardsfreev1racecardsfreeget with: day: rest.day region_codes: rest.region_codes course_ids: rest.course_ids limit: rest.limit skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/v1/racecards/pro name: v1-racecards-pro description: REST surface for v1-racecards-pro. operations: - method: GET name: racecardsprov1racecardsproget description: The Racing API Racecards Pro call: the-racing-racecards.racecardsprov1racecardsproget with: date: rest.date region_codes: rest.region_codes course_ids: rest.course_ids limit: rest.limit skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/v1/racecards/standard name: v1-racecards-standard description: REST surface for v1-racecards-standard. operations: - method: GET name: racecardsstandardv1racecardsstandardget description: The Racing API Racecards Standard call: the-racing-racecards.racecardsstandardv1racecardsstandardget with: day: rest.day region_codes: rest.region_codes course_ids: rest.course_ids limit: rest.limit skip: rest.skip outputParameters: - type: object mapping: $. - path: /v1/v1/racecards/summaries name: v1-racecards-summaries description: REST surface for v1-racecards-summaries. operations: - method: GET name: racecardssummariesv1racecardssummariesget description: The Racing API Racecards Summaries call: the-racing-racecards.racecardssummariesv1racecardssummariesget with: date: rest.date region_codes: rest.region_codes course_ids: rest.course_ids outputParameters: - type: object mapping: $. - path: /v1/v1/racecards/{horse-id}/results name: v1-racecards-horse-id-results description: REST surface for v1-racecards-horse_id-results. operations: - method: GET name: racecardhorseresultsv1racecardshorseidresultsget description: The Racing API Racecard Horse Results call: the-racing-racecards.racecardhorseresultsv1racecardshorseidresultsget with: horse_id: rest.horse_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: $. - path: /v1/v1/racecards/{race-id}/standard name: v1-racecards-race-id-standard description: REST surface for v1-racecards-race_id-standard. operations: - method: GET name: racestandardv1racecardsraceidstandardget description: The Racing API Race Standard call: the-racing-racecards.racestandardv1racecardsraceidstandardget with: race_id: rest.race_id outputParameters: - type: object mapping: $. - type: mcp namespace: the-racing-racecards-mcp port: 9090 transport: http description: MCP adapter for The Racing API — Racecards. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: racing-api-racecards-basic description: The Racing API Racecards Basic hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardsbasicv1racecardsbasicget with: day: tools.day region_codes: tools.region_codes course_ids: tools.course_ids limit: tools.limit skip: tools.skip outputParameters: - type: object mapping: $. - name: racing-api-racecards-big-races description: The Racing API Racecards Big Races hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardsbigracesv1racecardsbigracesget with: start_date: tools.start_date end_date: tools.end_date region_codes: tools.region_codes course_ids: tools.course_ids limit: tools.limit skip: tools.skip outputParameters: - type: object mapping: $. - name: racing-api-racecards-free description: The Racing API Racecards Free hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardsfreev1racecardsfreeget with: day: tools.day region_codes: tools.region_codes course_ids: tools.course_ids limit: tools.limit skip: tools.skip outputParameters: - type: object mapping: $. - name: racing-api-racecards-pro description: The Racing API Racecards Pro hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardsprov1racecardsproget with: date: tools.date region_codes: tools.region_codes course_ids: tools.course_ids limit: tools.limit skip: tools.skip outputParameters: - type: object mapping: $. - name: racing-api-racecards-standard description: The Racing API Racecards Standard hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardsstandardv1racecardsstandardget with: day: tools.day region_codes: tools.region_codes course_ids: tools.course_ids limit: tools.limit skip: tools.skip outputParameters: - type: object mapping: $. - name: racing-api-racecards-summaries description: The Racing API Racecards Summaries hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardssummariesv1racecardssummariesget with: date: tools.date region_codes: tools.region_codes course_ids: tools.course_ids outputParameters: - type: object mapping: $. - name: racing-api-racecard-horse-results description: The Racing API Racecard Horse Results hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racecardhorseresultsv1racecardshorseidresultsget with: horse_id: tools.horse_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: $. - name: racing-api-race-standard description: The Racing API Race Standard hints: readOnly: true destructive: false idempotent: true call: the-racing-racecards.racestandardv1racecardsraceidstandardget with: race_id: tools.race_id outputParameters: - type: object mapping: $.