Community
Build packs. Share plans.
The Kinetic import formats for community packs, custom programs and plan files: for developers, coaches, IDE agents and any AI app that writes JSON.
01 Scope
Two import families for custom strength content.
Strength workout library
.kinetic-workout-library · .json. Reusable saved workouts and custom exercises.
Strength planning calendar
.kinetic-strength-plan · .json. Dated plans, weekly schedules, rest days.
There is no separate schedule file type beyond the strength planning format.
02 Encoding rules
JSON, UTF-8. schemaVersion is an integer. Field names are case-sensitive. bodyRegionsRaw is comma-separated. Dates are full ISO 8601 date-times.
"date": "2026-04-06T00:00:00Z" ✓
"date": "2026-04-06" ✗ date-only 03 Strict vs flexible fields
| Field | Type | Strict | Accepted |
|---|---|---|---|
schemaVersion | integer | Yes | 1 |
exerciseCategory | string | Yes | see enums |
equipment | string | Yes | see enums |
bodyRegionsRaw | string | Yes | comma-separated regions |
entryType | string | Yes | workout, rest |
name · title · notes · goal · category · appVersion | string | No | free text |
04 Allowed enum values
Exercise category
pushpullsquathingelungecarryrotationisolationcore
Equipment
bodyweightdumbbellbarbellkettlebellcablemachinebandsmithtrap_bar
Body region
chestupperBacklowerBackshouldersbicepstricepsforearmscoreglutesquadshamstringscalvesadductorsabductorstraps
{ "bodyRegionsRaw": "chest,shoulders,triceps" } 05 Reuse built-in exercises first
If the movement exists in the default library, use its exact id as exerciseIdentifier. Create a customExercises entry only for gym-specific machines, house variations, uncommon cable or band drills, or specialty bars.
| Built-in exercise | exerciseIdentifier | Category | Equipment |
|---|---|---|---|
| Barbell Back Squat | barbell_back_squat | squat | barbell |
| Romanian Deadlift | romanian_deadlift | hinge | barbell |
| Dumbbell Bench Press | dumbbell_bench_press | push | dumbbell |
| Pull-Up | pull_up | pull | bodyweight |
| Walking Lunge | walking_lunge | lunge | dumbbell |
| Overhead Press | overhead_press | push | barbell |
| Cable Row | cable_row | pull | cable |
| Goblet Squat | goblet_squat | squat | dumbbell |
| Farmer's Carry | farmers_carry | carry | dumbbell |
| Plank | plank | core | bodyweight |
| Leg Press | leg_press | squat | machine |
| Cable Face Pull | cable_face_pull | pull | cable |
| Barbell Bench Press | barbell_bench_press | push | barbell |
| Incline Dumbbell Press | incline_dumbbell_press | push | dumbbell |
| Lat Pulldown | lat_pulldown | pull | cable |
| Seated Cable Row | seated_cable_row | pull | cable |
| Barbell Bent-Over Row | barbell_bent_over_row | pull | barbell |
| Dumbbell Lateral Raise | dumbbell_lateral_raise | isolation | dumbbell |
| Triceps Pushdown | triceps_pushdown | isolation | cable |
| Dumbbell Biceps Curl | dumbbell_biceps_curl | isolation | dumbbell |
| Bulgarian Split Squat | bulgarian_split_squat | lunge | dumbbell |
| Glute Bridge | glute_bridge | hinge | bodyweight |
| Standing Calf Raise | standing_calf_raise | isolation | machine |
| Dead Bug | dead_bug | core | bodyweight |
06 Supported import formats
Workout library
Programs are reusable, not dated. Custom exercises are referenced as custom-<lowercased-uuid>; duplicate names import as safe copies.
{
"schemaVersion": 1,
"exportedAt": "2026-03-28T18:00:00Z",
"appVersion": "1.0 (1)",
"programs": [],
"customExercises": []
} Strength planning calendar
Plans are named calendars with dated entries; entryType is workout or rest; rest entries have an empty exercises array.
{
"schemaVersion": 1,
"exportedAt": "2026-03-28T18:00:00Z",
"appVersion": "1.0 (1)",
"plans": []
} 07 Mapping requests to formats
| You want | Use |
|---|---|
| Reusable custom workouts | Workout library |
| Community workout pack | Workout library |
| Custom exercise pack | Workout library |
| Weekly split with dates | Planning calendar |
| Monthly schedule | Planning calendar |
| Rest-day schedule | Planning calendar |
08 AI prompt templates
For any AI app, IDE agent or coding assistant. Copy a template and replace the brief at the bottom.
Generate a workout library pack
JSON only, schemaVersion 1, full ISO 8601 date-times, exact enums, every program and exercise field, realistic UUIDs, no markdown fences.
Generate a valid Kinetic strength workout library JSON file.
Requirements:
- Output JSON only.
- Use schemaVersion 1.
- Use full ISO 8601 date-times, for example 2026-04-06T00:00:00Z. Never date-only values.
- Include top-level fields: schemaVersion, exportedAt, appVersion, programs, customExercises.
- Use exact enum values for exerciseCategory, equipment, and bodyRegionsRaw.
- bodyRegionsRaw must be a comma-separated string using only:
chest, upperBack, lowerBack, shoulders, biceps, triceps, forearms, core, glutes, quads, hamstrings, calves, adductors, abductors, traps
- Each program must include id, name, category, notes, createdAt, updatedAt, and exercises.
- Each exercise must include id, exerciseIdentifier, exerciseName, exerciseCategory, equipment, bodyRegionsRaw, sortOrder, targetSets, targetReps, targetWeight, targetRestSeconds.
- If you include customExercises, each must include id, name, category, equipment, bodyRegionsRaw, createdAt, updatedAt.
- Use realistic UUIDs.
- Do not include markdown fences.
Pack brief:
[PASTE THE COMMUNITY PACK OR CUSTOM LIBRARY REQUEST HERE] Generate a strength planning calendar
JSON only, schemaVersion 1, entryType workout or rest, full timestamps (not YYYY-MM-DD), planned exercises on workout days, empty arrays on rest days.
Generate a valid Kinetic strength planning JSON file.
Requirements:
- Output JSON only.
- Use schemaVersion 1.
- Use full ISO 8601 date-times, for example 2026-04-06T00:00:00Z. Never date-only values.
- Include top-level fields: schemaVersion, exportedAt, appVersion, plans.
- Use exact enum values for exerciseCategory, equipment, and bodyRegionsRaw.
- entryType must be exactly workout or rest.
- bodyRegionsRaw must be a comma-separated string using only:
chest, upperBack, lowerBack, shoulders, biceps, triceps, forearms, core, glutes, quads, hamstrings, calves, adductors, abductors, traps
- Each plan must include id, name, goal, notes, createdAt, updatedAt, and entries.
- Each entry must include id, date, entryType, title, notes, and exercises.
- Workout entries should include planned exercises.
- Rest entries should usually have an empty exercises array.
- Each exercise must include id, exerciseIdentifier, exerciseName, exerciseCategory, equipment, bodyRegionsRaw, sortOrder, targetSets, targetReps, targetWeight, targetRestSeconds.
- Use realistic UUIDs.
- Do not include markdown fences.
Planning brief:
[PASTE THE WEEKLY SPLIT OR SCHEDULE REQUEST HERE] Convert a spreadsheet or notes dump
Pick library or calendar, normalise enums, keep titles human, sortOrder from 0, empty exercises on rest days, no explanations.
Convert the following training notes into a valid Kinetic import file.
Rules:
- Decide whether the content is better represented as:
1. a strength workout library, or
2. a strength planning calendar
- Output JSON only.
- Use the exact Kinetic schema for the chosen format.
- Use schemaVersion 1.
- Use full ISO 8601 date-times, for example 2026-04-06T00:00:00Z. Never date-only values.
- Normalize all enum values to valid Kinetic raw values.
- Keep titles and notes human-readable.
- Preserve exercise order using sortOrder starting at 0.
- Use an empty exercises array for rest days.
- Do not include markdown fences or explanations.
Source content:
[PASTE NOTES, CSV ROWS, OR SPREADSHEET CONTENT HERE] 09 Validate before importing
The Kinetic validator Drop a strength pack, a plan file, a week file or a meal plan. It checks everything in your browser, suggests fixes and previews your week. Nothing is uploaded. OPEN THE VALIDATOR →10 Import instructions
Workout library
Get a valid .kinetic-workout-library file onto your phone (Files, AirDrop, download). Kinetic › Settings › strength library › Import. Programs and custom exercises import with collision-safe names.
Strength plan
Get a valid .kinetic-strength-plan file onto your phone. Kinetic › Strength Planner › Import. Duplicates are renamed safely.
11 Packaging advice
One coherent theme per file, e.g. upper-lower-hypertrophy-pack.kinetic-workout-library or 8-week-summer-cut.kinetic-strength-plan. Plain-English titles and notes. Best complete pack: one library file for reusable workouts plus one planner file for the dated schedule.
12 Compatibility notes
Schema version 1. Custom extensions and plain .json both import when the payload is valid. Strength planning imports are strength-only today.
13 Plan files (.kinetic-plan)
A plan file is one week (or a block of weeks) for every activity: runs, lifts, HIIT, yoga, Pilates, stretching and rest. Coaches send it to clients over any chat or email; your own AI can write one from the plan-file guide. Kinetic opens it in an import preview, so nothing changes until you accept.
{
"format": "kinetic-plan",
"schemaVersion": 1,
"exportedAt": "2026-10-01T14:05:00Z",
"appVersion": "1.0.12 (57)",
"plans": [
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000001",
"name": "5K Build",
"goal": "5K under 25:00",
"notes": "",
"entries": [
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000105",
"date": "2026-10-05",
"activity": "running",
"title": "Easy run",
"notes": "",
"cardio": { "target": "time", "durationSeconds": 1800, "zone": 2 }
},
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000106",
"date": "2026-10-06",
"activity": "strength",
"title": "Upper body A",
"notes": "",
"strength": {
"exercises": [
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000206",
"exerciseIdentifier": "Barbell_Bench_Press_-_Medium_Grip",
"exerciseName": "Barbell Bench Press - Medium Grip",
"exerciseCategory": "push",
"equipment": "barbell",
"bodyRegionsRaw": "chest",
"sortOrder": 0,
"targetSets": 4,
"targetReps": 8,
"targetWeight": 135,
"targetRestSeconds": 90
}
]
}
},
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000107",
"date": "2026-10-07",
"activity": "pilates",
"title": "Pilates core",
"notes": "",
"mindBody": { "mode": "guided", "focus": "core", "durationMinutes": 30 }
},
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000108",
"date": "2026-10-08",
"activity": "hiit",
"title": "Intervals",
"notes": "",
"hiit": { "rounds": 8, "workSeconds": 40, "restSeconds": 20 }
},
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000110",
"date": "2026-10-10",
"activity": "stretching",
"title": "Mobility",
"notes": "",
"mindBody": { "mode": "timer", "durationMinutes": 20 }
},
{
"id": "0b6f6c1e-5c8b-4a9e-9d3a-000000000111",
"date": "2026-10-11",
"activity": "rest",
"title": "Rest",
"notes": ""
}
]
}
]
}