Context reference

Today's Activity Day, the user's timezone, preferred units, API limits and paid status. Call it before any write.

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

All operations require Pro or a trial. GET and DELETE take query parameters; other methods take a JSON body. The input table also includes any MCP-only idempotency_key argument; REST sends it as a header. See retrying creates. Example ids are synthetic; find your own with the search and list operations.

Operations

get_context

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

MCP tool get_context · Read-only · DailyGoal data only

Call this first. Returns today's Activity Day, the user's timezone, preferred units, API limits and paid status, so writes land on the right day in the right units. It returns no logged data; use list_body_metrics, list_food_entries, list_workouts, get_workout or get_daily_goals for that.

Input

This operation takes no input.

Full input schema, including bounds and nested alternatives (MCP)
JSON Schema
{
  "type": "object",
  "properties": {}
}

Output

FieldTypeDescription
activityDaystring (YYYY-MM-DD)Today's Activity Day in the user's timezone, YYYY-MM-DD. Writes without a date land on this day.
timezonestringIANA timezone that defines the Activity Day.
unitsobjectThe user's preferred display units.
units.bodyWeight"kg" | "lb"
units.strengthLoad"kg" | "lb"
units.distance"km" | "mi"
paidAccessbooleanWhether the user's subscription or free trial is active.
limitsobjectPer-user API limits, shared by every credential.
limits.readsobject
limits.reads.perMinuteinteger
limits.reads.burstinteger
limits.writesobject
limits.writes.perMinuteinteger
limits.writes.burstinteger
limits.writes.perDayinteger
limits.bodyMetricBatchintegerMost readings accepted by one set_body_metrics call.
limits.goalTemplatesintegerMost goal templates a user can hold.
Full output schema
JSON Schema
{
  "type": "object",
  "properties": {
    "activityDay": {
      "type": "string",
      "pattern": "^\\d{4}-\\d{2}-\\d{2}$",
      "description": "Today's Activity Day in the user's timezone, YYYY-MM-DD. Writes without a date land on this day."
    },
    "timezone": {
      "type": "string",
      "description": "IANA timezone that defines the Activity Day."
    },
    "units": {
      "type": "object",
      "properties": {
        "bodyWeight": {
          "type": "string",
          "enum": [
            "kg",
            "lb"
          ]
        },
        "strengthLoad": {
          "type": "string",
          "enum": [
            "kg",
            "lb"
          ]
        },
        "distance": {
          "type": "string",
          "enum": [
            "km",
            "mi"
          ]
        }
      },
      "required": [
        "bodyWeight",
        "strengthLoad",
        "distance"
      ],
      "additionalProperties": true,
      "description": "The user's preferred display units."
    },
    "paidAccess": {
      "type": "boolean",
      "description": "Whether the user's subscription or free trial is active."
    },
    "limits": {
      "type": "object",
      "properties": {
        "reads": {
          "type": "object",
          "properties": {
            "perMinute": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "burst": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "perMinute",
            "burst"
          ],
          "additionalProperties": true
        },
        "writes": {
          "type": "object",
          "properties": {
            "perMinute": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "burst": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            },
            "perDay": {
              "type": "integer",
              "minimum": 0,
              "maximum": 9007199254740991
            }
          },
          "required": [
            "perMinute",
            "burst",
            "perDay"
          ],
          "additionalProperties": true
        },
        "bodyMetricBatch": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Most readings accepted by one set_body_metrics call."
        },
        "goalTemplates": {
          "type": "integer",
          "minimum": 0,
          "maximum": 9007199254740991,
          "description": "Most goal templates a user can hold."
        }
      },
      "required": [
        "reads",
        "writes",
        "bodyMetricBatch",
        "goalTemplates"
      ],
      "additionalProperties": true,
      "description": "Per-user API limits, shared by every credential."
    }
  },
  "required": [
    "activityDay",
    "timezone",
    "units",
    "paidAccess",
    "limits"
  ],
  "additionalProperties": true
}

Example request

REST
curl "https://api.dailygoal.fit/v1/me" \
  -H "Authorization: Bearer $DAILYGOAL_API_TOKEN"
MCP tools/call
{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "tools/call",
  "params": {
    "name": "get_context",
    "arguments": {}
  }
}

Example response

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

json
{
  "activityDay": "2026-09-14",
  "timezone": "Europe/London",
  "units": {
    "bodyWeight": "kg",
    "strengthLoad": "kg",
    "distance": "km"
  },
  "paidAccess": true,
  "limits": {
    "reads": {
      "perMinute": 120,
      "burst": 60
    },
    "writes": {
      "perMinute": 30,
      "burst": 15,
      "perDay": 1000
    },
    "bodyMetricBatch": 100,
    "goalTemplates": 50
  }
}

Errors