Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
43 commits
Select commit Hold shift + click to select a range
4b06006
docs: DE app is no longer "beta" for v42/master (#1570)
Philip-Larsen-Donnelly May 6, 2025
97e7ee0
docs: update datastore management app docs 2.42 (#1572) (#1576)
KaiVandivier May 13, 2025
60062a3
docs: auth type description correction
cjmamo May 14, 2025
36c2a4c
Merge pull request #1579 from dhis2/cjmamo-patch-2
cjmamo May 19, 2025
5cfa1b7
chore: add default
dayures May 29, 2025
1605b12
fix: Update tracker API docs (#1584)
larshelge May 29, 2025
981a36d
fix: Update tracker API guide (#1586)
larshelge May 29, 2025
a815b49
fix: update tracked entity type authority names [DHIS2-15942] (#1588)
tomzemp Jun 3, 2025
4724b36
fix: Update tracker API docs (#1590)
larshelge Jun 3, 2025
62e84dc
fix: Improve tracker docs (#1592)
larshelge Jun 6, 2025
ce58aac
fix: Tracker API guide improvements (#1593)
larshelge Jun 9, 2025
82e8b7b
fix: Tracker API guide improvements
larshelge Jun 10, 2025
de1cbf8
fix: Remove code format for table values (#1595)
larshelge Jun 10, 2025
1b88051
fix: Update tracker docs (#1597)
larshelge Jun 18, 2025
83eea7b
fix: Update tracker API docs (#1598)
larshelge Jun 18, 2025
70655b5
fix: Update tracker JSON responses (#1599)
larshelge Jun 19, 2025
1c064b0
fix: Update inclusionStrategy parameter in metadata import export (#1…
larshelge Jun 26, 2025
bed3bf3
fix: Update pgBadger article (#1602)
larshelge Jun 27, 2025
9e77171
docs(system-settings): link to more details about Global Shell in dev…
KaiVandivier Jun 30, 2025
c15a8af
Merge pull request #1580 from dayures/patch-137819
jason-p-pickering Jul 4, 2025
a203858
chore: remove config settings endpoint
netroms Jul 13, 2025
b3fb8f0
Merge pull request #1614 from dhis2/chore_remove_config_settings_endp…
netroms Jul 14, 2025
44c5e70
fix: change title introduction order [DHIS2-19366] (#1620)
tomzemp Jul 16, 2025
5df7780
[DHIS2-16081} Add bi-weeks in relative period docs (v42)
karolinelien Jul 21, 2025
af8ee06
Update overview.md
karolinelien Jul 21, 2025
627bd44
Merge pull request #1625 from dhis2/karolinelien-patch-14
karolinelien Jul 24, 2025
10b9222
docs: Update relative periods in API guide (#1636)
larshelge Aug 20, 2025
44b1bc6
fix: Incorrect markdown in analytics guide (#1640)
larshelge Aug 31, 2025
45f7ae4
chore: v42 update default value lastYears parameter for analytics in …
dayures Sep 3, 2025
9f75a4d
Merge pull request #1645 from dayures/patch-945378
maikelarabori Sep 3, 2025
6cf7833
fix: Improve API overview (#1647)
larshelge Sep 4, 2025
3cde8e8
chore: style
dayures Oct 16, 2025
643830c
add TEA in PRA assign value + clarification on how to trigger (v42)
karolinelien Nov 10, 2025
cf0d469
Update configure-programs-in-the-maintenance-app.md
karolinelien Nov 10, 2025
c97ac72
Merge pull request #1666 from dhis2/karolinelien-patch-10
karolinelien Nov 10, 2025
35b1364
docs(routes): backport docs and add security consideration (DHIS2-188…
cjmamo Nov 11, 2025
2131a09
Update configure-programs-in-the-maintenance-app.md
DavidCKen Nov 19, 2025
1125c50
Update configure-programs-in-the-maintenance-app.md
DavidCKen Nov 19, 2025
06eb147
Merge pull request #1675 from dhis2/DavidCKen-patch-1-1
DavidCKen Nov 19, 2025
dc680a1
Add files via upload
DavidCKen Nov 21, 2025
4093138
Merge pull request #1659 from dayures/patch-998195
karolinelien Nov 21, 2025
a1cbbe4
Merge pull request #1676 from dhis2/DavidCKen-patch-1
karolinelien Nov 28, 2025
ce9f935
Add files via upload
DavidCKen Dec 10, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
26 changes: 12 additions & 14 deletions src/developer/web-api/analytics.md
Original file line number Diff line number Diff line change
Expand Up @@ -184,9 +184,8 @@ The `/dimensions` API also provides an endpoint where the clients can get the *r

/api/33/dimensions/recommendations?fields=id&dimension=dx:fbfJHSPpUQD

In the example above, the client will receive back all the *Categories* that are configured as `Data dimension`s and associated (through data sets and category combos) with the data element `fbfJHSPpUQD`.
In addition, all *Organization Unit Group Set*s that are configured as `Data dimension`s will also (and always) be returned as part of the response.

In the example above, the response will contain the categories which are configured as data dimensions and associated, through data sets and category combos, with the data element `fbfJHSPpUQD`.
In addition, all org unit group sets which are configured as data dimensions will be returned.

The endpoint supports multiple data elements. If one wishes to send multiple data elements, they should be separated by `;`. For example:

Expand All @@ -196,7 +195,6 @@ The endpoint supports multiple data elements. If one wishes to send multiple dat
>
> This endpoint returns only dimensions that can be read by the current logged user. It will check if the current user can read the data or the metadata of the respective recommended dimension. Non-authorized dimensions are omitted from the list.


The base URL to the analytics resource is `/api/analytics`. To request
specific dimensions and dimension items you can use a query string on
the following format, where `dim-id` and `dim-item` should be substituted with real values:
Expand Down Expand Up @@ -318,8 +316,8 @@ below.

- For the organization unit dimension, you can specify items as either
the organization unit or its sub-units associated with the currently
authenticated user. Use the keys USER_ORGUNIT for the organization unit
itself or USER_ORGUNIT_CHILDREN for its sub-units. You may also specify
authenticated user. Use the keys `USER_ORGUNIT` for the organization unit
itself or `USER_ORGUNIT_CHILDREN` for its sub-units. You may also specify
organization unit identifiers directly or use a combination of both.
The authenticated user must have permission to export and analyze data
for the designated organization units. If no organization unit permissions
Expand Down Expand Up @@ -620,7 +618,7 @@ XML looks like this:
api/analytics/dataValueSet.xml?dimension=dx:Uvn6LCg7dVU;OdiHJayrsKo
&dimension=pe:LAST_4_QUARTERS&dimension=ou:lc3eMKXaEfw;PMa2VCrupOd

A request which aggregates data for data element operands and uses CODE
A request which aggregates data for data element operands and uses `CODE`
as output identifier scheme looks like the below. When defining the
output identifier scheme, all metadata objects part of the response are
affected:
Expand All @@ -630,7 +628,7 @@ affected:

When using attribute-based identifier schemes for export there is a risk
of producing duplicate data values. The boolean query parameter
duplicatesOnly can be used for debugging purposes to return only
`duplicatesOnly` can be used for debugging purposes to return only
duplicates data values. This response can be used to clean up the
duplicates:

Expand Down Expand Up @@ -807,7 +805,7 @@ Table: Query parameters for event query analytics only

| Query parameter | Required | Description | Options |
|---|---|---|---|
| ouMode | No | The mode of selecting organisation units. Default is DESCENDANTS, meaning all sub units in the hierarchy. CHILDREN refers to immediate children in the hierarchy; SELECTED refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, CHILDREN, SELECTED |
| ouMode | No | The mode of selecting organisation units. Default is `DESCENDANTS`, meaning all sub units in the hierarchy. `CHILDREN` refers to immediate children in the hierarchy; `SELECTED` refers to the selected organisation units only. More details [here](#webapi_tracker_orgunit_scope) | DESCENDANTS, CHILDREN, SELECTED |
| asc | No | Dimensions to be sorted ascending, can reference event date, org unit name and code and any item identifiers. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier |
| desc | No | Dimensions to be sorted descending, can reference event date, org unit name and code and any item identifiers. | `ouname` | `programstatus` | `eventstatus` | `createdbydisplayname` | `lastupdatedbydisplayname` | `eventdate` | `enrollmentdate` | `incidentdate` | `lastupdated` | item identifier |
| coordinatesOnly | No | Whether to only return events which have coordinates. | false | true |
Expand All @@ -816,11 +814,11 @@ Table: Query parameters for event query analytics only
| headers | No | The name of the headers to be returned as part of the response. | One or more headers name separated by comma |
| page | No | The page number. Default page is 1. | Numeric positive value |
| pageSize | No | The page size. Default size is 50 items per page. | Numeric zero or positive value |
| eventDate | no | (`events` resource only) Custom period on `eventDate` (see "custom date periods" section) | see "date and period format" section |
| enrollmentDate | no | Custom period on `enrollmentDate` (see "custom date periods" section) | see "date and period format" section |
| scheduledDate | no | (`events` resource only) Custom period on `scheduledDate` (see "custom date periods" section) | see "date and period format" section |
| incidentDate | no | Custom period on `incidentDate` (see "custom date periods" section) | see "date and period format" section |
| lastUpdated | no | Custom period on `lastUpdated` (see "custom date periods" section) | see "date and period format" section |
| eventDate | no | Events resource only. Custom period on `eventDate`. See "custom date periods" section. | See "date and period format" section |
| enrollmentDate | no | Custom period on `enrollmentDate`. See "custom date periods" section. | See "date and period format" section |
| scheduledDate | no | Events resource only. Custom period on `scheduledDate`. See "custom date periods" section. | See "date and period format" section |
| incidentDate | no | Custom period on `incidentDate`. See "custom date periods" section. | See "date and period format" section |
| lastUpdated | no | Custom period on `lastUpdated`. See "custom date periods" section. | See "date and period format" section |



Expand Down
2 changes: 1 addition & 1 deletion src/developer/web-api/data.md
Original file line number Diff line number Diff line change
Expand Up @@ -509,7 +509,7 @@ Table: Data value set query parameters
| startDate | Start date for the time span of the values to export. |
| endDate | End date for the time span of the values to export. |
| orgUnit | Organisation unit identifier. Can be repeated any number of times. |
| children | Whether to include the children in the hierarchy of the organisation units. |
| children | Whether to include the children in the hierarchy of the organisation units. Boolean value (default `false`).|
| orgUnitGroup | Organisation unit group identifier. Can be repeated any number of times. |
| attributeOptionCombo | Attribute option combo identifier. Can be repeated any number of times. |
| includeDeleted | Whether to include deleted data values. |
Expand Down
22 changes: 7 additions & 15 deletions src/developer/web-api/metadata.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,19 +13,12 @@ The full set of identifier scheme object types available are listed
below, using the name of the property to use in queries:

- idScheme

- dataElementIdScheme

- categoryOptionComboIdScheme

- orgUnitIdScheme

- programIdScheme

- programStageIdScheme

- trackedEntityIdScheme

- trackedEntityAttributeIdScheme

The general idScheme applies to all types of objects. It can be
Expand Down Expand Up @@ -988,7 +981,7 @@ table. You can also apply this to all available types by using
`type:fields=<filter>` and `type:filter=<filter>`. You can also
enable/disable the export of certain types by setting `type=true|false`.

Table: Export Parameter
Table: Export parameters

| Name | Options | Description |
|---|---|---|
Expand All @@ -999,6 +992,7 @@ Table: Export Parameter
| locale | <locale\> | Change from user locale, to your own custom locale. |
| defaults | INCLUDE/EXCLUDE | Should auto-generated category object be included or not in the payload. If you are moving metadata between 2 non-synced instances, it might make sense to set this to EXCLUDE to ease the handling of these generated objects. |
| skipSharing | false/true | Enabling this will strip the sharing properties from the exported objects. This includes *user*, *publicAccess*, *userGroupAccesses*, *userAccesses*, and *externalAccess*. |
| inclusionStrategy | NON_NULL, ALWAYS, NON_EMPTY | *NON_NULL* includes properties which are not null, *ALWAYS* includes all properties, *NON_EMPTY* includes non empty properties (will not include strings of 0 length or empty collections) |
| download | false/true | Enabling this will add HTTP header Content-Disposition that specifies that the data should be handled as an attachment and will be offered by web browsers as a download. |

### Metadata export examples { #webapi_metadata_export_examples }
Expand Down Expand Up @@ -1048,7 +1042,7 @@ These exports can then be imported using `/api/metadata`.

These endpoints also support the following parameters:

Table: Export Parameter
Table: Export parameters

| Name | Options | Description |
|---|---|---|
Expand All @@ -1069,7 +1063,7 @@ generated by the metadata export API can be imported directly.
The metadata import endpoint support a variety of parameters, which are
listed below.

Table: Import Parameter
Table: Import parameters

| Name | Options (first is default) | Description |
|---|---|---|
Expand All @@ -1079,11 +1073,10 @@ Table: Import Parameter
| preheatMode | REFERENCE, ALL, NONE | Sets the preheater mode, used to signal if preheating should be done for `ALL` (as it was before with *preheatCache=true*) or do a more intelligent scan of the objects to see what to preheat (now the default), setting this to `NONE` is not recommended. |
| importStrategy | CREATE_AND_UPDATE, CREATE, UPDATE, DELETE | Sets import strategy, `CREATE_AND_UPDATE` will try and match on identifier, if it doesn't exist, it will create the object. |
| atomicMode | ALL, NONE | Sets atomic mode, in the old importer we always did a *best effort* import, which means that even if some references did not exist, we would still import (i.e. missing data elements on a data element group import). Default for new importer is to not allow this, and similar reject any validation errors. Setting the `NONE` mode emulated the old behavior. |
| flushMode | AUTO, OBJECT | Sets the flush mode, which controls when to flush the internal cache. It is *strongly* recommended to keep this to `AUTO` (which is the default). Only use `OBJECT` for debugging purposes, where you are seeing hibernate exceptions and want to pinpoint the exact place where the stack happens (hibernate will only throw when flushing, so it can be hard to know which object had issues). |
| flushMode | AUTO, OBJECT | Sets the flush mode, which controls when to flush the internal cache. It is *strongly* recommended to keep this to `AUTO` (which is the default). Only use `OBJECT` for debugging purposes, where you are seeing hibernate exceptions and want to pinpoint the exact place where the stack happens (hibernate will only throw when flushing, so it can be hard to know which object had issues). |
| skipSharing | false, true | Skip sharing properties, does not merge sharing when doing updates, and does not add user group access when creating new objects. |
| skipValidation | false, true | Skip validation for import. `NOT RECOMMENDED`. |
| async | false, true | Asynchronous import, returns immediately with a *Location* header pointing to the location of the *importReport*. The payload also contains a json object of the job created. |
| inclusionStrategy | NON_NULL, ALWAYS, NON_EMPTY | *NON_NULL* includes properties which are not null, *ALWAYS* include all properties, *NON_EMPTY* includes non empty properties (will not include strings of 0 length, collections of size 0, etc.) |
| userOverrideMode | NONE, CURRENT, SELECTED | Allows you to override the user property of every object you are importing, the options are NONE (do nothing), CURRENT (use import user), SELECTED (select a specific user using overrideUser=X) |
| overrideUser | User ID | If userOverrideMode is SELECTED, use this parameter to select the user you want override with. |

Expand Down Expand Up @@ -3864,7 +3857,6 @@ curl "localhost:8080/api/synchronization/metadataPull" -X POST
-H "Content-Type:text/plain" -u admin:district
```


> **Note**
>
> The supplied URL will be checked against the config property `metadata.sync.remote_servers_allowed` in the `dhis.conf` file.
Expand All @@ -3873,8 +3865,8 @@ curl "localhost:8080/api/synchronization/metadataPull" -X POST
> - supply `https://server1.org/path/to/resource` -> this will be accepted
> - supply `https://server2.org/resource/path` -> this will be accepted
> - supply `https://oldserver.org/resource/path` -> this will be rejected
>
Sample failure response

Sample failure response in JSON format.

```json
{
Expand Down
Loading