{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fulcradynamics-com/json-schema/fulcradynamics-com-fulcra-apple-workout-schema.json",
  "title": "FulcraAppleWorkout",
  "description": "Represents an Apple Health workout event.",
  "x-generated": "2026-11-09",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fulcradynamics-com-openapi.json#/components/schemas/FulcraAppleWorkout",
  "properties": {
    "all_statistics": {
      "additionalProperties": true,
      "description": "A collection of descriptive statistics for the workout.",
      "title": "All Statistics",
      "type": "object"
    },
    "apple_workout_id": {
      "description": "Workout ID",
      "format": "uuid",
      "title": "Apple Workout Id",
      "type": "string"
    },
    "device": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "description": "Details of the device that recorded the workout,",
      "title": "Device"
    },
    "duration": {
      "description": "Length of the workout (seconds)",
      "title": "Duration",
      "type": "number"
    },
    "end_date": {
      "description": "the date/time when this workout ends",
      "format": "date-time",
      "title": "End Date",
      "type": "string"
    },
    "extras": {
      "anyOf": [
        {
          "additionalProperties": true,
          "type": "object"
        },
        {
          "type": "null"
        }
      ],
      "description": "Extra values that are not (yet) accounted for in the schema.",
      "title": "Extras"
    },
    "has_undetermined_duration": {
      "description": "indicates whether or not this workout has an unknown duration",
      "title": "Has Undetermined Duration",
      "type": "boolean"
    },
    "source_revision": {
      "additionalProperties": true,
      "description": "\n        Details of the source application or device that recorded the workout.\n        ",
      "title": "Source Revision",
      "type": "object"
    },
    "start_date": {
      "description": "the date/time when this workout starts",
      "format": "date-time",
      "title": "Start Date",
      "type": "string"
    },
    "workout_activities": {
      "description": "An ordered list of time segments that describe the workout.",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Workout Activities",
      "type": "array"
    },
    "workout_activity_type": {
      "default": "The type of workout.",
      "title": "Workout Activity Type",
      "type": "string"
    },
    "workout_events": {
      "description": "An ordered list of events that occurred during the workout.",
      "items": {
        "additionalProperties": true,
        "type": "object"
      },
      "title": "Workout Events",
      "type": "array"
    }
  },
  "required": [
    "start_date",
    "end_date",
    "has_undetermined_duration",
    "apple_workout_id",
    "duration",
    "extras",
    "all_statistics",
    "workout_activities",
    "workout_events",
    "source_revision",
    "device"
  ],
  "type": "object"
}