Some properties on entries which are usually of type string are controlled vocabularies. For example 'studyType' in Study. These are properties for which the possible values are not defined in the specification, like for example ParentType in PedigreeNode (where an enum would be used), but whose values are provided by the implementing server. In the these cases a GET endpoint is provided to return the full list of possible values. For example for studyType, there is the endpoint GET /studyTypes
Extend the brapi-metadata in the JSON Schema to add the property 'controlledVocabularyProperties', which is an array of property names that should be exposed a endpoint.
For example add to Study.json
"brapi-metadata": { "primaryModel": false, "controlledVocabularyProperties": [ "studyName" ] }
In the schema tools this would generate the endpoint GET /studyTypes