Understanding sync/async API requests