"Ktor is the way": if you've a REST api it's a good choice, if you want to share more (with backend) or in a more type-safe way, then you may want to have a look at GraphQL (here is a
KMP client).
Once the choice is done, you can describe your API calls in Kotlin and generate a library for each platform you want. And since it's Kotlin and Ktor (for example), you'll probably not be able to re-use your old code for doing the network call. At this point you'll probably have to find a solution for asynchronous code, maybe coroutines + Result<T> is enough for you, it'll depend of your architecture and needs.