If you're going to `await` for the contacts import to finish anyway, what's the advantage of separating the import logic from your main API? It's blocked, so might as well be part of the same service, no?
I could see maybe if the API returned right away with a pointer the user can later poll for task progress, but it doesn't seem like this is the case?
Side note: I like this type of web design, is it an in-house job or did you hire someone external?