Statement Query and Pagination Flow — click any step for details
flowchart TD Build["Client builds initial GET
with filters"]:::action SendInitial["Send GET
/xAPI/statements?..."]:::action Decision{"Response has non-empty
more URL?"}:::decision Process["Process statements array"]:::action SendMore["Send GET more URL"]:::action Done(["Done — all results
retrieved"]):::terminal Handoff[/"Hand off to dashboard /
aggregation"/]:::sidebranch Build --> SendInitial --> Decision Decision -->|Yes| Process Decision -->|No| Done Process --> SendMore SendMore --> Decision Process -.-> Handoff click Build call showStep("Build") click SendInitial call showStep("SendInitial") click Decision call showStep("Decision") click Process call showStep("Process") click SendMore call showStep("SendMore") click Done call showStep("Done") click Handoff call showStep("Handoff") classDef action fill:#4338ca,stroke:#312e81,color:#fff,font-size:15px,font-weight:bold classDef decision fill:#b45309,stroke:#7c2d12,color:#fff,font-size:15px,font-weight:bold classDef terminal fill:#047857,stroke:#064e3b,color:#fff,font-size:15px,font-weight:bold classDef sidebranch fill:#0d9488,stroke:#134e4a,color:#fff,font-size:14px linkStyle default stroke:#64748b,stroke-width:2px,font-size:13px

Step Details

Click any step in the flowchart to see what the client does at that point and a one-line TypeScript snippet.

Action — client does work
Decision — branch on more URL
Terminal — loop exits
Side branch — data hand-off