We are designing an API to support configuring and running a report that is based on many parameters, some of which have many (thousands of) multi-selectable values. I am looking for a way to offer up these options in something other than individual links.
First, we want to walk them through the parameters (which I'm thinking of as sub-resources) in an ordered way b/c of dependencies
POST v1/reports/GUID/parm1 w/ JSON payload {parm1: value1}
POST v1/reports/GUID/parm2 etc
At some point parmX will have many options. Let's say parmX-1 was submitted, we want to present them some list of (many), multi-selectable values for parmX, and they would do something like:
POST v1/report/GUID/parmX w/ JSON payload {parmsX: [valueA, valueB, ..., valueC]}
I don't see anyway to do this other than present the options in the response (to the parmX-1 request) as some kind of JSON object and maybe some properties that tie it to the actual links served up.
Is this just one of those things that falls under the "sometimes you kind of have to break HATEOAS and document it in your API"?