Retrieve specific screener question
Retrieve a single screener question by ID, including its answer options and configuration.
curl --request GET \
--url https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId} \
--header 'x-api-key: <x-api-key>' \
--header 'x-api-secret: <x-api-secret>'import requests
url = "https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}"
headers = {
"x-api-key": "<x-api-key>",
"x-api-secret": "<x-api-secret>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-api-secret': '<x-api-secret>'}
};
fetch('https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}', 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-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>",
"x-api-secret: <x-api-secret>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-api-secret", "<x-api-secret>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}")
.header("x-api-key", "<x-api-key>")
.header("x-api-secret", "<x-api-secret>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-api-secret"] = '<x-api-secret>'
response = http.request(request)
puts response.read_body{
"uid": "<string>",
"text": "<string>",
"isEnd": false,
"answers": [
{
"uid": "<string>",
"answerValue": 123,
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"text": "<string>",
"goToQuestionUid": "<string>",
"isOther": true
}
],
"questionType": "radio",
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"isRequired": true,
"skipLogic": true,
"includeOtherOption": true,
"logic": {
"answerUid": "<string>",
"goToQuestionUid": "<string>",
"rowUid": "<string>",
"skipLogicType": {},
"multipleAnswers": [
{
"answer": "<string>",
"logicType": {},
"rowUid": "<string>"
}
],
"multipleAnswersBoolType": {}
},
"order": 123,
"randomizeOrder": true,
"warnings": [
"<string>"
]
}Response
- Option 1
- Option 2
- Option 3
- Option 4
- Option 5
- Option 6
- Option 7
Always false on real questions. See EndOfSurveyScreenerQuestion for the auto-generated end-of-screener sentinel.
false The options a participant chooses between. Always present; an empty array for question types that have no options (singleLineTextbox, multiLineTextbox, numericBox, sliderScale).
Hide child attributes
Hide child attributes
CHECKBOX: { id: 3, answerValues: [ { id: 1, text: 'May Select' }, { id: 2, text: 'Must Select' }, { id: 3, text: 'Disqualify' }, ], }, RADIO: { id: 1, answerValues: [ { id: 1, text: 'Qualify' }, { id: 2, text: 'Disqualify' }, ], },
May be absent on answer options created before 2021, which predate timestamps.
Required unless isOther, then text will be set to 'Other'
Skip logic for radio questions. Uid of question to skip to.
Is 'Other' answer with comment field
radio May be absent on questions created before 2021, which predate timestamps.
Hide child attributes
Hide child attributes
Set only for MATRIX questions — the matrix row this criterion applies to.
answerUid holds the column uid.
Hide child attributes
Hide child attributes
Set only for MATRIX questions — the matrix row this criterion applies to.
answer holds the column uid.
Was this page helpful?
curl --request GET \
--url https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId} \
--header 'x-api-key: <x-api-key>' \
--header 'x-api-secret: <x-api-secret>'import requests
url = "https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}"
headers = {
"x-api-key": "<x-api-key>",
"x-api-secret": "<x-api-secret>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<x-api-key>', 'x-api-secret': '<x-api-secret>'}
};
fetch('https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}', 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-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <x-api-key>",
"x-api-secret: <x-api-secret>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<x-api-key>")
req.Header.Add("x-api-secret", "<x-api-secret>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}")
.header("x-api-key", "<x-api-key>")
.header("x-api-secret", "<x-api-secret>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api-staging.respondent.io/v1/projects/{projectId}/screener-questions/{screenerQuestionId}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<x-api-key>'
request["x-api-secret"] = '<x-api-secret>'
response = http.request(request)
puts response.read_body{
"uid": "<string>",
"text": "<string>",
"isEnd": false,
"answers": [
{
"uid": "<string>",
"answerValue": 123,
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"text": "<string>",
"goToQuestionUid": "<string>",
"isOther": true
}
],
"questionType": "radio",
"id": "<string>",
"createdAt": "<string>",
"updatedAt": "<string>",
"isRequired": true,
"skipLogic": true,
"includeOtherOption": true,
"logic": {
"answerUid": "<string>",
"goToQuestionUid": "<string>",
"rowUid": "<string>",
"skipLogicType": {},
"multipleAnswers": [
{
"answer": "<string>",
"logicType": {},
"rowUid": "<string>"
}
],
"multipleAnswersBoolType": {}
},
"order": 123,
"randomizeOrder": true,
"warnings": [
"<string>"
]
}