curl --request POST \
--url https://api.wodup.dev/api/public/movements \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "Put your hands up in the air!",
"has_reps": true,
"name": "My Custom Movement",
"video_url": "https://www.youtube.com/watch?v=M11SvDtPBhA"
}
'import requests
url = "https://api.wodup.dev/api/public/movements"
payload = {
"description": "Put your hands up in the air!",
"has_reps": True,
"name": "My Custom Movement",
"video_url": "https://www.youtube.com/watch?v=M11SvDtPBhA"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'Put your hands up in the air!',
has_reps: true,
name: 'My Custom Movement',
video_url: 'https://www.youtube.com/watch?v=M11SvDtPBhA'
})
};
fetch('https://api.wodup.dev/api/public/movements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wodup.dev/api/public/movements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'Put your hands up in the air!',
'has_reps' => true,
'name' => 'My Custom Movement',
'video_url' => 'https://www.youtube.com/watch?v=M11SvDtPBhA'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wodup.dev/api/public/movements"
payload := strings.NewReader("{\n \"description\": \"Put your hands up in the air!\",\n \"has_reps\": true,\n \"name\": \"My Custom Movement\",\n \"video_url\": \"https://www.youtube.com/watch?v=M11SvDtPBhA\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.wodup.dev/api/public/movements")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"Put your hands up in the air!\",\n \"has_reps\": true,\n \"name\": \"My Custom Movement\",\n \"video_url\": \"https://www.youtube.com/watch?v=M11SvDtPBhA\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wodup.dev/api/public/movements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"Put your hands up in the air!\",\n \"has_reps\": true,\n \"name\": \"My Custom Movement\",\n \"video_url\": \"https://www.youtube.com/watch?v=M11SvDtPBhA\"\n}"
response = http.request(request)
puts response.read_body{
"complex_details": null,
"description": "Put your hands up in the air!",
"has_calories": false,
"has_distance": false,
"has_duration": false,
"has_height": false,
"has_load": false,
"has_power": false,
"has_reps": true,
"id": "mv_abcd1234",
"name": "My Custom Movement",
"source": "custom",
"video": {
"id": "M11SvDtPBhA",
"service": "youtube"
}
}{
"errors": {}
}{
"errors": {}
}Create movement
curl --request POST \
--url https://api.wodup.dev/api/public/movements \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"description": "Put your hands up in the air!",
"has_reps": true,
"name": "My Custom Movement",
"video_url": "https://www.youtube.com/watch?v=M11SvDtPBhA"
}
'import requests
url = "https://api.wodup.dev/api/public/movements"
payload = {
"description": "Put your hands up in the air!",
"has_reps": True,
"name": "My Custom Movement",
"video_url": "https://www.youtube.com/watch?v=M11SvDtPBhA"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
description: 'Put your hands up in the air!',
has_reps: true,
name: 'My Custom Movement',
video_url: 'https://www.youtube.com/watch?v=M11SvDtPBhA'
})
};
fetch('https://api.wodup.dev/api/public/movements', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.wodup.dev/api/public/movements",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'description' => 'Put your hands up in the air!',
'has_reps' => true,
'name' => 'My Custom Movement',
'video_url' => 'https://www.youtube.com/watch?v=M11SvDtPBhA'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.wodup.dev/api/public/movements"
payload := strings.NewReader("{\n \"description\": \"Put your hands up in the air!\",\n \"has_reps\": true,\n \"name\": \"My Custom Movement\",\n \"video_url\": \"https://www.youtube.com/watch?v=M11SvDtPBhA\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.wodup.dev/api/public/movements")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"description\": \"Put your hands up in the air!\",\n \"has_reps\": true,\n \"name\": \"My Custom Movement\",\n \"video_url\": \"https://www.youtube.com/watch?v=M11SvDtPBhA\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wodup.dev/api/public/movements")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"description\": \"Put your hands up in the air!\",\n \"has_reps\": true,\n \"name\": \"My Custom Movement\",\n \"video_url\": \"https://www.youtube.com/watch?v=M11SvDtPBhA\"\n}"
response = http.request(request)
puts response.read_body{
"complex_details": null,
"description": "Put your hands up in the air!",
"has_calories": false,
"has_distance": false,
"has_duration": false,
"has_height": false,
"has_load": false,
"has_power": false,
"has_reps": true,
"id": "mv_abcd1234",
"name": "My Custom Movement",
"source": "custom",
"video": {
"id": "M11SvDtPBhA",
"service": "youtube"
}
}{
"errors": {}
}{
"errors": {}
}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
"gym_123abc"
Body
POST body for creating a movement
Name of movement
Instructions / description of movement
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
YouTube or Vimeo URL for this movement
Response
Create movement response
Movement object
Movements in this complex
Show child attributes
Show child attributes
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 Show child attributes
Show child attributes