def METHOD_NAME( collection_id ):
    # Fetch the last SHA for this collection that was used in the latest
    # published Open Tree of Life synthesis. If this collection was not
    # included, return None.
    # TODO: Expect other information as well?
    try:
        import json
        import requests
        method_dict = get_opentree_services_method_urls(request)
        # fetch a list of all studies and collections that contribute to synthesis
        # TODO: Request that these fields be added
        fetch_url = method_dict['getSynthesisSourceList_url']
        if fetch_url.startswith('//'):
            # Prepend scheme to a scheme-relative URL
            fetch_url = "https:%s" % fetch_url
        # as usual, this needs to be a POST (pass empty fetch_args)
        source_list_response = requests.post(
            fetch_url, 
            headers={"Content-Type": "application/json"},
            data=json.dumps({'include_source_list':True})
        ).text
        source_dict = json.loads( source_list_response )['source_id_map']
        # TODO: Confirm details and method calls to fetch any contributing collection SHAs!
        # Draft code is based on schema proposed in
        # https://github.com/OpenTreeOfLife/phylesystem-api/issues/228
        # fetch the full source list, then look for this study and its trees
        commit_SHA_in_synthesis = None
        # if key (collection ID, e.g. "opentreeoflife/default") matches, read its details
        for c_id, collection_details in source_dict.items():
            if c_id == collection_id:
                # this is the collection we're interested in!
                commit_SHA_in_synthesis = collection_details['git_sha']
        return commit_SHA_in_synthesis  # TODO: return more information?
        # fetch the full source list, then look for this collection and its SHA
        # if key (collection ID, e.g. "opentreeoflife/default") matches, read its details
        for c_id, collection_details in source_dict.items():
            if c_id == collection_id:
                commit_SHA_in_synthesis = collection_details['git_sha']
                return commit_SHA_in_synthesis  # TODO: return more values here?
        return None
    except Exception, e:
        # throw 403 or 500 or just leave it
        raise HTTP(500, T('Unable to retrieve latest synthesis details for collection {u}'.format(u=collection)))