Get a list of available bundles.

        'limit' may be None, which implies API default.  If not None,
        must be > 1.
        'embed_items' True will embed item data in the result.
        'embed_tracks' True will embed track data in the embedded items.
        'embed_metadata' True will embed metadata in the embedded items.
        'embed_insights' True will embed insights in the embedded items.

        Note that including tracks and metadata without including items
        is meaningless.

        Returns the raw JSON returned by the API.

        If the response status is not 2xx, throws an APIException.

def _get_first_bundle_list(self, limit=None,
                               embed_items=None,
                               embed_tracks=None,
                               embed_metadata=None,
                               embed_insights=None):
        """Get a list of available bundles.

        'limit' may be None, which implies API default.  If not None,
        must be > 1.
        'embed_items' True will embed item data in the result.
        'embed_tracks' True will embed track data in the embedded items.
        'embed_metadata' True will embed metadata in the embedded items.
        'embed_insights' True will embed insights in the embedded items.

        Note that including tracks and metadata without including items
        is meaningless.

        Returns the raw JSON returned by the API.

        If the response status is not 2xx, throws an APIException."""

        # Prepare the data we're going to include in our query.
        path = '/' + __api_version__ + '/' + BUNDLES_PATH

        data = None
        fields = {}
        if limit is not None:
            fields['limit'] = limit
        embed = helper.process_embed(embed_items=embed_items,
                                     embed_tracks=embed_tracks,
                                     embed_metadata=embed_metadata,
                                     embed_insights=embed_insights)
        if embed is not None:
            fields['embed'] = embed

        if len(fields) > 0:
            data = fields

        raw_result = self.get(path, data)

        if raw_result.status < 200 or raw_result.status > 202:
            raise APIException(raw_result.status, raw_result.json)
        else:
            result = raw_result.json

        return result