api/dataValueSets don't allow to mix dataSet and dataElementGroup anymore

Previously we were able to pass multiple groups and datasets, periods and orgUnits to the /api/dataValueSets endpoint

But at least since 2.37.9

/api/dataValueSets.json?dataSet=GPaqt6e9O3C&dataElementGroup=Sb5raUvrZfY&period=202301&period=202302&period=202303&period=2023Q1&period=2023&period=2022July&orgUnit=ucPAI4NMAmJ&orgUnit=iP4GKQhyTFC&period=2023

=> return only the dataElementGroup values

previously this was returning the dataElementGroup and dataSet values all at once.

/api/dataValueSets.json?dataSet=GPaqt6e9O3C&period=202301&period=202302&period=202303&period=2023Q1&period=2023&period=2022July&orgUnit=ucPAI4NMAmJ&orgUnit=iP4GKQhyTFC&period=2023

=> return the dataset values (no dataElementGroup passed)

the current behavior is annoying

  • silently returning empty or subset of the dataValues and not throwing a 409 “can’t specify both dataSet and dataElementGroup”
  • now we need to detect such pattern in our codebases, which is not easy and “split” a single request into 2 requests.

Any chance that the development team can re incorporate the previous behavior ? (allow to fetch both data)
Was this change documented somewhere ?

1 Like

Hi @Stephan_Mestach

Thank you for your post! I would like to ask if you tried to use the suggestion in the Upgrade Notes where it says “…Consumers can opt to either use /api/37/ to get the old behavior or have to unpack to new response by doing <root>.response to resolve the previous root from the 2.38 response.” It does say that one of the affected endpoints is the /api/dataValueSets

Please read more here Docs - dhis2.org: Implement/software-release-information/dhis2-core-releases/dhis-core-version-238/upgrade-notes.html