def METHOD_NAME(url, auth_token, version, dependencies_json_str):
    headers = {
        "Authorization": f"Bearer {auth_token}",
        "X-Version": version,
    }
    session = requests.Session()
    retries = Retry(total=2, backoff_factor=0.1, status_forcelist=[500, 502, 503, 504])
    adapter = HTTPAdapter(max_retries=retries)
    session.mount("https://", adapter)
    resp = session.put(
        url=url,
        headers=headers,
        json={"dependencies": dependencies_json_str},
        timeout=30,
    )
    resp.raise_for_status()
    return resp.text