The current implementation has a few shortcomings that need to be addressed:
There's no batching support ("If the count of requested objects is lesser than 1000, then it runs synchronously, otherwise asynchronously."): Clarify/discuss whether batching support is required.
"For recursive additions, the request allows a maximum of 99 objects at a time." => currently there's no logic around this requirement mentioned on the dev portal.
Different return types for sync and async responses. They should be both based on the JobDetails data class.
The current implementation has a few shortcomings that need to be addressed:
JobDetails
data class.