Just FYI, the reason things don’t just sort by created date is because things are designed to support moving posts from one topic to another, and in that scenario, it’s proven less desireable to have posts get “mixed up” if the dates overlap.
Here’s an earlier discussion about that:
On the topic of how best to approach a migration, I agree w/ Jay. You’re likely better off following prior art here. While not a web API, the existing scripts rely on a lower level “migration API” of sorts with this in mind.
The web API is largely designed as an API for the front-end Discourse app. While it’s successfully used for various integrations, it is optimized for it’s primary purpose.