{ "$schema": "http://json-schema.org/draft-04/schema#", "type": "object", "properties": { "id": { "type": "string", "pattern": "^[0-9a-zA-Z_-]+$" }, "name": { "type": "string" }, "force": { "type": [ "string", "null" ], "enum": [ null, "static", "pull", "push" ] }, "level": { "type": "string", "enum": [ "beginner", "intermediate", "expert" ] }, "mechanic": { "type": [ "string", "null" ], "enum": [ "isolation", "compound", null ] }, "equipment": { "type": [ "string", "null" ], "enum": [ null, "medicine ball", "dumbbell", "body only", "bands", "kettlebells", "foam roll", "cable", "machine", "barbell", "exercise ball", "e-z curl bar", "other" ] }, "primaryMuscles": { "type": "array", "items": [ { "type": "string", "enum": [ "abdominals", "abductors", "adductors", "biceps", "calves", "chest", "forearms", "glutes", "hamstrings", "lats", "lower back", "middle back", "neck", "quadriceps", "shoulders", "traps", "triceps" ] } ] }, "secondaryMuscles": { "type": "array", "items": [ { "type": "string", "enum": [ "abdominals", "abductors", "adductors", "biceps", "calves", "chest", "forearms", "glutes", "hamstrings", "lats", "lower back", "middle back", "neck", "quadriceps", "shoulders", "traps", "triceps" ] } ] }, "instructions": { "type": "array", "items": [ { "type": "string" } ] }, "category": { "type": "string", "enum": [ "powerlifting", "strength", "stretching", "cardio", "olympic weightlifting", "strongman", "plyometrics" ] }, "images": { "type": "array", "items": [ { "type": "string" } ] } }, "required": [ "id", "name", "level", "mechanic", "equipment", "primaryMuscles", "secondaryMuscles", "instructions", "category", "images" ] }