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 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

FieldTypeDescription
namestring | null
heightCmnumber | null
dateOfBirthstring (YYYY-MM-DD) | null
sex"not_known" | "male" | "female" | "not_applicable"Used by the calorie target calculation; `male` and the others use different presets.
unitsobject
units.bodyWeight"kg" | "lb"Unit for weight readings.
units.strengthLoad"kg" | "lb"Unit for workout loads.
units.distance"km" | "mi"Unit for workout distances.
timezonestringIANA timezone, such as Europe/London, that defines the user's Activity Day.
calorieDeficitnumberDaily calories below maintenance, -2000 to 2000 kcal. Negative is a surplus; 0 is maintenance.
proteinMultipliernumberGrams of protein per kilogram of body weight for the daily protein target, 0 to 5.

Example request

REST
curl "https://api.dailygoal.fit/v1/profile" \
  -H "Authorization: Bearer $DAILYGOAL_API_TOKEN"
MCP tools/call
{
  "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.

json
{
  "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

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

FieldTypeDescription
nameoptionalstringDisplay name shown in the app. Surrounding spaces are trimmed; a blank name is rejected.
heightCmoptionalnumberHeight in centimetres, 75 to 230.
dateOfBirthoptionalstring (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.
unitsoptionalobjectOnly 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.
timezoneoptionalstringIANA timezone, such as Europe/London, that defines the user's Activity Day.
calorieDeficitoptionalnumberDaily calories below maintenance, -2000 to 2000 kcal. Negative is a surplus; 0 is maintenance.
proteinMultiplieroptionalnumberGrams of protein per kilogram of body weight for the daily protein target, 0 to 5.

Output

FieldTypeDescription
namestring | null
heightCmnumber | null
dateOfBirthstring (YYYY-MM-DD) | null
sex"not_known" | "male" | "female" | "not_applicable"Used by the calorie target calculation; `male` and the others use different presets.
unitsobject
units.bodyWeight"kg" | "lb"Unit for weight readings.
units.strengthLoad"kg" | "lb"Unit for workout loads.
units.distance"km" | "mi"Unit for workout distances.
timezonestringIANA timezone, such as Europe/London, that defines the user's Activity Day.
calorieDeficitnumberDaily calories below maintenance, -2000 to 2000 kcal. Negative is a surplus; 0 is maintenance.
proteinMultipliernumberGrams of protein per kilogram of body weight for the daily protein target, 0 to 5.
changedbooleanFalse when every sent setting already held that value.

Example request

REST
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}'
MCP tools/call
{
  "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.

json
{
  "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