> ## Documentation Index
> Fetch the complete documentation index at: https://api-docs.wodup.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Types

> Details for specifying results

<Tip>Result details get validated against the following JSON schemas.</Tip>

## AmrapResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "AMRAP Workout Schema",
  "type": "object",
  "required": ["rounds", "partial_index", "partial_amount"],
  "additionalProperties": false,
  "properties": {
    "rounds": {
      "type": "integer",
      "minimum": 0
    },
    "partial_index": {
      "type": "integer",
      "minimum": 0
    },
    "partial_amount": {
      "type": "integer",
      "minimum": 0
    },
    "max_reps": {
      "type": "array",
      "items": {
        "type": "array",
        "items": {
          "type": ["object", "null"],
          "required": ["reps"],
          "additionalProperties": false,
          "properties": {
            "reps": {
              "type": "integer"
            }
          }
        },
        "minItems": 1,
        "maxItems": 100,
        "additionalItems": false
      },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "dynamic_attributes": {
      "$ref": "results/common.json#/dynamic"
    }
  }
}
```

## CardioIntervalsResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Cardio Intervals Result Schema",
  "type": "object",
  "required": ["sets", "rest"],
  "additionalProperties": false,
  "properties": {
    "rest": { "type": "object" },
    "sets": {
      "type": "array",
      "items": { "$ref": "results/common.json#/trackable" },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    }
  }
}
```

## CardioResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Cardio Result Schema",
  "type": "object",
  "required": [ "sets" ],
  "additionalProperties": false,
  "properties": {
    "rest": { "type": "object" },
    "sets": {
      "type": "array",
      "items": { "$ref": "results/common.json#/trackable" },
      "minItems": 1,
      "maxItems": 1,
      "additionalItems": false
    }
  }
}
```

## DeathByResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "DeathBy Workout Schema",
  "type": "object",
  "required": [ "rounds", "partial_index", "partial_amount" ],
  "additionalProperties": false,
  "properties": {
    "rounds": { "type": "integer", "minimum": 0 },
    "partial_index": { "type": "integer", "minimum": 0 },
    "partial_amount": { "type": "integer", "minimum": 0 },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## EmomResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-07/schema#",
  "title": "EMOM Result Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "version": {
      "type": "integer"
    },
    "rounds": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "items": {
        "type": "array",
        "maxItems": 100,
        "items": {
          "type": "array",
          "maxItems": 100,
          "items": { "$ref": "results/common.json#/emom_set" }
        }
      }
    },
    "missed_blocks": {
      "type": "array",
      "items": { "type": "integer", "minimum": 0 },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "completed_blocks": {
      "type": "array",
      "items": { "type": "integer", "minimum": 0 },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  },
  "if": {
    "properties": { "version": { "const": 2 } },
    "required": ["version"]
  },
  "then": {
    "required": ["rounds"]
  },
  "else": {
    "anyOf": [
      { "required": ["missed_blocks"] },
      { "required": ["completed_blocks"] }
    ]
  }
}
```

## FgbResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "FGB Result Schema",
  "type": "object",
  "additionalProperties": false,
  "anyOf": [
    { "required": ["reps"] },
    { "required": ["totals"] }
  ],
  "properties": {
    "reps": {
      "type": "array",
      "items": {
        "type": "array",
        "items": { "type": "integer", "minimum": 0 },
        "minItems": 1,
        "maxItems": 40,
        "additionalItems": false
      },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "totals": {
      "type": "array",
      "items": { "type": "integer", "minimum": 0 },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## ForTimeResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "ForTime Result Schema",
  "type": "object",
  "additionalProperties": false,
  "anyOf": [
    { "required": ["total"] },
    { "required": ["time_cap", "partition_any_way"] },
    { "required": ["time_cap", "rounds", "partial_index", "partial_amount"] }
  ],
  "properties": {
    "total": { "type": "number", "minimum": 1 },
    "time_cap": { "type": "integer", "minimum": 1 },
    "rounds": { "type": "integer", "minimum": 0 },
    "partial_index": { "type": "integer", "minimum": 0 },
    "partial_amount": { "type": "integer", "minimum": 0 },
    "partition_any_way": {
      "type": "array",
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false,
      "items": {
        "title": "Partition Any Way Result Set",
        "type": "object",
        "required": ["id"],
        "additionalProperties": false,
        "properties": {
          "id": { "type": "integer" },
          "reps": { "$ref": "results/common.json#/logged_reps" },
          "load": { "type": ["number", "null"], "minimum": 0 },
          "load_unit": { "enum": ["lbs", "kg", "pood"] },
          "height": { "type": ["number", "null"], "minimum": 0 },
          "height_unit": { "enum": ["inches", "cm", "feet"] },
          "duration": { "type": ["number", "null"], "minimum": 0 },
          "duration_unit": { "enum": ["seconds", "minutes"] },
          "distance": { "type": ["number", "null"], "minimum": 0 },
          "distance_unit": {
            "enum": ["feet", "yards", "miles", "meters", "km"]
          },
          "calories": { "type": ["number", "null"], "minimum": 0 },
          "average_power": { "type": ["number", "null"], "minimum": 0 },
          "average_power_unit": { "enum": ["watts", "kcal/h"] },
          "peak_power": { "type": ["number", "null"], "minimum": 0 },
          "peak_power_unit": { "enum": ["watts", "kcal/h"] },
          "tempo": { "type": ["string", "null"], "pattern": "^[0-9XA]{1,4}$" }
        }
      }
    },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## FranStyleResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "FranStyle Result Schema",
  "type": "object",
  "additionalProperties": false,
  "anyOf": [
    { "required": ["total"] },
    { "required": ["time_cap", "time_cap_rounds", "partial_index", "partial_amount"] }
  ],
  "properties": {
    "total": { "type": "number", "minimum": 1 },
    "rounds": {
      "type": "array",
      "items": { "type": "number", "minimum": 1 },
      "minItems": 2,
      "maxItems": 100,
      "additionalItems": false
    },
    "time_cap": { "type": "integer", "minimum": 1 },
    "time_cap_rounds": { "type": "integer", "minimum": 0 },
    "partial_index": { "type": "integer", "minimum": 0 },
    "partial_amount": { "type": "integer", "minimum": 0 },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## GenericResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Generic Result Schema",
  "type": "object",
  "additionalProperties": false,
  "properties": {
    "reps": { "type": "integer", "minimum": 0 },
    "total": { "type": "number", "minimum": 1 },
    "rounds": { "type": "integer", "minimum": 0 },
    "partial_reps": { "type": "integer", "minimum": 0 },
    "distance": { "type": "number", "minimum": 0 },
    "distance_unit": { "enum": ["feet", "yards", "miles", "meters", "km"] },
    "weight": { "type": "number", "minimum": 0 },
    "weight_unit": { "enum": ["kg", "lbs", "pood"] },
    "peak_power": { "type": "number", "minimum": 0 },
    "peak_power_unit": { "enum": ["watts", "kcal/h"] },
    "max_speed": { "type": "number", "minimum": 0 },
    "max_speed_unit":  { "enum": ["mph", "km/h"] },
    "points": { "type": "number" },
    "time_cap": { "type": "integer", "minimum": 1 },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## MaxRepsResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "MaxReps Result Schema",
  "type": "object",
  "required": ["reps"],
  "additionalProperties": false,
  "properties": {
    "reps": { "type": "integer", "minimum": 1 },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## RoundsForTimeResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "RoundsForTime Result Schema",
  "type": "object",
  "additionalProperties": false,
  "anyOf": [
    { "required": ["total"] },
    { "required": ["time_cap", "rounds", "partial_index", "partial_amount"] }
  ],
  "properties": {
    "total": { "type": "number", "minimum": 1 },
    "rounds": {
      "type": ["array", "integer"],
      "minimum": 0,
      "items": { "type": "number", "minimum": 1 },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "time_cap": { "type": "integer", "minimum": 1 },
    "partial_index": { "type": "integer", "minimum": 0 },
    "partial_amount": { "type": "integer", "minimum": 0 },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## StrengthResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Strength Result Schema",
  "type": "object",
  "required": ["sets", "rest"],
  "additionalProperties": false,
  "properties": {
    "rest": { "type": "object" },
    "sets": {
      "type": "array",
      "items": { "$ref": "results/common.json#/trackable" },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    }
  }
}
```

## TabataResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "Tabata Result Schema",
  "type": "object",
  "required": ["reps"],
  "additionalProperties": false,
  "properties": {
    "reps": {
      "type": "array",
      "items": {
        "type": "array",
        "items": { "type": "integer", "minimum": 0 },
        "minItems": 1,
        "maxItems": 100,
        "additionalItems": false
      },
      "minItems": 1,
      "maxItems": 100,
      "additionalItems": false
    },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## TwelveDaysResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "TwelveDays Result Schema",
  "type": "object",
  "additionalProperties": false,
  "anyOf": [
    { "required": ["total"] },
    { "required": ["time_cap", "rounds", "partial_index", "partial_amount"] }
  ],
  "properties": {
    "total": { "type": "number", "minimum": 1 },
    "time_cap": { "type": "integer", "minimum": 1 },
    "rounds": { "type": "integer", "minimum": 0 },
    "partial_index": { "type": "integer", "minimum": 0 },
    "partial_amount": { "type": "integer", "minimum": 0 },
    "dynamic_attributes": { "$ref": "results/common.json#/dynamic" }
  }
}
```

## WarmUpResult

```json theme={null}
{
  "$schema": "http://json-schema.org/draft-04/schema#",
  "title": "WarmUp Result Schema",
  "type": "object",
  "required": ["completed"],
  "additionalProperties": false,
  "properties": {
    "completed": { "type": "boolean" }
  }
}
```

## Common

```json common.json theme={null}
{
  "logged_reps": {
    "type": ["integer", "string", "null"],
    "minimum": 0,
    "pattern": "^[0-9]+(\\.[0-9]+)*$"
  },
  "trackable": {
    "title": "Trackable Result Set",
    "type": "object",
    "required": ["movement_id"],
    "additionalProperties": false,
    "properties": {
      "movement_id": { "type": "integer" },
      "set": { "type": "integer" },
      "pr": { "type": "boolean" },
      "pr_amount": { "type": ["number", "null"] },
      "prs": { "type": ["object", "null"] },
      "reps": { "$ref": "results/common.json#/logged_reps" },
      "load": { "type": ["number", "null"], "minimum": 0 },
      "load_unit": { "enum": ["lbs", "kg", "pood"] },
      "height": { "type": ["number", "null"], "minimum": 0 },
      "height_unit": { "enum": ["inches", "cm", "feet"] },
      "duration": { "type": ["number", "null"], "minimum": 0 },
      "duration_unit": { "enum": ["seconds", "minutes"] },
      "distance": { "type": ["number", "null"], "minimum": 0 },
      "distance_unit": { "enum": ["feet", "yards", "miles", "meters", "km"] },
      "calories": { "type": ["number", "null"], "minimum": 0 },
      "average_power": { "type": ["number", "null"], "minimum": 0 },
      "average_power_unit": { "enum": ["watts", "kcal/h"] },
      "peak_power": { "type": ["number", "null"], "minimum": 0 },
      "peak_power_unit": { "enum": ["watts", "kcal/h"] },
      "tempo": {
        "type": ["string", "null"],
        "pattern": "^[0-9XA]{1,4}$"
      },
      "fixed": { "enum": ["distance", "duration"] },
      "failure": { "type": "boolean" }
    }
  },
  "emom_set": {
    "type": "object",
    "required": ["id"],
    "properties": {
      "id": { "type": "integer" },
      "reps": { "$ref": "results/common.json#/logged_reps" },
      "reps_female": { "$ref": "results/common.json#/logged_reps" }
    }
  },
  "dynamic": {
    "type": "array",
    "items": {
      "type": ["object", "null"],
      "additionalProperties": false,
      "properties": {
        "load": { "type": ["string", "null"] },
        "load_unit": { "enum": ["lbs", "kg", "pood"] },
        "height": { "type": ["string", "null"] },
        "height_unit": { "enum": ["inches", "cm", "feet"] }
      }
    },
    "minItems": 1,
    "maxItems": 100,
    "additionalItems": false
  }
}
```
