Skip to content
skcal
Esc
↑↓navigate↵open⌘Jpreview

Rate a muscle

Records feedback for one muscle in one session, the input to next week’s set progression. Soreness (asked before the muscle’s first exercise) is how it recovered since it was last trained; pump, joint pain, and workload are asked after its last exercise. Each is the index of an answer in the library’s feedbackScales.

PUT/api/training/mesocycles/{id}/feedback
Authorization
__Secure-better-auth.session_tokenAPI key · cookierequired

Better Auth session. Signing in (Google or email magic link) sets an HttpOnly session cookie that scopes every request to that account. The web app and CLI use this; agents use the OAuth 2.1 flow of the MCP server.

or
AuthorizationBearer token · headerrequired

Personal API key sent as Authorization: Bearer skcal_…. Create and scope keys in the app under your profile → API keys. Keys default to full access; a scoped key is limited to its granted resource:action permissions and cannot manage other keys.

Path parameters
idstringrequired

Identifier of the mesocycle, set, slot, or custom exercise the path names.

Request body
requiredapplication/json

The feedback.

weekintegerrequired

Week the feedback is for.

dayintegerrequired

Day number.

musclestringrequired

Muscle key trained that day.

sorenessinteger | null

0 never got sore, 1 healed a while ago, 2 healed just on time, 3 still sore.

min 0 · max 3
pumpinteger | null

0 low, 1 moderate, 2 amazing.

min 0 · max 2
jointPaininteger | null

0 none, 1 low, 2 moderate, 3 a lot.

min 0 · max 3
workloadinteger | null

0 not enough, 1 just right, 2 pushed my limits, 3 too much.

min 0 · max 3
Responses
200

The feedback was saved.

object
400

The request body or parameters failed validation.

errorstringrequired

Human-readable failure reason.

detailstring

Optional extra context, present on upstream failures.

404

No matching resource owned by the caller.

errorstringrequired

Human-readable failure reason.

detailstring

Optional extra context, present on upstream failures.

Try it
Server
Authorization
Parameters
Bodyapplication/json
Request
curl -X PUT 'https://app.skcal.fit/api/training/mesocycles/9a8b7c6d-5e4f-4a3b-8c2d-1e0f9a8b7c6d/feedback' \
  -H 'Cookie: __Secure-better-auth.session_token=YOUR_API_KEY' \
  -H 'Accept: application/json' \
  -H 'Content-Type: application/json' \
  -d '{
  "week": 2,
  "day": 1,
  "muscle": "chest",
  "soreness": 1,
  "pump": 1,
  "jointPain": 0,
  "workload": 1
}'
Response
{
  "ok": true,
  "week": 2,
  "day": 1,
  "exerciseName": "Barbell Bench Press",
  "muscle": "chest"
}

Was this page helpful?