def epost(database, ids: List[str], webenv=False, api_key=False, email=False, **kwargs) -> Optional[EpostResult]:
    """Post IDs using the Entrez ESearch API.

    Parameters
    ----------
    database : str
        Entez database to search.
    ids : list
        List of IDs to submit to the server.
    webenv : str
        An Entrez WebEnv to post ids to.
    api_key : str
        A users API key which allows more requests per second
    email : str
        A users email which is required if not using API.

    Returns
    -------
    requests.Response

    """
    url = BASE_URL + f'epost.fcgi'
    id = ','.join(ids)
    url_params = f'db={database}&id={id}'
    url_params = check_webenv(webenv, url_params)
    url_params = check_api_key(api_key, url_params)
    url_params = check_email(email, url_params)
    resp = entrez_try_put_multiple_times(url, url_params, num_tries=3)
    time.sleep(.5)
    return parse_epost(resp.text)