Create athlete
curl --request POST \
--url https://api.wodup.dev/api/public/athletes \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "jane@doe.com",
"name": "Jane Doe",
"platform_id": "1",
"staff": "admin"
}
'import requests
url = "https://api.wodup.dev/api/public/athletes"
payload = {
"email": "jane@doe.com",
"name": "Jane Doe",
"platform_id": "1",
"staff": "admin"
}
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({email: 'jane@doe.com', name: 'Jane Doe', platform_id: '1', staff: 'admin'})
};
fetch('https://api.wodup.dev/api/public/athletes', 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/athletes",
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([
'email' => 'jane@doe.com',
'name' => 'Jane Doe',
'platform_id' => '1',
'staff' => 'admin'
]),
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/athletes"
payload := strings.NewReader("{\n \"email\": \"jane@doe.com\",\n \"name\": \"Jane Doe\",\n \"platform_id\": \"1\",\n \"staff\": \"admin\"\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/athletes")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"jane@doe.com\",\n \"name\": \"Jane Doe\",\n \"platform_id\": \"1\",\n \"staff\": \"admin\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wodup.dev/api/public/athletes")
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 \"email\": \"jane@doe.com\",\n \"name\": \"Jane Doe\",\n \"platform_id\": \"1\",\n \"staff\": \"admin\"\n}"
response = http.request(request)
puts response.read_body{
"access": "member",
"added_at": "2001-01-01T00:00:00Z",
"email": "jane@smith.com",
"followed_programs": [
{
"access": "private",
"id": "p_123abc",
"name": "Strength and Conditioning",
"period": "continuous",
"status": "active"
}
],
"gender": "female",
"id": "ath_123abc",
"invite_url": "https://www.wodup.com/invite/abc123",
"name": "Jane Smith",
"staff": null
}{
"errors": {}
}{
"errors": {}
}Athletes
Create athlete
POST
/
api
/
public
/
athletes
Create athlete
curl --request POST \
--url https://api.wodup.dev/api/public/athletes \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"email": "jane@doe.com",
"name": "Jane Doe",
"platform_id": "1",
"staff": "admin"
}
'import requests
url = "https://api.wodup.dev/api/public/athletes"
payload = {
"email": "jane@doe.com",
"name": "Jane Doe",
"platform_id": "1",
"staff": "admin"
}
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({email: 'jane@doe.com', name: 'Jane Doe', platform_id: '1', staff: 'admin'})
};
fetch('https://api.wodup.dev/api/public/athletes', 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/athletes",
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([
'email' => 'jane@doe.com',
'name' => 'Jane Doe',
'platform_id' => '1',
'staff' => 'admin'
]),
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/athletes"
payload := strings.NewReader("{\n \"email\": \"jane@doe.com\",\n \"name\": \"Jane Doe\",\n \"platform_id\": \"1\",\n \"staff\": \"admin\"\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/athletes")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"email\": \"jane@doe.com\",\n \"name\": \"Jane Doe\",\n \"platform_id\": \"1\",\n \"staff\": \"admin\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.wodup.dev/api/public/athletes")
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 \"email\": \"jane@doe.com\",\n \"name\": \"Jane Doe\",\n \"platform_id\": \"1\",\n \"staff\": \"admin\"\n}"
response = http.request(request)
puts response.read_body{
"access": "member",
"added_at": "2001-01-01T00:00:00Z",
"email": "jane@smith.com",
"followed_programs": [
{
"access": "private",
"id": "p_123abc",
"name": "Strength and Conditioning",
"period": "continuous",
"status": "active"
}
],
"gender": "female",
"id": "ath_123abc",
"invite_url": "https://www.wodup.com/invite/abc123",
"name": "Jane Smith",
"staff": null
}{
"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
Example:
"gym_123abc"
Body
application/json
Response
athlete response
An athlete at your organization
Athlete access
Available options:
member, marketplace, archived, deleted Date athlete initially added to your organization. ISO8601 timestamp in UTC
Athlete email address
List of programs the athlete follows on their timeline
Show child attributes
Show child attributes
Athlete ID
A URL that allows a user to claim this athlete account.
Athlete name
Athlete gender
Available options:
male, female, nonbinary, undisclosed, null Athlete staff
Available options:
admin, coach, null