Search screener/survey responses for a study
curl --request POST \
--url https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"includeQuestions": false,
"pageInfo": {
"size": 10
}
}
'import requests
url = "https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search"
payload = {
"includeQuestions": False,
"pageInfo": { "size": 10 }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({includeQuestions: false, pageInfo: {size: 10}})
};
fetch('https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeQuestions' => false,
'pageInfo' => [
'size' => 10
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search"
payload := strings.NewReader("{\n \"includeQuestions\": false,\n \"pageInfo\": {\n \"size\": 10\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"includeQuestions\": false,\n \"pageInfo\": {\n \"size\": 10\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeQuestions\": false,\n \"pageInfo\": {\n \"size\": 10\n }\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"submissionId": "<string>",
"personId": "<string>",
"participantId": "<string>",
"submittedAt": "2023-11-07T05:31:56Z",
"responses": [
{
"screenerQuestionId": "<string>",
"values": [
"<string>"
],
"selectedOptionIds": [
"<string>"
]
}
]
}
],
"total": 123,
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
},
"questions": [
{
"screenerQuestionId": "<string>",
"name": "<string>",
"order": 123
}
]
}{
"errors": [
{
"message": "<string>",
"path": [
"<string>"
]
}
]
}"Unauthorized""Forbidden""{Resource} not found""Too Many Requests""Internal Server Error"Studies
Search screener/survey responses for a study
Get a paginated list of screener or survey submissions and their question-level responses for a study. Optionally include question definitions to map question IDs to labels.
POST
/
studies
/
{studyId}
/
responses
/
search
Search screener/survey responses for a study
curl --request POST \
--url https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"includeQuestions": false,
"pageInfo": {
"size": 10
}
}
'import requests
url = "https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search"
payload = {
"includeQuestions": False,
"pageInfo": { "size": 10 }
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({includeQuestions: false, pageInfo: {size: 10}})
};
fetch('https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'includeQuestions' => false,
'pageInfo' => [
'size' => 10
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search"
payload := strings.NewReader("{\n \"includeQuestions\": false,\n \"pageInfo\": {\n \"size\": 10\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"includeQuestions\": false,\n \"pageInfo\": {\n \"size\": 10\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.rallyuxr.com/api/public/v1/studies/{studyId}/responses/search")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"includeQuestions\": false,\n \"pageInfo\": {\n \"size\": 10\n }\n}"
response = http.request(request)
puts response.read_body{
"results": [
{
"submissionId": "<string>",
"personId": "<string>",
"participantId": "<string>",
"submittedAt": "2023-11-07T05:31:56Z",
"responses": [
{
"screenerQuestionId": "<string>",
"values": [
"<string>"
],
"selectedOptionIds": [
"<string>"
]
}
]
}
],
"total": 123,
"pageInfo": {
"hasNextPage": true,
"hasPreviousPage": true,
"startCursor": "<string>",
"endCursor": "<string>"
},
"questions": [
{
"screenerQuestionId": "<string>",
"name": "<string>",
"order": 123
}
]
}{
"errors": [
{
"message": "<string>",
"path": [
"<string>"
]
}
]
}"Unauthorized""Forbidden""{Resource} not found""Too Many Requests""Internal Server Error"Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
Body
application/json
Response
The study responses
Show child attributes
Show child attributes
The total number of items in your workspaces based on your search parameters
Information about the current page
Show child attributes
Show child attributes
Present when includeQuestions was true on the request; maps screenerQuestionId in responses to question text
Show child attributes
Show child attributes
⌘I