Working with the API
Athletes
Movements
Create a WOD
curl --request POST \
--url https://api.wodup.dev/api/public/wods \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '{
"components": [
{
"is_alternating": false,
"notes": "Aim for an 80% effort today.",
"notes_for_coaches": "Try to complete this section in 10 minutes.",
"order": 0,
"partners": 0,
"post_instructions": null,
"pre_instructions": "Make sure to warm up your hips first.",
"prefix": "A",
"results_count": 0,
"workout": {
"details": {
"movements": [
{
"id": "mv_fT0m3viH",
"load": null,
"reps": "5"
}
],
"rest": {
"type": "as_needed"
},
"type": "Strength"
},
"type": "Strength"
}
}
],
"name": "Morning Workout",
"occurs_on": "2020-01-01",
"order": 0,
"program_id": "p_123abc",
"publish_at": "2020-01-01T00:00:00Z"
}'
{
"components": [
{
"id": "wc_123abc",
"is_alternating": false,
"notes": "Aim for an 80% effort today.",
"notes_for_coaches": "Try to complete this section in 10 minutes.",
"order": 0,
"partners": 0,
"post_instructions": null,
"pre_instructions": "Make sure to warm up your hips first.",
"prefix": "A",
"results_count": 0,
"workout": {
"description": "Back Squat 5 reps",
"details": {
"movements": [
{
"id": "mv_fT0m3viH",
"load": null,
"reps": "5"
}
],
"rest": {
"type": "as_needed"
},
"type": "Strength"
},
"movements": [
{
"complex_details": null,
"description": null,
"has_calories": false,
"has_distance": false,
"has_duration": false,
"has_height": false,
"has_load": true,
"has_power": false,
"has_reps": true,
"id": "mv_fT0m3viH",
"name": "Back Squat",
"source": "wodup",
"video": {
"id": "dQw4w9WgXcQ",
"service": "youtube"
}
}
],
"name": null,
"type": "Strength"
}
}
],
"id": "wod_123abc",
"name": "Morning Workout",
"occurs_on": "2020-01-01",
"order": 0,
"program": {
"access": "private",
"id": "p_123abc",
"name": "Strength and Conditioning",
"period": "continuous",
"status": "active"
},
"publish_at": "2020-01-01T00:00:00Z"
}
Authorizations
Basic authentication header of the form Basic <encoded-value>
, where <encoded-value>
is the base64-encoded string username:password
.
Headers
Only used by platform integrations
ID of gym to execute on behalf of
Body
POST body for creating a wod
Date WOD is programmed on
Time when WOD is visible
ID of athlete to program WOD for
Components in this WOD
Whether this component alternates with the next one
Component name
Component notes
Component notes for coaches
Component order
Number of partners.
x >= 0
Instructions immediately proceeding the workout
Instructions immediately preceeding the workout
Prefix for this workout, e.g. 'B1'.
Workout object
Workout type
Amrap
, Cardio
, CardioIntervals
, DeathBy
, Emom
, Fgb
, ForTime
, FranStyle
, Generic
, MaxReps
, RoundsForTime
, Strength
, Tabata
, TwelveDays
, WarmUp
ID of an existing workout. Either this field or workout
must be provided.
WOD name
WOD order if multiple WODs on same day
ID of program to program WOD for
Response
Response schema for creating a wod
Components in this WOD
Workout object
A human readable description of the workout
Movement objects referenced by this workout
Movement object
Movement instructions / description
Does this movement involve calories. E.g. Row
Does this movement involve distance. E.g. Row
Does this movement involve duration. E.g. Row or Weighted Plank Hold
Does this movement involve height. E.g. Box Jumps
Does this movement involve load. E.g. Back Squat or Weighted Plank Hold
Does this movement involve power. E.g. Row
Does this movement involve reps. E.g. Push-Up or Back Squat
Movement ID
Movement name
Whether this movement is from the global WodUp library or a custom movement
wodup
, custom
Workout type
Amrap
, Cardio
, CardioIntervals
, DeathBy
, Emom
, Fgb
, ForTime
, FranStyle
, Generic
, MaxReps
, RoundsForTime
, Strength
, Tabata
, TwelveDays
, WarmUp
An official name for the workout
WOD Component ID
Whether this component alternates with the next one
Component name
Component notes
Component notes for coaches
Component order
Number of partners.
x >= 0
Instructions immediately proceeding the workout
Instructions immediately preceeding the workout
Prefix for this workout, e.g. 'B1'.
WOD ID
WOD name
Date WOD is programmed on
WOD order if multiple WODs on same day
Time when WOD is visible
curl --request POST \
--url https://api.wodup.dev/api/public/wods \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '{
"components": [
{
"is_alternating": false,
"notes": "Aim for an 80% effort today.",
"notes_for_coaches": "Try to complete this section in 10 minutes.",
"order": 0,
"partners": 0,
"post_instructions": null,
"pre_instructions": "Make sure to warm up your hips first.",
"prefix": "A",
"results_count": 0,
"workout": {
"details": {
"movements": [
{
"id": "mv_fT0m3viH",
"load": null,
"reps": "5"
}
],
"rest": {
"type": "as_needed"
},
"type": "Strength"
},
"type": "Strength"
}
}
],
"name": "Morning Workout",
"occurs_on": "2020-01-01",
"order": 0,
"program_id": "p_123abc",
"publish_at": "2020-01-01T00:00:00Z"
}'
{
"components": [
{
"id": "wc_123abc",
"is_alternating": false,
"notes": "Aim for an 80% effort today.",
"notes_for_coaches": "Try to complete this section in 10 minutes.",
"order": 0,
"partners": 0,
"post_instructions": null,
"pre_instructions": "Make sure to warm up your hips first.",
"prefix": "A",
"results_count": 0,
"workout": {
"description": "Back Squat 5 reps",
"details": {
"movements": [
{
"id": "mv_fT0m3viH",
"load": null,
"reps": "5"
}
],
"rest": {
"type": "as_needed"
},
"type": "Strength"
},
"movements": [
{
"complex_details": null,
"description": null,
"has_calories": false,
"has_distance": false,
"has_duration": false,
"has_height": false,
"has_load": true,
"has_power": false,
"has_reps": true,
"id": "mv_fT0m3viH",
"name": "Back Squat",
"source": "wodup",
"video": {
"id": "dQw4w9WgXcQ",
"service": "youtube"
}
}
],
"name": null,
"type": "Strength"
}
}
],
"id": "wod_123abc",
"name": "Morning Workout",
"occurs_on": "2020-01-01",
"order": 0,
"program": {
"access": "private",
"id": "p_123abc",
"name": "Strength and Conditioning",
"period": "continuous",
"status": "active"
},
"publish_at": "2020-01-01T00:00:00Z"
}