import json


def download_options(dataset, node, entityids, api_key=None):
    """
    The use of the download options request is to discover the different download
    options for each scene. Some download options may exist but still be unavailable
    due to disk usage and many other factors. If a download is unavailable
    it may need to be ordered.
    
    :param dataset:
    
    :param node:
    
    :param entityIds:
    
    :param api_key:
        API key is not required.
    """

    payload = {
        "apiKey": api_key,
        "datasetName": dataset,
        "node": node,
        "entityIds": entityids
    }

    return json.dumps(payload)