Error codes
Every failure returns the same envelope from REST and MCP. Branch on the code, show or follow the hint, and retry only when retryable is true.
The DailyGoal API is not available on the Free plan. It works with a paid plan or during a free trial. See plans.
Error envelope
REST responses carry the envelope as the JSON body with the status below. MCP tool calls return it as structuredContent with isError: true. docsUrl links to the code's section on this page, and details never contains credentials.
{
"error": {
"code": "validation_failed",
"message": "The request input is not valid.",
"hint": "Fix the fields named in details, then send the request again.",
"retryable": false,
"details": {
"fields": [
{
"path": "date",
"message": "Expected a string matching the pattern ^\\d{4}-\\d{2}-\\d{2}$, got \"14/09/2026\""
}
]
},
"docsUrl": "https://www.dailygoal.fit/developers/errors#validation_failed"
}
}Codes
insufficient_scope
HTTP 403 · Not retryable
This credential cannot perform this operation.
origin_not_allowed
HTTP 403 · Not retryable
The DailyGoal API does not accept browser requests from this origin. Call it from a server, script or AI agent instead.
misdirected_request
HTTP 421 · Not retryable
Send API requests to https://api.dailygoal.fit/v1.
subscription_required
HTTP 403 · Not retryable
API access needs a DailyGoal subscription or free trial. Resubscribe at the URL in details; your token starts working again straight away.
rate_limited
HTTP 429 · Retryable
Wait for the number of seconds in the Retry-After header, then retry.
validation_failed
HTTP 400 · Not retryable
Fix the fields named in details, then send the request again.
not_found
HTTP 404 · Not retryable
Check the id. Ids that belong to another user are also reported as not found.
conflict
HTTP 409 · Not retryable
Read the current state, then retry with updated input.
idempotency_conflict
HTTP 409 · Not retryable
Use a new Idempotency-Key for a request with a different body.
limit_exceeded
HTTP 409 · Not retryable
Remove an existing item before adding another.
calculated_goal_readonly
HTTP 409 · Not retryable
This goal is calculated from logged data. Log the underlying food, steps or workout instead.
internal_error
HTTP 500 · Retryable
Retry after a short wait. If it keeps failing, contact DailyGoal support.