Understanding "items" metadata of within api/categories

Hi All,

Curious to find out why there are duplicate UIDs of categoryOptions in categories endpoint within section of “items”. The list of “items” is congruent with categoryOptions, but isn’t needed when importing and seems to simply duplicate the list whenever it is updated. For us with a crazy (>20,000) amount of CategoryOptions, we’d prefer to omit this if it isn’t necessary/being used for anything on the backend. If it is used for something, would be curious what for and if we can make use of it!

Best,
Matt

Seems a bit odd. Could you share an example?

{“href”:“DHIS 2 Demo - Sierra Leone attended by”,“created”:“2011-12-24T12:24:25.155”,“lastUpdated”:“2022-03-22T08:59:30.023”,“translations”:[{“locale”:“fr”,“property”:“SHORT_NAME”,“value”:“French”},{“locale”:“fr”,“property”:“NAME”,“value”:“French”}],“externalAccess”:false,“publicAccess”:“rw------”,“createdBy”:{“id”:“GOLswS44mh8”,“code”:null,“name”:“Tom Wakiki”,“displayName”:“Tom Wakiki”,“username”:“system”},“userGroupAccesses”:[{“access”:“rw------”,“displayName”:“Family Planning Program”,“userGroupUid”:“qMjBflJMOfB”,“id”:“qMjBflJMOfB”}],“userAccesses”:[{“access”:“rw------”,“displayName”:“John Barnes”,“userUid”:“DXyJmlo9rge”,“id”:“DXyJmlo9rge”}],“access”:{“manage”:true,“externalize”:false,“write”:true,“read”:true,“update”:true,“delete”:true},“favorites”:,“sharing”:{“owner”:“GOLswS44mh8”,“external”:false,“users”:{“DXyJmlo9rge”:{“displayName”:“John Barnes”,“access”:“rw------”,“id”:“DXyJmlo9rge”}},“userGroups”:{“qMjBflJMOfB”:{“displayName”:“Family Planning Program”,“access”:“rw------”,“id”:“qMjBflJMOfB”}},“public”:“rw------”},“shortName”:“Births attended by”,“dimensionType”:“CATEGORY”,“dataDimensionType”:“DISAGGREGATION”,“dataDimension”:false,“items”:[{“id”:“TNYQzTHdoxL”},{“id”:“TXGfLxZlInA”},{“id”:“QgULqw9YDu2”},{“id”:“OjIOxG7vgna”},{“id”:“uZUnebiT5DI”},{“id”:“HTHvCohKoXt”}],“allItems”:false,“categoryOptions”:[{“id”:“TNYQzTHdoxL”},{“id”:“TXGfLxZlInA”},{“id”:“QgULqw9YDu2”},{“id”:“OjIOxG7vgna”},{“id”:“uZUnebiT5DI”},{“id”:“HTHvCohKoXt”}],“categoryCombos”:[{“id”:“m2jTvAj5kkm”}],“dimension”:“KfdsGBcoiCa”,“displayShortName”:“Births attended by”,“displayName”:“Births attended by”,“user”:{“id”:“GOLswS44mh8”,“code”:null,“name”:“Tom Wakiki”,“displayName”:“Tom Wakiki”,“username”:“system”},“favorite”:false,“displayFormName”:“Births attended by”,“id”:“KfdsGBcoiCa”,“attributeValues”:}

@jason whatcha think?

@Matthew_Boddie yeah, I think it does not seem ideal to repeat all of this, especially with your setup. Most of the backend team is on vacation now, but I will try and see if I can get an answer for you.

In the meantime, I would strongly suggest that you adjust your API calls to just exclude the items because, as you note, its not needed for import. This should work using the :owner preset.

Regards,
Jason

2 Likes

very cool, thanks for the :owner workaround, will definitely use that.

1 Like