At a minimum, help text should note this. This is true for things like addwitnessaddress especially.
+ HelpExampleCli("importpubkey", "\"mypubkey\" \"testing\" false") +
            "\nAs a JSON-RPC call\n"
            + HelpExampleRpc("importpubkey", "\"mypubkey\", \"testing\", false")
        );
    std::string strLabel = "";
    if (!request.params[1].isNull())
        strLabel = request.params[1].get_str();
    
    bool fRescan = true;
    if (!request.params[2].isNull())
        fRescan = request.params[2].get_bool();
    if (fRescan && fPruneMode)
        throw JSONRPCError(RPC_WALLET_ERROR, "Rescan is disabled in pruned mode");
    if (!IsHex(request.params[0].get_str()))
        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Pubkey must be a hex string");
    std::vector<unsigned char> data(ParseHex(request.params[0].get_str()));
    CPubKey pubKey(data.begin(), data.end());
    if (!pubKey.IsFullyValid())
        throw JSONRPCError(RPC_INVALID_ADDRESS_OR_KEY, "Pubkey is not a valid public key");
    LOCK2(cs_main, pwallet->cs_wallet);
    ImportAddress(pwallet, pubKey.GetID(), strLabel);
    ImportScript(pwallet, GetScriptForRawPubKey(pubKey), strLabel, false);
    if (fRescan)
    {
        pwallet->RescanFromTime(TIMESTAMP_MIN, true );
        pwallet->ReacceptWalletTransactions();
    }
    return NullUniValue;
}
UniValue importwallet(const JSONRPCRequest& request)