Daily Goals reference

Read one day's progress on each active goal, and set progress on custom and yes/no goals.

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_daily_goals

GET https://api.dailygoal.fit/v1/daily-goals

MCP tool get_daily_goals · Read-only

Returns the progress and completion of each active goal scheduled on one date, as the app's daily goals screen shows it. To see goal settings, including inactive goals, use list_goals instead.

Input

FieldTypeDescription
dateoptionalstring (YYYY-MM-DD)YYYY-MM-DD. Defaults to today's Activity Day.

Output

FieldTypeDescription
datestring (YYYY-MM-DD)
timezonestring
goalsobject[]
goals[].goalIdstringGoal template id, from list_goals or get_daily_goals.
goals[].namestring
goals[].type"numeric" | "boolean"`numeric` goals have a target number; `boolean` goals are yes/no habits.
goals[].metric"calories" | "protein" | "fat" | "carbs" | "alcohol" | "steps" | "hydration" | "custom" | null
goals[].targetValuenumber | null
goals[].comparison"min" | "max" | "equals" | null
goals[].currentValuenumber | booleanA number for numeric goals, true or false for boolean goals.
goals[].completedboolean
goals[].calculatedbooleanTrue when progress is calculated from logged data. set_goal_progress refuses calculated goals.

Example request

REST
curl "https://api.dailygoal.fit/v1/daily-goals?date=2026-09-14" \
  -H "Authorization: Bearer $DAILYGOAL_API_TOKEN"
MCP tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_daily_goals",
    "arguments": {
      "date": "2026-09-14"
    }
  }
}

Example response

Synthetic data. REST returns this object as the body; MCP returns it as structuredContent.

json
{
  "date": "2026-09-14",
  "timezone": "Europe/London",
  "goals": [
    {
      "goalId": "kn71z3x6c9v2b5n8m1q4w7e0r3t6y9u2",
      "name": "Protein",
      "type": "numeric",
      "metric": "protein",
      "targetValue": 140,
      "comparison": "min",
      "currentValue": 96,
      "completed": false,
      "calculated": true
    },
    {
      "goalId": "kn72x4c7v0b3n6m9q2w5e8r1t4y7u0i3",
      "name": "Stretch for 10 minutes",
      "type": "boolean",
      "metric": null,
      "targetValue": null,
      "comparison": null,
      "currentValue": true,
      "completed": true,
      "calculated": false
    },
    {
      "goalId": "kn73c5v8b1n4m7q0w3e6r9t2y5u8i1o4",
      "name": "Glasses of water",
      "type": "numeric",
      "metric": "custom",
      "targetValue": 8,
      "comparison": "min",
      "currentValue": 5,
      "completed": false,
      "calculated": false
    }
  ]
}

Errors

set_goal_progress

PUT https://api.dailygoal.fit/v1/daily-goals

MCP tool set_goal_progress · Changes data · Destructive

Sets one day's progress on a custom numeric goal or a boolean (yes/no) goal, replacing the previous value. Calculated goals such as calories, protein or steps refuse this: log the food entry or steps instead. To change a goal's target or schedule, use save_goal instead.

Input

FieldTypeDescription
goalIdstringGoal template id, from list_goals or get_daily_goals.
dateoptionalstring (YYYY-MM-DD)YYYY-MM-DD. Defaults to today's Activity Day.
valuenumber | booleanA number of at least 0 for a custom numeric goal, or true or false for a boolean goal.

Output

FieldTypeDescription
goalIdstringGoal template id, from list_goals or get_daily_goals.
datestring (YYYY-MM-DD)
timezonestring
currentValuenumber | boolean
completedboolean

Example request

REST
curl -X PUT "https://api.dailygoal.fit/v1/daily-goals" \
  -H "Authorization: Bearer $DAILYGOAL_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"goalId":"kn73c5v8b1n4m7q0w3e6r9t2y5u8i1o4","date":"2026-09-14","value":6}'
MCP tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_goal_progress",
    "arguments": {
      "goalId": "kn73c5v8b1n4m7q0w3e6r9t2y5u8i1o4",
      "date": "2026-09-14",
      "value": 6
    }
  }
}

Example response

Synthetic data. REST returns this object as the body; MCP returns it as structuredContent.

json
{
  "goalId": "kn73c5v8b1n4m7q0w3e6r9t2y5u8i1o4",
  "date": "2026-09-14",
  "timezone": "Europe/London",
  "currentValue": 6,
  "completed": false
}

Errors