xAPI Ecosystem Roles — click any node to see its responsibilities
flowchart TD subgraph LRPEnv ["Learning Record Provider — broader category"] AP["Activity Provider
creates statements"]:::apNode end POST["POST /statements"]:::wireNode LRS["LRS
Learning Record Store"]:::lrsNode GET["GET /statements"]:::wireNode subgraph ConsumerEnv ["Activity Consumer - reads statements"] AC["Activity Consumer"]:::acNode Dash["Dashboard"]:::subNode Rec["Recommender"]:::subNode Grade["Grade Export"]:::subNode end AP --> POST POST --> LRS LRS --> GET GET --> AC AC --> Dash AC --> Rec AC --> Grade click AP call showRoleInfo("ap") click POST call showRoleInfo("post") click LRS call showRoleInfo("lrs") click GET call showRoleInfo("get") click AC call showRoleInfo("consumer") click Dash call showRoleInfo("dashboard") click Rec call showRoleInfo("recommender") click Grade call showRoleInfo("grade") classDef apNode fill:#4338ca,stroke:#312e81,color:#fff,font-size:14px,font-weight:bold classDef lrsNode fill:#d97706,stroke:#92400e,color:#fff,font-size:15px,font-weight:bold classDef acNode fill:#0d9488,stroke:#134e4a,color:#fff,font-size:14px,font-weight:bold classDef subNode fill:#ccfbf1,stroke:#0d9488,color:#0f766e,font-size:12px classDef wireNode fill:#0369a1,stroke:#0c4a6e,color:#fff,font-size:12px linkStyle default stroke:#64748b,stroke-width:2px

Role Details

Click any node to see its role definition, HTTP verbs used, and example real-world systems that fill that role.

Activity Provider (creates statements)
LRS (stores and serves statements)
Activity Consumer (reads statements)
HTTP endpoints