code: def get_features(self, target_contribution_id=None):
          
          query_parameters = {}
          if target_contribution_id is not None:
              query_parameters['targetContributionId'] = self._serialize.query('target_contribution_id', target_contribution_id, 'str')
          response = self._send(http_method='GET',
                                location_id='c4209f25-7a27-41dd-9f04-06080c7b6afd',
                                version='5.0-preview.1',
                                query_parameters=query_parameters)
          return self._deserialize('[ContributedFeature]', self._unwrap_collection(response))
docs: GetFeatures.
          [Preview API] Get a list of all defined features
          :param str target_contribution_id: Optional target contribution. If null/empty, return all features. If specified include the features that target the specified contribution.
          :rtype: [ContributedFeature]