Guides
Errors and limits
Every failure comes back in words an assistant can pass on: what happened and what to do next. Tool-level failures arrive as normal results, so the model reads them and can correct itself.
How errors come back
- HTTP 401
- No token, or one that is invalid, expired or issued for another server. WWW-Authenticate says which and points to the resource metadata.
- HTTP 403
- The token lacks the fitness scope (
error="insufficient_scope"). Ask the person to sign in again. - JSON-RPC -32602
- A tool name the server doesn't have:
Tool <name> not found. isError: true- Everything else, as a tool result whose text explains it: arguments that don't match the schema (
Input validation error: Invalid arguments for tool <name>: …), a limit, access turned off, or the tool's own errors, listed on each tool's page. A tool that returns JSON also setsok: falseanderror.
Limits
- Tool calls
- About 120 a minute for each person. Ordinary use, a few calls per reply, never meets it.
save_workout_plan- 20 plans an hour for each person, shared with plans saved through the iAM360 coach.
- Time
- 25 seconds per call. log_meal gets 90 seconds, since estimating nutrition takes 5 to 25 seconds, and save_workout_plan gets 150 seconds.
- Sizes
- get_daily_metrics reaches back 90 days, get_journal reads up to 31 days, log_events takes up to 6 events and search_exercises up to 10 queries per call. Each tool's page lists its own limits.
Duplicate protection
Clients resend a call when its reply is lost, and models sometimes repeat themselves. So an identical call to a tool that creates records, from the same person within two minutes, returns the first result with duplicate: true and a duplicateNotice, and saves nothing new.
- Pass
allowDuplicate: trueto log_meal, log_workout, add_exercises_to_workout or write_journal when the person really means a second, identical entry. - log_events has no such switch: an event of the same kind, day and quantity as one logged in the last 12 hours comes back with
alreadyLogged: true. To record more, raise its quantity with update_event. - Editing or deleting a meal, workout or event lets an identical create of that kind save again straight away.
Messages
The words assistants receive for the shared cases. Names in angle brackets are filled in. A plan message starts with why AI features are off for that account.
- Too many callsToo many iAM360 tool calls in the last minute. Wait a minute, then try again.
- Access turned offThe user turned off this agent's access in iAM360 (Settings, AI agents). Ask them to turn it back on there; nothing was read or changed.
- A read ran out of time<Tool title> took too long and was stopped. Try again; if it keeps happening, ask for less at once.
- A write ran out of time<Tool title> took too long and was stopped before it finished, so it may or may not have saved. Read the data back before trying again.
- A date that doesn't exist<field> is not a real calendar date. Dates are YYYY-MM-DD, e.g. 2026-10-14.
- A problem on iAM360's sideiAM360 couldn't complete <tool name> because of a problem on its side. Try again in a moment.
- A meal estimate without a planAI features need an iAM360 plan. This tool uses iAM360's AI, which needs a plan: https://app.iam360.ai/plans. Everything else, including logging meals with calories and protein you provide, still works.
- A routine without a planAI features need an iAM360 plan. This tool uses iAM360's AI, which needs a plan: https://app.iam360.ai/plans. You can still build a routine yourself in the app, or log finished workouts with log_workout.
- A plan check that failedWe couldn't check your iAM360 plan just now. Try again in a minute.