It seem odd to me that both - min and max durations are required. In most APIs I was using before, for similar cases, I would have a choice to pass min or max or both. Is there a particular reason for requiring both?