Get a list of available bundles.

        'href' the relative href to the bundle list to retriev. If None,
        the first bundle list will be returned.
        'limit' the maximum number of bundles to include in the result.
        'embed_items' whether or not to expand the bundle data into the
        result.
        'embed_tracks' whether or not to expand the bundle track data
        into the result.
        'embed_metadata' whether or not to expand the bundle metadata
        into the result.
        'embed_insights' whether or not to expand the bundle insights
        into the result.

        NB: providing values for 'limit', 'embed_*' will override either
        the API default or the values in the provided href.

        Returns a data structure equivalent to the JSON returned by the API.

        If the response status is not 2xx, throws an APIException.
        If the JSON to python data struct conversion fails, throws an
        APIDataException.

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

        'href' the relative href to the bundle list to retriev. If None,
        the first bundle list will be returned.
        'limit' the maximum number of bundles to include in the result.
        'embed_items' whether or not to expand the bundle data into the
        result.
        'embed_tracks' whether or not to expand the bundle track data
        into the result.
        'embed_metadata' whether or not to expand the bundle metadata
        into the result.
        'embed_insights' whether or not to expand the bundle insights
        into the result.

        NB: providing values for 'limit', 'embed_*' will override either
        the API default or the values in the provided href.

        Returns a data structure equivalent to the JSON returned by the API.

        If the response status is not 2xx, throws an APIException.
        If the JSON to python data struct conversion fails, throws an
        APIDataException."""

        # Argument error checking.
        assert limit is None or limit > 0

        j = None
        if href is None:
            j = self._get_first_bundle_list(limit,
                                            embed_items,
                                            embed_tracks,
                                            embed_metadata,
                                            embed_insights)
        else:
            j = self._get_additional_bundle_list(href, limit,
                                                 embed_items,
                                                 embed_tracks,
                                                 embed_metadata,
                                                 embed_insights)

        # Convert the JSON to a python data struct.

        return self._parse_json(j)