Skip to content

Runner

FieldArgsTypeDescription
idID!
statusRunnerStatus!
clothInt
reservePositionIntReserve-runner ordering within the race (R1, R2, …). Non-null only when status is RESERVE; the entries_reserve_position_only_when_reserve check constraint enforces the invariant at the database level. Sourced from the IHRB reserve="y" attribute at ingest, or set by operators when manually marking a runner as a reserve.
stallInt
raceRaceThe parent race this runner is entered into. Useful for entry-list views (e.g. a horse’s form table) where each row needs its own race context. Nullable: races are soft-deleted (deleted_at IS NOT NULL) but entry rows may still reference them; the loader returns null for those, and we’d rather surface that than nullify the entire Runner via a non-null violation. Form-history queries already filter out soft-deleted races.
horseHorse
jockeyJockey
trainerTrainer
ownership[Ownership!]
silkSilk
weightWeight!
officialRatingInt
recentFormString
startingPricePrice
equipment[EquipmentItem!]
lastRunDaysInt
courseWinnerBoolean
distanceWinnerBoolean
beatenFavoriteBoolean
casualtyReasonCasualtyReason
withdrawnReasonString
withdrawnAtDateTime
resultRunnerResult
sourceString!Origin of the runner row. 'manual' for runners added via createRunner; 'ingested' (or a provider tag) for runners written by ingestion pipelines. Drives destructive-action gating in the UI: “Delete from race” is offered when the parent race is manual or this runner was added manually.
versionInt!
createdAtDateTime!
updatedAtDateTime!