● Private Developer Beta

MoPro-Codex
Movement Intelligence API

Exercise ontology, biomechanics interpretation, alias search, parent-child variation trees, graph-domain mapping and figure requirements for fitness, rehab, coaching, sport science, education and AI platforms.

Created by TrainersEye · Backed by MMSx Authority Institute
35,000Ontology Nodes
0.99Alias Confidence
τ = r × FTorque Equation
🟢 LiveFree · Self-Serve API
7,000
Base Exercise Records
35,000
Ontology Nodes
28,000
Parent–Child Edges
14,239
Alias Rows
58,490
Search Terms
199,577
Graph-Delta Rows
Private Beta
API Key Protected
Decision-Support
Not Medical Diagnosis
Connect

One header. Every endpoint.

Authentication

Every protected endpoint takes the same header. Keys are issued during the private beta by MMSx Authority — placeholder shown; never publish a real key.

HTTP header
Authorization: Bearer YOUR_API_KEY
Base URLhttps://api.mopro-codex.com
StatusPrivate Developer Beta

Live-look call

curl · alias resolution
curl -H "Authorization: Bearer YOUR_API_KEY" \
"https://api.mopro-codex.com/v3/exercise/search?q=rdl"

{
  "query": "rdl",
  "resolved": true,
  "results": [
    {
      "canonical_exercise_name": "Romanian Deadlift",
      "exercise_id": "MMSX-BE-00412",
      "movement_family": "hinge",
      "confidence": 0.99
    }
  ],
  "safety_boundary": "Educational decision-support only; not medical diagnosis."
}
JavaScript · fetch
const BASE = "https://api.mopro-codex.com";

const res = await fetch(`${BASE}/v3/exercise/search?q=back%20squat`, {
  headers: { Authorization: "Bearer YOUR_API_KEY" },
});

if (!res.ok) {
  const err = await res.json();           // { ok:false, error:"...", message:"..." }
  throw new Error(`${err.error}: ${err.message}`);
}

const data = await res.json();
console.log(data.results[0].canonical_exercise_name); // "Back Squat"
console.log(res.headers.get("x-mmsx-monthly-remaining"));
Python · requests
import requests

BASE = "https://api.mopro-codex.com"
HEADERS = {"Authorization": "Bearer YOUR_API_KEY"}

r = requests.get(f"{BASE}/v3/exercise/profile",
                 params={"name": "Back Squat"}, headers=HEADERS)
r.raise_for_status()

profile = r.json()
print(profile["canonical_exercise_name"])   # Back Squat
print(profile["movement_family"])
print(r.headers["x-mmsx-monthly-remaining"])
Endpoint catalogue

Everything in the beta surface

Eight exercise-intelligence endpoints, the key-management set, and public plan/health routes. Full parameters in the API reference. No code needed — Try API in Browser.

GET/v3/ontology/healthpublicOntology and service health with dataset counts.
GET/v3/exercise/searchAPI keyTypo-tolerant search across canonical names, aliases and search terms. ?q=
GET/v3/exercise/profileAPI keyFull exercise profile: identity, family, aliases, variations, graph domains, figure status. ?name=
GET/v3/exercise/treeAPI keyParent plus full child variation tree for a base exercise. ?name=
GET/v3/exercise/childrenAPI keyDirect child variations only. ?name=
GET/v3/exercise/aliasesAPI keyAll registered aliases for an exercise. ?name=
GET/v3/exercise/graph-domainsAPI keyGraph-domain biomechanics interpretation (modelled decision-support). ?name=
GET/v3/exercise/figuresAPI keyFigure requirement and figure status for an exercise. ?name=
GET/v3/planspublicSubscription plan catalogue with quotas and endpoint access levels.
GET/v3/auth/key-statusAPI keyStatus of the presented key: plan, limits, expiry, usage month.
GET/v3/auth/usageAPI keyRecent request log for the presented key. ?limit=
GET/v3/auth/test-keyAPI keyCheap authenticated ping to verify a key works.
POST/v3/auth/revoke-keyAPI keySelf-revoke the presented key (admin can revoke by prefix).
GET/v3/usage/monthlyAPI keyMonth-by-month usage summary for the presented key.
POST/v3/auth/create-keyadminMint a new key. Admin token required (paid tiers). For a free key use /v3/auth/signup.
Plans & permissions

Six plans. One matrix.

Access levels are enforced per endpoint — full, basic (trimmed record), or excluded. Details on the pricing page.

EndpointFree SandboxDeveloperProfessionalClinic / TeamInstitutionEnterprise
Monthly quota100 requests / month10,000 requests / month50,000 requests / month150,000 requests / month500,000 requests / monthCustom
Searchfullfullfullfullfullfull
Profilebasicfullfullfullfullfull
Tree—fullfullfullfullfull
Children—fullfullfullfullfull
Aliases—fullfullfullfullfull
Graph domains—basicfullfullfullfull
Figures—basicfullfullfullfull
Reports / widgets (later)———fullfullfull
Institution workflows (later)————fullfull
Responses

Example API response

Every payload carries review status, confidence, and the evidence/safety boundary. Eight worked examples on the examples page.

GET /v3/exercise/graph-domains?name=Back Squat · 200 · JSON
{
  "review_status": "uploaded_base_parent",
  "confidence": 1.0,
  "evidence_boundary": "Generated ontology, ready for MMSx expert review. Do not claim all records are fully validated.",
  "safety_boundary": "Educational decision-support only; not medical diagnosis.",
  "exercise_id": "MMSX-BE-00018",
  "canonical_exercise_name": "Back Squat",
  "canonical_key": "back_squat",
  "node_type": "BASE",
  "movement_family": "general_fitness",
  "parent_name": null,
  "access_tier": null,
  "access_tier_note": null,
  "graph_domains": {
    "domains": [
      "compensation_risk",
      "fatigue_decay",
      "implement_path",
      "… +9 more"
    ],
    "summary": {
      "compensation_risk": {
        "increased": 1,
        "decreased": 0,
        "baseline": 0
      },
      "joint_angle": {
        "increased": 0,
        "decreased": 0,
        "baseline": 4
      },
      "phase_timing": {
        "increased": 2,
        "decreased": 0,
        "baseline": 4
      },
      "progression_readiness": {
        "increased": 1,
        "decreased": 0,
        "baseline": 0
      },
      "stability_demand": {
        "increased": 2,
        "decreased": 0,
        "baseline": 0
      },
      "implement_path": {
        "increased": 1,
        "decreased": 0,
        "baseline": 0
      },
      "torque": {
        "increased": 1,
        "decreased": 0,
        "baseline": 0
      },
      "vector_direction": {
        "increased": 1,
        "decreased": 0,
        "baseline": 0
      },
      "fatigue_decay": {
        "increased": 2,
        "decreased": 0,
        "baseline": 0
      },
      "load_tolerance": {
        "increased": 2,
        "decreased": 0,
        "baseline": 0
      },
      "repetition_quality_decay": {
        "increased": 2,
        "decreased": 0,
        "baseline": 0
      },
      "rom_control": {
        "increased": 2,
        "decreased": 0,
        "baseline": 0
      }
    },
    "rows": [
      {
        "parent_name": "Back Squat",
        "child_name": "Assisted Back Squat",
        "graph_domain": "compensation_risk",
        "parent_relevance": "baseline",
        "child_relevance": "increased",
        "delta_reason": "External support reduces balance demand and allows pattern learning.",
        "confidence": 0.91
      },
      {
        "parent_name": "Back Squat",
        "child_name": "Assisted Back Squat",
        "graph_domain": "joint_angle",
        "parent_relevance": "baseline",
        "child_relevance": "same",
        "delta_reason": "Core movement identity remains inherited from parent.",
        "confidence": 0.91
      },
      {
        "parent_name": "Back Squat",
        "child_name": "Assisted Back Squat",
        "graph_domain": "phase_timing",
        "parent_relevance": "baseline",
        "child_relevance": "same",
        "delta_reason": "Core movement identity remains inherited from parent.",
        "confidence": 0.91
      },
      "… +22 more"
    ]
  }
}
Errors

Predictable error bodies

Machine-readable error codes with stable JSON shapes. Full guide with fixes on the error reference.

401api_key_requiredNo Authorization: Bearer header on a protected endpoint.
401invalid_api_keyThe presented key does not exist or is malformed.
401expired_api_keyThe key passed its expires_at timestamp.
401revoked_api_keyThe key was revoked by its owner or an administrator.
403blocked_api_keyThe key was administratively blocked (abuse or policy).
Evidence & safety boundary

Educational decision-support only

The API does not diagnose, does not prescribe medical treatment, does not replace professional judgement, and does not claim measured laboratory validity unless measured data are supplied. Read the full boundary.

SDK roadmap
Pythonpip install mmsx-mopro
JavaScript / TypeScriptnpm install @mmsx/mopro
SwiftSwift Package Manager
OpenAPI generatorsopenapi-generator / orval

Generate any client today from openapi.json · SDK page

Widgets
Reference card widgetComing in later API phase
Exercise graph dashboard widgetComing in later API phase
Variation tree widgetComing in later API phase
Movement quality report widgetComing in later API phase
Session / mobility widgetsComing in later API phase

Embeddable widgets are a later API phase — placeholder documentation.

Private Developer Beta

Request Beta Access

MoPro-Codex is in private developer beta. Keys are issued directly by MMSx Authority with a plan attached.

MoPro-Codex by TrainersEye Start Quickstart
Start free in seconds — get your API key instantly. Backed by MMSx Authority Institute.