EndpointsFitness Workout Tasks

Fitness Workout Tasks

Function-calling namespace: fitnessWorkoutTasks

  • Base URL: https://api.aivida.in
  • Engine endpoint: POST /api
  • Auth: Stack token middleware enabled in optional mode.
  • Send token in header: x-stack-access-token: <access_token> (or Authorization: Bearer <access_token>).
  • In optional mode: no token is allowed; invalid token is rejected with 401.

Task Workflow (Member Side)

  1. listMyTasks to get assigned day tasks.
  2. startMyTask when user begins a day.
  3. markStepStatus per checklist step (stepIndex) for each task exercise.
  4. skipExercise when user skips an exercise (with reason).
  5. completeMyTask only after all exercises are completed or skipped.

Notes:

  • Exercise steps are copied from the exercise database at assignment time (snapshot model).
  • markStepStatus recomputes exercise status from checklist completion.
  • completeMyTask is rejected if any exercise remains pending/in-progress.

completeMyTask

Source: backend/endpoints/fitness-workout-tasks/complete-my-task

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
taskIdstringYes-
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "completeMyTask",
  "data": {
    "organizationId": "org_123",
    "taskId": "task_123"
  }
}'

Example Response

{ "status": "ok", "data": {} }

getMyTaskDetail

Source: backend/endpoints/fitness-workout-tasks/get-my-task-detail

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
taskIdstringYes-
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "getMyTaskDetail",
  "data": {
    "organizationId": "org_123",
    "taskId": "task_123"
  }
}'

Example Response

{ "status": "ok", "data": {} }

listMyHistory

Source: backend/endpoints/fitness-workout-tasks/list-my-history

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
statusstringNo-
monthstringNo-
pageintegerNo-
pageSizeintegerNo-
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "listMyHistory",
  "data": {
    "organizationId": "org_123"
  }
}'

Example Response

{ "status": "ok", "data": {} }

listMyTasks

Source: backend/endpoints/fitness-workout-tasks/list-my-tasks

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
fromDatestringNoformat: YYYY-MM-DD
toDatestringNoformat: YYYY-MM-DD
statusstringNo-
pageintegerNo-
pageSizeintegerNo-
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "listMyTasks",
  "data": {
    "organizationId": "org_123"
  }
}'

Example Response

{ "status": "ok", "data": {} }

markStepStatus

Source: backend/endpoints/fitness-workout-tasks/mark-step-status

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
taskIdstringYes-
taskExerciseIdstringYes-
stepIndexintegerYesmin: 1
completedbooleanNo-
actualDurationSecintegerNonullable
actualRestSecintegerNonullable
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "markStepStatus",
  "data": {
    "organizationId": "org_123",
    "taskId": "task_123",
    "taskExerciseId": "taskexercise_123",
    "stepIndex": 1
  }
}'

Example Response

{ "status": "ok", "data": {} }

skipExercise

Source: backend/endpoints/fitness-workout-tasks/skip-exercise

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
taskIdstringYes-
taskExerciseIdstringYes-
reasonCodestringYes-
reasonTextstringNo-
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "skipExercise",
  "data": {
    "organizationId": "org_123",
    "taskId": "task_123",
    "taskExerciseId": "taskexercise_123",
    "reasonCode": "value"
  }
}'

Example Response

{ "status": "ok", "data": {} }

startMyTask

Source: backend/endpoints/fitness-workout-tasks/start-my-task

Input Fields

FieldTypeRequiredConstraints
organizationIdstringYes-
taskIdstringYes-
actorStackUserIdstringNo-

Example Request

curl -X POST https://api.aivida.in/api \
  -H "Content-Type: application/json" \
  -H "x-stack-access-token: <access_token_optional>" \
  -d '{
  "namespace": "fitnessWorkoutTasks",
  "apiName": "startMyTask",
  "data": {
    "organizationId": "org_123",
    "taskId": "task_123"
  }
}'

Example Response

{ "status": "ok", "data": {} }