---
title: "Propose Calculator Course"
method: POST
path: "/calculator-courses/proposals"
---

# Propose Calculator Course

`POST /calculator-courses/proposals`

## Request

- Base URL: `https://safefamilyapp.com` (the document declares no server; this is the origin it was published from)
- URL: `https://safefamilyapp.com/calculator-courses/proposals`
- Auth: none declared

A visitor proposes the course they uploaded for the calculator's "Pick a race": the race's
names, the edition, and where the file came from if they know. Proposing it is their word that
it is the race's official course. Measured and kept for an admin; added on its own after the
waiting time.

## Response `201`

Successful Response

- CourseProposalOut: A course a visitor proposed for the calculator. `submitter_email` is shown to admins only.
  - `id` integer, required
  - `status` string, required
  - `event_name` string, required
  - `course_name` string, required
  - `edition_year` integer, nullable
  - `location` string, nullable
  - `country` string, nullable
  - `source_url` string, nullable
  - `submitter_email` string, nullable
  - `distance_km` number, required
  - `elevation_gain_m` number, required
  - `measurement_status` string, nullable
  - `created_at` string, date-time, required
  - `auto_approve_at` string, date-time, nullable
  - `decided_at` string, date-time, nullable
  - `decided_by` string, nullable
  - `note` string, nullable
  - `race_id` string, nullable

## 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)
