---
title: "Submit Race Results"
method: POST
path: "/races/{race_id}/results"
---

# Submit Race Results

`POST /races/{race_id}/results`

## Request

- Base URL: `https://safefamilyapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://safefamilyapp.com/races/{race_id}/results`
- Auth: HTTP bearer

Organizer submission workflow. Requires ownership of the race's event.

Always validates then re-scores from the raw uploaded file — the
organizer can never supply a score directly (HANDBOOK.md "Validation and
anti-gaming"). A successful submission replaces any previously stored
results for this race.

## Path parameters

- `race_id` string, required

## Response `200`

Successful Response

- SubmissionResult
  - `is_valid` boolean, required
  - `errors` ValidationIssueOut[], required
    - `severity` string, required
    - `row` integer, nullable, required
    - `field` string, nullable, required
    - `message` string, required
  - `warnings` ValidationIssueOut[], required
    - `severity` string, required
    - `row` integer, nullable, required
    - `field` string, nullable, required
    - `message` string, required
  - `scores` RunnerScoreOut[]
    - `rank` union, required
      - integer
      - string
    - `bib_number` string, nullable, required
    - `family_name` string, required
    - `first_name` string, required
    - `otri_score` integer, nullable
    - `base_performance` number
    - `course_adjustment` number
    - `field_adjustment` number
    - `environmental_factor` number
    - `confidence` string
    - `scoring_version` string, required
    - `status` string
    - `performance_rate` number
    - `quality_flags` string[]
    - `finish_time_seconds` integer, nullable
    - `runner_id` string, nullable
    - `gender` string, nullable
    - `nationality` string, nullable
  - `columns` object
  - `ignored_columns` string[]

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/safefamilyapp/apis/otri-api.md) · [All operations](https://skmtc.dev/safefamilyapp/apis/otri-api/llms.txt) · [OpenAPI document](https://skmtc.dev/safefamilyapp/apis/otri-api/revisions/d07bb03cb836?raw)
