---
title: "Race Recommendations Discover"
method: POST
path: "/onboarding/race-recommendations/discover"
tags: ["onboarding"]
---

# Race Recommendations Discover

`POST /onboarding/race-recommendations/discover`

Stream web discovery for a user-named race and attach on success.

On success: streams the underlying discovery events plus a final
``attached`` event with the resulting ``user_event``. On failure:
creates an ``EventCandidate`` for manual review and emits a
``not_found`` terminal event.

## Query parameters

- `user_id` string, nullable

## Request body

- DiscoverRecommendationRequest — Payload to run web discovery for a missing event named by the user.
  - `name` string, required
  - `city` string, nullable
  - `country` string, nullable
  - `approximate_date` string, date, nullable
  - `sport_type` 'trail_running' | 'road_running' | 'cycling_road' | 'cycling_mtb' | 'triathlon' | 'swimming' | 'generic' — Supported event types.
  - `discipline_name` string, nullable
  - `distance_km` number, nullable

## Response `200`

Successful Response

- unknown

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.dev/imperfect/apis/imperfect-api.md) · [All operations](https://skmtc.dev/imperfect/apis/imperfect-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/imperfect/imperfect-api/revisions/cc2293a44257/schema)
