I'd say that it looks pretty close to the docs; here is a screenshot of how my top-level pipelines are. In red is the immediate response to the caller, with just the pipe.rootRuuid value; in green is the write of current status to database, that occurs regularly during the pipeline execution.
On caller's point of view, this means: a first call trigger the overall execution and provides an ruuid, then regular calls shall be performed to another getStatus pipeline, with this ruuid, to retrieve execution status.
Of course, these regular status calls may answer with whatever is needed in your use case 🙂