Profile Settings reference
Read and change the user's name, height, date of birth, sex, units, timezone, calorie deficit and protein multiplier.
The DailyGoal API is not available on the Free plan. It works with a paid plan or during a free trial. See plans.
Operations
get_profile_settings: Get profile settingsupdate_profile_settings: Update profile settings
get_profile_settings
GET https://api.dailygoal.fit/v1/profile
MCP tool get_profile_settings · Read-only
Returns the user's profile settings: display name, height, date of birth, sex, preferred units, timezone, daily calorie deficit or surplus, and protein multiplier. To change them use update_profile_settings; for today's date and units alone, get_context is enough; for the calorie and protein targets these settings produce, use get_daily_nutrition.
Input
This operation takes no input.
Output
| Field | Type | Description |
|---|---|---|
| name | string | null | |
| heightCm | number | null | |
| dateOfBirth | string (YYYY-MM-DD) | null | |
| sex | "not_known" | "male" | "female" | "not_applicable" | Used by the calorie target calculation; `male` and the others use different presets. |
| units | object | |
| units.bodyWeight | "kg" | "lb" | Unit for weight readings. |
| units.strengthLoad | "kg" | "lb" | Unit for workout loads. |
| units.distance | "km" | "mi" | Unit for workout distances. |
| timezone | string | IANA timezone, such as Europe/London, that defines the user's Activity Day. |
| calorieDeficit | number | Daily calories below maintenance, -2000 to 2000 kcal. Negative is a surplus; 0 is maintenance. |
| proteinMultiplier | number | Grams of protein per kilogram of body weight for the daily protein target, 0 to 5. |
Example request
curl "https://api.dailygoal.fit/v1/profile" \
-H "Authorization: Bearer $DAILYGOAL_API_TOKEN"{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "get_profile_settings",
"arguments": {}
}
}Example response
Synthetic data. REST returns this object as the body; MCP returns it as structuredContent.
{
"name": "Sam Taylor",
"heightCm": 178,
"dateOfBirth": "1991-05-20",
"sex": "male",
"units": {
"bodyWeight": "kg",
"strengthLoad": "kg",
"distance": "km"
},
"timezone": "Europe/London",
"calorieDeficit": 400,
"proteinMultiplier": 1.8
}Errors
unauthorized(401)origin_not_allowed(403)misdirected_request(421)subscription_required(403)rate_limited(429)internal_error(500)
update_profile_settings
PATCH https://api.dailygoal.fit/v1/profile
MCP tool update_profile_settings · Changes data · Destructive
Changes the profile settings sent and leaves the others as they are: display name, height, date of birth, sex, preferred units, timezone, daily calorie deficit (negative for a surplus) or protein multiplier. Send at least one. The values are checked as the app checks them, and the response returns every setting. Changing the timezone moves the Activity Day. To log weight or body fat use set_body_metrics; to read the resulting calorie and protein targets use get_daily_nutrition.
Input
| Field | Type | Description |
|---|---|---|
| nameoptional | string | Display name shown in the app. Surrounding spaces are trimmed; a blank name is rejected. |
| heightCmoptional | number | Height in centimetres, 75 to 230. |
| dateOfBirthoptional | string (YYYY-MM-DD) | Date of birth, YYYY-MM-DD, from 1900-01-01 to today. |
| sexoptional | "not_known" | "male" | "female" | "not_applicable" | Used by the calorie target calculation; `male` and the others use different presets. |
| unitsoptional | object | Only the units sent change. |
| units.bodyWeightoptional | "kg" | "lb" | Unit for weight readings. |
| units.strengthLoadoptional | "kg" | "lb" | Unit for workout loads. |
| units.distanceoptional | "km" | "mi" | Unit for workout distances. |
| timezoneoptional | string | IANA timezone, such as Europe/London, that defines the user's Activity Day. |
| calorieDeficitoptional | number | Daily calories below maintenance, -2000 to 2000 kcal. Negative is a surplus; 0 is maintenance. |
| proteinMultiplieroptional | number | Grams of protein per kilogram of body weight for the daily protein target, 0 to 5. |
Output
| Field | Type | Description |
|---|---|---|
| name | string | null | |
| heightCm | number | null | |
| dateOfBirth | string (YYYY-MM-DD) | null | |
| sex | "not_known" | "male" | "female" | "not_applicable" | Used by the calorie target calculation; `male` and the others use different presets. |
| units | object | |
| units.bodyWeight | "kg" | "lb" | Unit for weight readings. |
| units.strengthLoad | "kg" | "lb" | Unit for workout loads. |
| units.distance | "km" | "mi" | Unit for workout distances. |
| timezone | string | IANA timezone, such as Europe/London, that defines the user's Activity Day. |
| calorieDeficit | number | Daily calories below maintenance, -2000 to 2000 kcal. Negative is a surplus; 0 is maintenance. |
| proteinMultiplier | number | Grams of protein per kilogram of body weight for the daily protein target, 0 to 5. |
| changed | boolean | False when every sent setting already held that value. |
Example request
curl -X PATCH "https://api.dailygoal.fit/v1/profile" \
-H "Authorization: Bearer $DAILYGOAL_API_TOKEN" \
-H "Content-Type: application/json" \
-d '{"calorieDeficit":400,"proteinMultiplier":1.8}'{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "update_profile_settings",
"arguments": {
"calorieDeficit": 400,
"proteinMultiplier": 1.8
}
}
}Example response
Synthetic data. REST returns this object as the body; MCP returns it as structuredContent.
{
"name": "Sam Taylor",
"heightCm": 178,
"dateOfBirth": "1991-05-20",
"sex": "male",
"units": {
"bodyWeight": "kg",
"strengthLoad": "kg",
"distance": "km"
},
"timezone": "Europe/London",
"calorieDeficit": 400,
"proteinMultiplier": 1.8,
"changed": true
}Errors
unauthorized(401)origin_not_allowed(403)misdirected_request(421)subscription_required(403)rate_limited(429)validation_failed(400)internal_error(500)