def METHOD_NAME(
    url, data, expected_status_code, expected_headers
):
    # type: (str, str, int, List[str]) -> None
    """
    Verify that the POST request to the provided URL with the provided data returns expected status
    code and response headers.
    """
    resp = requests.post(url=url, headers=BASE_HEADERS, data=data)
    if resp.status_code != expected_status_code:
        raise ValueError(
            "Expected %s status code, got %s" % (expected_status_code, resp.status_code)
        )
    expected_headers = sorted([key.lower() for key in expected_headers])
    actual_header_names = sorted([key.lower() for key in list(resp.headers.keys())])
    if set(actual_header_names) != set(expected_headers):
        raise ValueError(
            "Expected the following header keys: %s, got: %s"
            % (", ".join(expected_headers), ", ".join(actual_header_names))
        )
    print("API endpoint %s returned correct headers" % (url))