| getObservationUnits(ObservationUnitSearchQuery, BrAPIPage) |  | 0% | | n/a | 1 | 1 | 3 | 3 | 1 | 1 |
| updateObservation(long, Observation) |  | 0% |  | 0% | 2 | 2 | 3 | 3 | 1 | 1 |
| getObservationVariables(ObservationVariableSearchQuery, BrAPIPage) |   | 63% |   | 50% | 3 | 4 | 0 | 8 | 0 | 1 |
| getObservationLevels() |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getTraitById(long) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| getTraits(TraitSearchQuery, BrAPIPage) |   | 66% |   | 50% | 2 | 3 | 0 | 6 | 0 | 1 |
| createObservations(List) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| updateObservations(Map) |  | 0% | | n/a | 1 | 1 | 2 | 2 | 1 | 1 |
| postTraits(Trait[]) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| putTraitById(long, Trait) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| postObservationVariable(ObservationVariable[]) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| putObservationVariableById(long, ObservationVariable) |  | 0% | | n/a | 1 | 1 | 1 | 1 | 1 | 1 |
| searchObservation(ObservationSearchBody) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| listObservation(ObservationSearchQuery, BrAPIPage) |  | 100% | | n/a | 0 | 1 | 0 | 2 | 0 | 1 |
| getObservationVariableById(long) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| getObservationById(long) |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| static {...} |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |
| PhenotypingController() |  | 100% | | n/a | 0 | 1 | 0 | 1 | 0 | 1 |