I think you’re on the right track. Take a deeper look to the documentation for the API archivedHumanTask and userTask
For the tasks that have been completed by a specific user, you can use the assigned_id filter parameter on the API archivedUserTask.
For the tasks that are currently available to a specific user, you can look at how the portal built its task list: By example: …/API/bpm/humanTask?c=50&d=rootContainerId&f=state%3Dready&f=user_id%3D4&o=displayName+ASC&p=0
Bonitasoft empowers development teams with Bonita, the open-source and extensible platform to solve the most demanding process automation use cases. The Bonita platform accelerates delivery of complex applications with clear separation between capabilities for visual programming and for coding. Bonita integrates with existing solutions, orchestrates heterogeneous systems, and provides deep visibility into processes across the organization.