Water reference

List, set and delete the glasses of water the user drinks, one reading per day.

The DailyGoal API is not available on the Free plan. It works with a paid plan or during a free trial. See plans.

Operations

list_water

GET https://api.dailygoal.fit/v1/water

MCP tool list_water · Read-only

Lists the glasses of water the user logged (at most one reading per day) for a date range of up to 366 days, oldest first, with no paging. Omit `to` for today and `from` for 29 days before `to`. For weight, body fat and steps use list_body_metrics; for progress on a water goal use get_daily_goals.

Input

FieldTypeDescription
fromoptionalstring (YYYY-MM-DD)First day, YYYY-MM-DD. Defaults to 29 days before `to`, so the default range covers 30 days including both ends.
tooptionalstring (YYYY-MM-DD)Last day, YYYY-MM-DD. Defaults to today's Activity Day.

Output

FieldTypeDescription
fromstring (YYYY-MM-DD)
tostring (YYYY-MM-DD)
timezonestringIANA timezone that defines the user's Activity Day.
readingsobject[]One reading per day that has one, oldest first. There is no cursor: the range is complete.
readings[].datestring (YYYY-MM-DD)
readings[].glassesnumberGlasses of water, 0 to 50. Halves and other fractions are allowed.

Example request

REST
curl "https://api.dailygoal.fit/v1/water?from=2026-09-12&to=2026-09-14" \
  -H "Authorization: Bearer $DAILYGOAL_API_TOKEN"
MCP tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "list_water",
    "arguments": {
      "from": "2026-09-12",
      "to": "2026-09-14"
    }
  }
}

Example response

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

json
{
  "from": "2026-09-12",
  "to": "2026-09-14",
  "timezone": "Europe/London",
  "readings": [
    {
      "date": "2026-09-12",
      "glasses": 7
    },
    {
      "date": "2026-09-13",
      "glasses": 8.5
    },
    {
      "date": "2026-09-14",
      "glasses": 3
    }
  ]
}

Errors

set_water

PUT https://api.dailygoal.fit/v1/water

MCP tool set_water · Changes data · Destructive

Sets the number of glasses of water for one day, replacing the day's existing value; it does not add to it, so read the day with list_water first when the user says they drank another glass. Omit `date` for today's Activity Day; the response echoes the resolved date and the timezone. Updates water goals, streak and badges as the app does. To remove the day's reading use delete_water; for weight, body fat or steps use set_body_metrics.

Input

FieldTypeDescription
dateoptionalstring (YYYY-MM-DD)YYYY-MM-DD in the user's timezone. Defaults to today's Activity Day. Future dates are rejected.
glassesnumberGlasses of water, 0 to 50. Halves and other fractions are allowed.

Output

FieldTypeDescription
datestring (YYYY-MM-DD)
glassesnumberGlasses of water, 0 to 50. Halves and other fractions are allowed.
timezonestringIANA timezone that defines the user's Activity Day.
changedbooleanFalse when the day already held this value.

Example request

REST
curl -X PUT "https://api.dailygoal.fit/v1/water" \
  -H "Authorization: Bearer $DAILYGOAL_API_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{"glasses":4}'
MCP tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "set_water",
    "arguments": {
      "glasses": 4
    }
  }
}

Example response

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

json
{
  "date": "2026-09-14",
  "glasses": 4,
  "timezone": "Europe/London",
  "changed": true
}

Errors

delete_water

DELETE https://api.dailygoal.fit/v1/water

MCP tool delete_water · Changes data · Destructive

Deletes one day's water reading. Omit `date` for today's Activity Day. Returns not_found when that day has no reading. To change the count instead of removing it, use set_water.

Input

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

Output

FieldTypeDescription
datestring (YYYY-MM-DD)
timezonestringIANA timezone that defines the user's Activity Day.
deletedtrue

Example request

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

Example response

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

json
{
  "date": "2026-09-13",
  "timezone": "Europe/London",
  "deleted": true
}

Errors