Update user (PUT)
curl --request PUT \
--url https://api.onvy.health/users/{user_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"language": "<string>",
"tz_offset": 123,
"firstname": "<string>",
"lastname": "<string>",
"measurement_unit": "metric",
"birthday": "2023-12-25",
"height": 123,
"weight": 123,
"thresholds": {
"ftp": 123,
"lthr": 123,
"mhr": 123
},
"location": {
"lat": 123,
"lon": 123
},
"coach_config": {
"enabled": true
}
}
'import requests
url = "https://api.onvy.health/users/{user_id}"
payload = {
"id": "<string>",
"language": "<string>",
"tz_offset": 123,
"firstname": "<string>",
"lastname": "<string>",
"measurement_unit": "metric",
"birthday": "2023-12-25",
"height": 123,
"weight": 123,
"thresholds": {
"ftp": 123,
"lthr": 123,
"mhr": 123
},
"location": {
"lat": 123,
"lon": 123
},
"coach_config": { "enabled": True }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
language: '<string>',
tz_offset: 123,
firstname: '<string>',
lastname: '<string>',
measurement_unit: 'metric',
birthday: '2023-12-25',
height: 123,
weight: 123,
thresholds: {ftp: 123, lthr: 123, mhr: 123},
location: {lat: 123, lon: 123},
coach_config: {enabled: true}
})
};
fetch('https://api.onvy.health/users/{user_id}', 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.onvy.health/users/{user_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'id' => '<string>',
'language' => '<string>',
'tz_offset' => 123,
'firstname' => '<string>',
'lastname' => '<string>',
'measurement_unit' => 'metric',
'birthday' => '2023-12-25',
'height' => 123,
'weight' => 123,
'thresholds' => [
'ftp' => 123,
'lthr' => 123,
'mhr' => 123
],
'location' => [
'lat' => 123,
'lon' => 123
],
'coach_config' => [
'enabled' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.onvy.health/users/{user_id}"
payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"language\": \"<string>\",\n \"tz_offset\": 123,\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"measurement_unit\": \"metric\",\n \"birthday\": \"2023-12-25\",\n \"height\": 123,\n \"weight\": 123,\n \"thresholds\": {\n \"ftp\": 123,\n \"lthr\": 123,\n \"mhr\": 123\n },\n \"location\": {\n \"lat\": 123,\n \"lon\": 123\n },\n \"coach_config\": {\n \"enabled\": true\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://api.onvy.health/users/{user_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"language\": \"<string>\",\n \"tz_offset\": 123,\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"measurement_unit\": \"metric\",\n \"birthday\": \"2023-12-25\",\n \"height\": 123,\n \"weight\": 123,\n \"thresholds\": {\n \"ftp\": 123,\n \"lthr\": 123,\n \"mhr\": 123\n },\n \"location\": {\n \"lat\": 123,\n \"lon\": 123\n },\n \"coach_config\": {\n \"enabled\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onvy.health/users/{user_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"language\": \"<string>\",\n \"tz_offset\": 123,\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"measurement_unit\": \"metric\",\n \"birthday\": \"2023-12-25\",\n \"height\": 123,\n \"weight\": 123,\n \"thresholds\": {\n \"ftp\": 123,\n \"lthr\": 123,\n \"mhr\": 123\n },\n \"location\": {\n \"lat\": 123,\n \"lon\": 123\n },\n \"coach_config\": {\n \"enabled\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"language": "<string>",
"tz_offset": 123,
"firstname": "<string>",
"lastname": "<string>",
"measurement_unit": "metric",
"gender": "male",
"birthday": "2023-12-25",
"height": 123,
"weight": 123,
"thresholds": {
"ftp": 123,
"lthr": 123,
"mhr": 123
},
"location": {
"lat": 123,
"lon": 123
},
"coach_config": {
"enabled": true
},
"data_syncs": [
{
"data_type": "auth",
"sync_type": "historical",
"provider": "GARMIN",
"status": "pending",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}users
Update user (PUT)
Fully update user information
PUT
/
users
/
{user_id}
Update user (PUT)
curl --request PUT \
--url https://api.onvy.health/users/{user_id} \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"id": "<string>",
"language": "<string>",
"tz_offset": 123,
"firstname": "<string>",
"lastname": "<string>",
"measurement_unit": "metric",
"birthday": "2023-12-25",
"height": 123,
"weight": 123,
"thresholds": {
"ftp": 123,
"lthr": 123,
"mhr": 123
},
"location": {
"lat": 123,
"lon": 123
},
"coach_config": {
"enabled": true
}
}
'import requests
url = "https://api.onvy.health/users/{user_id}"
payload = {
"id": "<string>",
"language": "<string>",
"tz_offset": 123,
"firstname": "<string>",
"lastname": "<string>",
"measurement_unit": "metric",
"birthday": "2023-12-25",
"height": 123,
"weight": 123,
"thresholds": {
"ftp": 123,
"lthr": 123,
"mhr": 123
},
"location": {
"lat": 123,
"lon": 123
},
"coach_config": { "enabled": True }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.put(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'PUT',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
id: '<string>',
language: '<string>',
tz_offset: 123,
firstname: '<string>',
lastname: '<string>',
measurement_unit: 'metric',
birthday: '2023-12-25',
height: 123,
weight: 123,
thresholds: {ftp: 123, lthr: 123, mhr: 123},
location: {lat: 123, lon: 123},
coach_config: {enabled: true}
})
};
fetch('https://api.onvy.health/users/{user_id}', 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.onvy.health/users/{user_id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "PUT",
CURLOPT_POSTFIELDS => json_encode([
'id' => '<string>',
'language' => '<string>',
'tz_offset' => 123,
'firstname' => '<string>',
'lastname' => '<string>',
'measurement_unit' => 'metric',
'birthday' => '2023-12-25',
'height' => 123,
'weight' => 123,
'thresholds' => [
'ftp' => 123,
'lthr' => 123,
'mhr' => 123
],
'location' => [
'lat' => 123,
'lon' => 123
],
'coach_config' => [
'enabled' => true
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.onvy.health/users/{user_id}"
payload := strings.NewReader("{\n \"id\": \"<string>\",\n \"language\": \"<string>\",\n \"tz_offset\": 123,\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"measurement_unit\": \"metric\",\n \"birthday\": \"2023-12-25\",\n \"height\": 123,\n \"weight\": 123,\n \"thresholds\": {\n \"ftp\": 123,\n \"lthr\": 123,\n \"mhr\": 123\n },\n \"location\": {\n \"lat\": 123,\n \"lon\": 123\n },\n \"coach_config\": {\n \"enabled\": true\n }\n}")
req, _ := http.NewRequest("PUT", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.put("https://api.onvy.health/users/{user_id}")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"id\": \"<string>\",\n \"language\": \"<string>\",\n \"tz_offset\": 123,\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"measurement_unit\": \"metric\",\n \"birthday\": \"2023-12-25\",\n \"height\": 123,\n \"weight\": 123,\n \"thresholds\": {\n \"ftp\": 123,\n \"lthr\": 123,\n \"mhr\": 123\n },\n \"location\": {\n \"lat\": 123,\n \"lon\": 123\n },\n \"coach_config\": {\n \"enabled\": true\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.onvy.health/users/{user_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Put.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"id\": \"<string>\",\n \"language\": \"<string>\",\n \"tz_offset\": 123,\n \"firstname\": \"<string>\",\n \"lastname\": \"<string>\",\n \"measurement_unit\": \"metric\",\n \"birthday\": \"2023-12-25\",\n \"height\": 123,\n \"weight\": 123,\n \"thresholds\": {\n \"ftp\": 123,\n \"lthr\": 123,\n \"mhr\": 123\n },\n \"location\": {\n \"lat\": 123,\n \"lon\": 123\n },\n \"coach_config\": {\n \"enabled\": true\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z",
"language": "<string>",
"tz_offset": 123,
"firstname": "<string>",
"lastname": "<string>",
"measurement_unit": "metric",
"gender": "male",
"birthday": "2023-12-25",
"height": 123,
"weight": 123,
"thresholds": {
"ftp": 123,
"lthr": 123,
"mhr": 123
},
"location": {
"lat": 123,
"lon": 123
},
"coach_config": {
"enabled": true
},
"data_syncs": [
{
"data_type": "auth",
"sync_type": "historical",
"provider": "GARMIN",
"status": "pending",
"updated_at": "2023-11-07T05:31:56Z"
}
]
}{
"error": "<string>"
}{
"error": "<string>"
}{
"error": "<string>"
}Authorizations
OAuth bearer token for Health API authentication
Path Parameters
User ID (e.g., google_104940819145861640201)
Body
application/json
Complete user data for update
User ID (customer-provided, unique per project)
User's preferred language
Timezone offset in seconds
Preferred measurement unit system
Available options:
metric, imperial Available options:
male, female, other Height in cm
Weight in kg
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Response
User updated successfully
User ID (customer-provided, unique per project)
User's preferred language
Timezone offset in seconds
Preferred measurement unit system
Available options:
metric, imperial Available options:
male, female, other Height in cm
Weight in kg
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?