From REST to GraphQL
Another possible solution while sticking to REST: instead of embedding all the sub-objects have an "expand" query param where you can list all the sub-objects/relationships you'd like returned (EG: GET /playlists/ID?expand=tags,tracks)  This way you can still do everything in one request but not bloat the response data structure for situations that don't need the sub-objects.