Other objects (e.g. visualizations inside of sheets)
For (1), this is exposed via the Qlik Repository Service. An example call would be GET /qrs/app/object/full?filter=(engineObjectId eq '46d7c133-5f54-45cf-87c1-7ceb93b2e584')
For (2), this is a trickier topic and would require Engine API calls (which are simulated in the Dev-Hub). I am not an Engine API guy to provide a simple example, but has been handled in the Qlik Sense Telemetry Dashboard project. As a part of this NodeJS Scripts are executed which build out a metadata repository of apps. apps.csv = apps, sheets.csv = sheets (joined to apps with appid), and visualizations (joined with sheets with sheetId). That project is a bit heavy for this discrete ask but it's the easiest method that I am aware of to do this without writing out Node scripts yourself.