Build on your Fitaio data

A REST API with personal keys, and an MCP server so AI assistants can read your training and log for you. Free, like the app.

Get a key

  1. Open Fitaio, go to Settings, then Developer (or open the Developer screen in the web app).
  2. Create a key with read or read and write scope. You can hold up to 10.
  3. Copy it once. Keys look like fitaio_ followed by 40 characters. Revoke any key from the same screen.

Authenticate

Send the key as a bearer token:

curl https://fitaio.app/api/v1/me \
  -H "Authorization: Bearer fitaio_YOUR_KEY"

The api-key: fitaio_YOUR_KEY header works as well, so tools written for Hevy’s API can point here unchanged.

Key facts

Base URLhttps://fitaio.app/api/v1
FormatJSON, snake_case fields
Unitskilograms, centimetres, kilocalories, grams
TimeRFC 3339 in UTC for timestamps, YYYY-MM-DD for days
Paginationlimit 1 to 100 (default 25) and next_cursor
Limits120 requests a minute per key, 300 per IP, request bodies up to 256 KB
Errors{ "error": { "code", "message", "details" } }

What you can reach

ResourcePathWhat it holds
Me/meThe account behind the key.
Workouts/workoutsLogged sessions with exercises and sets; create, update, delete, count and change events.
Routines/routinesReusable single-day templates.
Training plans/plansWeekly plans, one active at a time.
Exercises/exercisesThe catalogue, one exercise, and your history per exercise.
Body/body/weightWeight and body-fat logs, tape measurements.
Nutrition/nutritionDaily calories and macros by day.
Supplements/supplementsSchedule and daily ticks.
Goals/goalsBody goals; the newest is current.
Stats/stats/trainingTraining totals by muscle group, personal records, body trend.

Not in v1

Meal plans, progress photos, community and the AI coach are app-only for now. Deleting a workout produces no event; poll /workouts/events for updates.