createManualActivity
write
**converts units**: `distanceKm * 1000` → meters, `durationMin * 60` → seconds, before building the request body; `startDatetime` is NOT routed through `formatDate` (it's a full local timestamp, not a bare calendar date) — **must include milliseconds**, e.g. `"2026-09-22T10:00:00.000"`; omitting them produced a live HTTP 500 `ValueInstantiationException` from Garmin during verification. Live-verified: the converted `summaryDTO.distance`/`summaryDTO.duration` were read back via `getActivity` and matched the expected meters/seconds exactly (5.5km/30min → 5500m/1800s)
createManualActivity(startDatetime, timeZone, typeKey, distanceKm, durationMin, activityName)| Parameter | Type | Optional | Description |
|---|---|---|---|
| startDatetime | string | no | |
| timeZone | string | no | |
| typeKey | string | no | |
| distanceKm | number | no | |
| durationMin | number | no | |
| activityName | string | no |
In Claude this is the create_manual_activity tool.