---
url: /docs/api/core/variables/krdSchema.md
---
[**@kaiord/core**](../README.md)

***

[@kaiord/core](../README.md) / krdSchema

# Variable: krdSchema

> `const` **krdSchema**: `ZodObject`<{ `events`: `ZodOptional`<`ZodArray`<`ZodObject`<{ `data`: `ZodOptional`<`ZodNumber`>; `eventGroup`: `ZodOptional`<`ZodNumber`>; `eventType`: `ZodEnum`<{ `event_activity_start`: `"event_activity_start"`; `event_lap`: `"event_lap"`; `event_marker`: `"event_marker"`; `event_pause`: `"event_pause"`; `event_resume`: `"event_resume"`; `event_session_start`: `"event_session_start"`; `event_start`: `"event_start"`; `event_stop`: `"event_stop"`; `event_timer`: `"event_timer"`; `event_workout_step_change`: `"event_workout_step_change"`; }>; `message`: `ZodOptional`<`ZodString`>; `timestamp`: `ZodISODateTime`; }, `$strip`>>>; `extensions`: `ZodOptional`<`ZodObject`<{ `course`: `ZodOptional`<`ZodUnknown`>; `course_points`: `ZodOptional`<`ZodUnknown`>; `fit`: `ZodOptional`<`ZodUnknown`>; `health`: `ZodOptional`<`ZodObject`<{ `bodyComposition`: `ZodOptional`<`ZodObject`<{ `basalMetabolicRateKcal`: ...; `bmi`: ...; `bodyFatPercent`: ...; `bodyWaterPercent`: ...; `boneMassKilograms`: ...; `externalId`: ...; `kaiordRecordId`: ...; `kind`: ...; `leanMassKilograms`: ...; `measuredAt`: ...; `sourceBridgeId`: ...; `version`: ...; `visceralFatRating`: ...; }, `$strip`>>; `daily`: `ZodOptional`<`ZodObject`<{ `activeCalories`: ...; `date`: ...; `externalId`: ...; `floorsClimbed`: ...; `intensityMinutes`: ...; `kaiordRecordId`: ...; `kind`: ...; `restingCalories`: ...; `sourceBridgeId`: ...; `steps`: ...; `version`: ...; }, `$strip`>>; `hrv`: `ZodOptional`<`ZodObject`<{ `externalId`: ...; `kaiordRecordId`: ...; `kind`: ...; `measuredAt`: ...; `measurementWindow`: ...; `rMSSD`: ...; `score`: ...; `sourceBridgeId`: ...; `version`: ...; }, `$strip`>>; `sleep`: `ZodOptional`<`ZodObject`<{ `endTime`: ...; `externalId`: ...; `kaiordRecordId`: ...; `kind`: ...; `restingHeartRate`: ...; `score`: ...; `sourceBridgeId`: ...; `stages`: ...; `startTime`: ...; `totalDurationSeconds`: ...; `version`: ...; }, `$strip`>>; `stress`: `ZodOptional`<`ZodObject`<{ `averageLevel`: ...; `endTime`: ...; `externalId`: ...; `kaiordRecordId`: ...; `kind`: ...; `peakLevel`: ...; `sourceBridgeId`: ...; `startTime`: ...; `version`: ...; }, `$strip`>>; `weight`: `ZodOptional`<`ZodObject`<{ `externalId`: ...; `kaiordRecordId`: ...; `kind`: ...; `measuredAt`: ...; `sourceBridgeId`: ...; `version`: ...; `weightKilograms`: ...; }, `$strip`>>; }, `$catchall`<`ZodUnknown`>>>; `structured_workout`: `ZodOptional`<`ZodUnknown`>; }, `$catchall`<`ZodUnknown`>>>; `laps`: `ZodOptional`<`ZodArray`<`ZodObject`<{ `avgCadence`: `ZodOptional`<`ZodNumber`>; `avgHeartRate`: `ZodOptional`<`ZodNumber`>; `avgPower`: `ZodOptional`<`ZodNumber`>; `avgSpeed`: `ZodOptional`<`ZodNumber`>; `maxCadence`: `ZodOptional`<`ZodNumber`>; `maxHeartRate`: `ZodOptional`<`ZodNumber`>; `maxPower`: `ZodOptional`<`ZodNumber`>; `maxSpeed`: `ZodOptional`<`ZodNumber`>; `normalizedPower`: `ZodOptional`<`ZodNumber`>; `numLengths`: `ZodOptional`<`ZodNumber`>; `sport`: `ZodOptional`<`ZodEnum`<{ `alpine_skiing`: `"alpine_skiing"`; `american_football`: `"american_football"`; `archery`: `"archery"`; `baseball`: `"baseball"`; `basketball`: `"basketball"`; `boating`: `"boating"`; `boxing`: `"boxing"`; `canoeing`: `"canoeing"`; `cricket`: `"cricket"`; `cross_country_skiing`: `"cross_country_skiing"`; `cycling`: `"cycling"`; `dance`: `"dance"`; `disc_golf`: `"disc_golf"`; `diving`: `"diving"`; `driving`: `"driving"`; `e_biking`: `"e_biking"`; `fishing`: `"fishing"`; `fitness_equipment`: `"fitness_equipment"`; `floor_climbing`: `"floor_climbing"`; `flying`: `"flying"`; `generic`: `"generic"`; `geocaching`: `"geocaching"`; `golf`: `"golf"`; `grinding`: `"grinding"`; `hang_gliding`: `"hang_gliding"`; `hiit`: `"hiit"`; `hiking`: `"hiking"`; `hockey`: `"hockey"`; `horseback_riding`: `"horseback_riding"`; `hunting`: `"hunting"`; `ice_skating`: `"ice_skating"`; `inline_skating`: `"inline_skating"`; `jump_rope`: `"jump_rope"`; `jumpmaster`: `"jumpmaster"`; `kayaking`: `"kayaking"`; `kitesurfing`: `"kitesurfing"`; `lacrosse`: `"lacrosse"`; `meditation`: `"meditation"`; `mixed_martial_arts`: `"mixed_martial_arts"`; `mobility`: `"mobility"`; `motor_sports`: `"motor_sports"`; `motorcycling`: `"motorcycling"`; `mountaineering`: `"mountaineering"`; `multisport`: `"multisport"`; `paddling`: `"paddling"`; `para_sport`: `"para_sport"`; `pool_apnea`: `"pool_apnea"`; `racket`: `"racket"`; `rafting`: `"rafting"`; `rock_climbing`: `"rock_climbing"`; `rowing`: `"rowing"`; `rugby`: `"rugby"`; `running`: `"running"`; `sailing`: `"sailing"`; `shooting`: `"shooting"`; `sky_diving`: `"sky_diving"`; `snorkeling`: `"snorkeling"`; `snowboarding`: `"snowboarding"`; `snowmobiling`: `"snowmobiling"`; `snowshoeing`: `"snowshoeing"`; `soccer`: `"soccer"`; `stand_up_paddleboarding`: `"stand_up_paddleboarding"`; `surfing`: `"surfing"`; `swimming`: `"swimming"`; `tactical`: `"tactical"`; `team_sport`: `"team_sport"`; `tennis`: `"tennis"`; `training`: `"training"`; `transition`: `"transition"`; `video_gaming`: `"video_gaming"`; `volleyball`: `"volleyball"`; `wakeboarding`: `"wakeboarding"`; `wakesurfing`: `"wakesurfing"`; `walking`: `"walking"`; `water_skiing`: `"water_skiing"`; `water_sport`: `"water_sport"`; `water_tubing`: `"water_tubing"`; `wheelchair_push_run`: `"wheelchair_push_run"`; `wheelchair_push_walk`: `"wheelchair_push_walk"`; `windsurfing`: `"windsurfing"`; `winter_sport`: `"winter_sport"`; }>>; `startTime`: `ZodISODateTime`; `subSport`: `ZodOptional`<`ZodEnum`<{ `all`: `"all"`; `apnea_diving`: `"apnea_diving"`; `apnea_hunting`: `"apnea_hunting"`; `atv`: `"atv"`; `backcountry`: `"backcountry"`; `bike_to_run_transition`: `"bike_to_run_transition"`; `bmx`: `"bmx"`; `cardio_training`: `"cardio_training"`; `casual_walking`: `"casual_walking"`; `challenge`: `"challenge"`; `commuting`: `"commuting"`; `cyclocross`: `"cyclocross"`; `downhill`: `"downhill"`; `e_bike_fitness`: `"e_bike_fitness"`; `e_bike_mountain`: `"e_bike_mountain"`; `elliptical`: `"elliptical"`; `exercise`: `"exercise"`; `flexibility_training`: `"flexibility_training"`; `gauge_diving`: `"gauge_diving"`; `generic`: `"generic"`; `gravel_cycling`: `"gravel_cycling"`; `hand_cycling`: `"hand_cycling"`; `indoor_cycling`: `"indoor_cycling"`; `indoor_rowing`: `"indoor_rowing"`; `indoor_running`: `"indoor_running"`; `indoor_skiing`: `"indoor_skiing"`; `indoor_walking`: `"indoor_walking"`; `lap_swimming`: `"lap_swimming"`; `map`: `"map"`; `match`: `"match"`; `mixed_surface`: `"mixed_surface"`; `motocross`: `"motocross"`; `mountain`: `"mountain"`; `multi_gas_diving`: `"multi_gas_diving"`; `navigate`: `"navigate"`; `obstacle`: `"obstacle"`; `open_water`: `"open_water"`; `pilates`: `"pilates"`; `rc_drone`: `"rc_drone"`; `recumbent`: `"recumbent"`; `resort`: `"resort"`; `road`: `"road"`; `run_to_bike_transition`: `"run_to_bike_transition"`; `single_gas_diving`: `"single_gas_diving"`; `skate_skiing`: `"skate_skiing"`; `speed_walking`: `"speed_walking"`; `spin`: `"spin"`; `stair_climbing`: `"stair_climbing"`; `street`: `"street"`; `strength_training`: `"strength_training"`; `swim_to_bike_transition`: `"swim_to_bike_transition"`; `track`: `"track"`; `track_cycling`: `"track_cycling"`; `track_me`: `"track_me"`; `trail`: `"trail"`; `treadmill`: `"treadmill"`; `virtual_activity`: `"virtual_activity"`; `warm_up`: `"warm_up"`; `whitewater`: `"whitewater"`; `wingsuit`: `"wingsuit"`; `yoga`: `"yoga"`; }>>; `swimStroke`: `ZodOptional`<`ZodEnum`<{ `backstroke`: `"backstroke"`; `breaststroke`: `"breaststroke"`; `butterfly`: `"butterfly"`; `drill`: `"drill"`; `freestyle`: `"freestyle"`; `im`: `"im"`; `mixed`: `"mixed"`; }>>; `totalAscent`: `ZodOptional`<`ZodNumber`>; `totalCalories`: `ZodOptional`<`ZodNumber`>; `totalDescent`: `ZodOptional`<`ZodNumber`>; `totalDistance`: `ZodOptional`<`ZodNumber`>; `totalElapsedTime`: `ZodNumber`; `totalTimerTime`: `ZodOptional`<`ZodNumber`>; `trigger`: `ZodOptional`<`ZodEnum`<{ `distance`: `"distance"`; `fitness_equipment`: `"fitness_equipment"`; `manual`: `"manual"`; `position`: `"position"`; `session_end`: `"session_end"`; `time`: `"time"`; }>>; `workoutStepIndex`: `ZodOptional`<`ZodNumber`>; }, `$strip`>>>; `metadata`: `ZodObject`<{ `created`: `ZodISODateTime`; `manufacturer`: `ZodOptional`<`ZodString`>; `product`: `ZodOptional`<`ZodString`>; `serialNumber`: `ZodOptional`<`ZodString`>; `sport`: `ZodOptional`<`ZodString`>; `subSport`: `ZodOptional`<`ZodString`>; }, `$strip`>; `records`: `ZodOptional`<`ZodArray`<`ZodObject`<{ `altitude`: `ZodOptional`<`ZodNumber`>; `cadence`: `ZodOptional`<`ZodNumber`>; `distance`: `ZodOptional`<`ZodNumber`>; `heartRate`: `ZodOptional`<`ZodNumber`>; `position`: `ZodOptional`<`ZodObject`<{ `lat`: `ZodNumber`; `lon`: `ZodNumber`; }, `$strip`>>; `power`: `ZodOptional`<`ZodNumber`>; `speed`: `ZodOptional`<`ZodNumber`>; `stanceTime`: `ZodOptional`<`ZodNumber`>; `stepLength`: `ZodOptional`<`ZodNumber`>; `temperature`: `ZodOptional`<`ZodNumber`>; `timestamp`: `ZodISODateTime`; `verticalOscillation`: `ZodOptional`<`ZodNumber`>; }, `$strip`>>>; `sessions`: `ZodOptional`<`ZodArray`<`ZodObject`<{ `avgCadence`: `ZodOptional`<`ZodNumber`>; `avgHeartRate`: `ZodOptional`<`ZodNumber`>; `avgPower`: `ZodOptional`<`ZodNumber`>; `avgSpeed`: `ZodOptional`<`ZodNumber`>; `intensityFactor`: `ZodOptional`<`ZodNumber`>; `maxCadence`: `ZodOptional`<`ZodNumber`>; `maxHeartRate`: `ZodOptional`<`ZodNumber`>; `maxPower`: `ZodOptional`<`ZodNumber`>; `maxSpeed`: `ZodOptional`<`ZodNumber`>; `normalizedPower`: `ZodOptional`<`ZodNumber`>; `sport`: `ZodString`; `startTime`: `ZodISODateTime`; `subSport`: `ZodOptional`<`ZodString`>; `totalAscent`: `ZodOptional`<`ZodNumber`>; `totalCalories`: `ZodOptional`<`ZodNumber`>; `totalDescent`: `ZodOptional`<`ZodNumber`>; `totalDistance`: `ZodOptional`<`ZodNumber`>; `totalElapsedTime`: `ZodNumber`; `totalTimerTime`: `ZodOptional`<`ZodNumber`>; `trainingStressScore`: `ZodOptional`<`ZodNumber`>; }, `$strip`>>>; `type`: `ZodEnum`<{ `body_composition`: `"body_composition"`; `course`: `"course"`; `daily_wellness`: `"daily_wellness"`; `hrv_summary`: `"hrv_summary"`; `recorded_activity`: `"recorded_activity"`; `sleep_record`: `"sleep_record"`; `stress_episode`: `"stress_episode"`; `structured_workout`: `"structured_workout"`; `weight_measurement`: `"weight_measurement"`; }>; `version`: `ZodString`; }, `$strip`>

Defined in: [packages/core/src/domain/schemas/krd/index.ts:91](https://github.com/pablo-albaladejo/kaiord/blob/3eacbe62ef72342d970523967cc5155b5935bb85/packages/core/src/domain/schemas/krd/index.ts#L91)

Zod schema for the complete KRD (Kaiord Representation Definition) format.

KRD is a JSON-based canonical format for structured workout, recorded
activity, course, and (as of v2.0) health-domain data. The `type` field
is the top-level discriminator and gates the conditional `metadata.sport`
invariant:

* For `structured_workout`, `recorded_activity`, `course` —
  `metadata.sport` MUST be a non-empty string (preserved from v1.x).
* For the six health types — `metadata.sport` MUST be absent or empty.

MIME type: `application/vnd.kaiord+json`

## Example

```typescript
import { krdSchema } from '@kaiord/core';

const krd = krdSchema.parse({
  version: '2.0',
  type: 'sleep_record',
  metadata: { created: '2026-05-22T07:00:00Z' },
  extensions: {
    health: {
      sleep: { ... }
    }
  }
});
```
