def get(self, exp_uid, exp_key):
        zip_true = False
        if request.args.get('zip'):
            try:
                zip_true = eval(request.args.get('zip'))
            except:
                pass
            
        if not keychain.verify_exp_key(exp_uid, exp_key):
            return api_util.attach_meta({}, api_util.verification_error), 401

        # Get all participants for exp_uid from resource_manager
        participant_uids = resource_manager.get_participant_uids(exp_uid)
        participant_responses = {}

        # Iterate through list of all participants for specified exp_uid
        for participant in participant_uids:
            response = resource_manager.get_participant_data(participant,
                                                             exp_uid)
            # Append participant query responses to list
            participant_responses[participant] = response
            
        for participant, responses in participant_responses.iteritems():
            for response in responses:
                for target_index in response['target_indices']:
                    target_index['target'] = targetmapper.get_target_data(exp_uid,
                                                                          target_index['index'])
                    
        all_responses = {'participant_responses': participant_responses}
        if zip_true:
            zip_responses = BytesIO()
            with zipfile.ZipFile(zip_responses, 'w') as zf:
                zf.writestr('participants.json', json.dumps(all_responses))
            zip_responses.seek(0)
        
            return send_file(zip_responses,
                             attachment_filename='participants.zip',
                             as_attachment='True')
        else:
            return api_util.attach_meta(all_responses, meta_success), 200
.. http:get:: /experiment/<exp_uid>/participants
dataset/ETHPy150Open nextml/NEXT/next/api/resources/participants.py/Participants.get