Get survey details
curl --request GET \
--url https://api.doozy.live/v1/surveys/{survey_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.doozy.live/v1/surveys/{survey_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.doozy.live/v1/surveys/{survey_id}', 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.doozy.live/v1/surveys/{survey_id}",
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: <api-key>"
],
]);
$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.doozy.live/v1/surveys/{survey_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.doozy.live/v1/surveys/{survey_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.doozy.live/v1/surveys/{survey_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "survey",
"id": "2XOADZ5X978jbJUbveb9",
"created_for_cohort_id": "<string>",
"title": "Employee Satisfaction Survey",
"description": "Monthly check-in on team satisfaction",
"mode": "survey",
"response_type": "anonymous",
"results_visibility": "owner",
"status": "scheduled",
"published_version": 3,
"question_count": 5,
"time_limit_minutes": 30,
"track": {
"object": "track",
"id": "i3XJiIJjOp7PJJBTvu4i",
"name": "Onboarding Program"
},
"instances": [
{
"object": "survey_instance",
"id": "269Z8Xs5tIgUaJcOKCFM",
"scheduled_at": "2026-01-15T10:30:00.000Z",
"end_at": "2026-01-22T10:30:00.000Z",
"total_recipients": 50,
"total_responses": 35,
"response_rate": 70,
"track_id": "i3XJiIJjOp7PJJBTvu4i",
"track_name": "Onboarding Track",
"track_instance_id": "Qs1lLZUZEk0MJRXm1zDY",
"schedule_id": "66GMXuA2B7RIXSD8BpuN",
"introduction_feedback": {
"introduction_id": "<string>",
"run_id": "<string>",
"match_id": "<string>",
"participants": [
{
"user_id": "<string>",
"slack_user_id": "<string>",
"display_name": "<string>"
}
]
}
}
],
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-20T14:00:00.000Z",
"meta": {
"permissions": {
"can_view_results": true,
"can_clone": true,
"can_manage": true,
"can_edit": true,
"can_pause": true,
"can_resume": true,
"can_delete": true,
"can_activate": true,
"can_manage_admins": true
}
},
"result_visibility": {
"managers_can_view": true
},
"questions": [
{
"object": "survey_question",
"id": "t06iKVkbhqv0tiDitrWL",
"text": "How satisfied are you with your onboarding experience?",
"type": "scale_1_to_10",
"hint": "1 = Very dissatisfied, 10 = Very satisfied",
"allow_comments": true,
"required": true,
"choices": [
"Option A",
"Option B",
"Option C"
],
"allow_multiple": false
}
],
"admin_user_ids": [
"06gPNJbvBuM2i8BKRXct",
"WDrVTrTXZRVkTrNJSsgK"
],
"current_draft_id": "wL66mvByS7sYeytkd2FC",
"last_published_at": "2026-06-10T09:48:36.000Z",
"last_published_by": {
"user_id": "06gPNJbvBuM2i8BKRXct",
"display_name": "John Doe",
"email": "john@example.com",
"slack_user_id": "U1234567890",
"image_token": "U2cIK8VPYKqQxpfEz7iG",
"image_url": {
"image_24": "<string>",
"image_32": "<string>",
"image_48": "<string>",
"image_72": "<string>",
"image_192": "<string>",
"image_512": "<string>",
"image_1024": "<string>",
"image_original": "<string>"
}
},
"draft_has_unpublished_changes": true,
"draft_last_edited_at": "2026-06-10T10:15:00.000Z",
"draft_last_edited_by": {
"user_id": "06gPNJbvBuM2i8BKRXct",
"display_name": "John Doe",
"email": "john@example.com",
"slack_user_id": "U1234567890",
"image_token": "U2cIK8VPYKqQxpfEz7iG",
"image_url": {
"image_24": "<string>",
"image_32": "<string>",
"image_48": "<string>",
"image_72": "<string>",
"image_192": "<string>",
"image_512": "<string>",
"image_1024": "<string>",
"image_original": "<string>"
}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: tYYueINbgmmyss8O3LiD",
"request_id": "req_8KSh4mNxQ1aZbPoLcVrT",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: tYYueINbgmmyss8O3LiD",
"request_id": "req_8KSh4mNxQ1aZbPoLcVrT",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: tYYueINbgmmyss8O3LiD",
"request_id": "req_8KSh4mNxQ1aZbPoLcVrT",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}Surveys
Get survey details
Retrieve a specific survey by ID, including questions and delivery instances. Only accessible if the user is an admin of the survey.
GET
/
v1
/
surveys
/
{survey_id}
Get survey details
curl --request GET \
--url https://api.doozy.live/v1/surveys/{survey_id} \
--header 'x-api-key: <api-key>'import requests
url = "https://api.doozy.live/v1/surveys/{survey_id}"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://api.doozy.live/v1/surveys/{survey_id}', 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.doozy.live/v1/surveys/{survey_id}",
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: <api-key>"
],
]);
$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.doozy.live/v1/surveys/{survey_id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
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.doozy.live/v1/surveys/{survey_id}")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.doozy.live/v1/surveys/{survey_id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"object": "survey",
"id": "2XOADZ5X978jbJUbveb9",
"created_for_cohort_id": "<string>",
"title": "Employee Satisfaction Survey",
"description": "Monthly check-in on team satisfaction",
"mode": "survey",
"response_type": "anonymous",
"results_visibility": "owner",
"status": "scheduled",
"published_version": 3,
"question_count": 5,
"time_limit_minutes": 30,
"track": {
"object": "track",
"id": "i3XJiIJjOp7PJJBTvu4i",
"name": "Onboarding Program"
},
"instances": [
{
"object": "survey_instance",
"id": "269Z8Xs5tIgUaJcOKCFM",
"scheduled_at": "2026-01-15T10:30:00.000Z",
"end_at": "2026-01-22T10:30:00.000Z",
"total_recipients": 50,
"total_responses": 35,
"response_rate": 70,
"track_id": "i3XJiIJjOp7PJJBTvu4i",
"track_name": "Onboarding Track",
"track_instance_id": "Qs1lLZUZEk0MJRXm1zDY",
"schedule_id": "66GMXuA2B7RIXSD8BpuN",
"introduction_feedback": {
"introduction_id": "<string>",
"run_id": "<string>",
"match_id": "<string>",
"participants": [
{
"user_id": "<string>",
"slack_user_id": "<string>",
"display_name": "<string>"
}
]
}
}
],
"created_at": "2026-01-15T10:30:00.000Z",
"updated_at": "2026-01-20T14:00:00.000Z",
"meta": {
"permissions": {
"can_view_results": true,
"can_clone": true,
"can_manage": true,
"can_edit": true,
"can_pause": true,
"can_resume": true,
"can_delete": true,
"can_activate": true,
"can_manage_admins": true
}
},
"result_visibility": {
"managers_can_view": true
},
"questions": [
{
"object": "survey_question",
"id": "t06iKVkbhqv0tiDitrWL",
"text": "How satisfied are you with your onboarding experience?",
"type": "scale_1_to_10",
"hint": "1 = Very dissatisfied, 10 = Very satisfied",
"allow_comments": true,
"required": true,
"choices": [
"Option A",
"Option B",
"Option C"
],
"allow_multiple": false
}
],
"admin_user_ids": [
"06gPNJbvBuM2i8BKRXct",
"WDrVTrTXZRVkTrNJSsgK"
],
"current_draft_id": "wL66mvByS7sYeytkd2FC",
"last_published_at": "2026-06-10T09:48:36.000Z",
"last_published_by": {
"user_id": "06gPNJbvBuM2i8BKRXct",
"display_name": "John Doe",
"email": "john@example.com",
"slack_user_id": "U1234567890",
"image_token": "U2cIK8VPYKqQxpfEz7iG",
"image_url": {
"image_24": "<string>",
"image_32": "<string>",
"image_48": "<string>",
"image_72": "<string>",
"image_192": "<string>",
"image_512": "<string>",
"image_1024": "<string>",
"image_original": "<string>"
}
},
"draft_has_unpublished_changes": true,
"draft_last_edited_at": "2026-06-10T10:15:00.000Z",
"draft_last_edited_by": {
"user_id": "06gPNJbvBuM2i8BKRXct",
"display_name": "John Doe",
"email": "john@example.com",
"slack_user_id": "U1234567890",
"image_token": "U2cIK8VPYKqQxpfEz7iG",
"image_url": {
"image_24": "<string>",
"image_32": "<string>",
"image_48": "<string>",
"image_72": "<string>",
"image_192": "<string>",
"image_512": "<string>",
"image_1024": "<string>",
"image_original": "<string>"
}
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: tYYueINbgmmyss8O3LiD",
"request_id": "req_8KSh4mNxQ1aZbPoLcVrT",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: tYYueINbgmmyss8O3LiD",
"request_id": "req_8KSh4mNxQ1aZbPoLcVrT",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}{
"error": {
"type": "invalid_request_error",
"code": "resource_not_found",
"message": "No such quiz: tYYueINbgmmyss8O3LiD",
"request_id": "req_8KSh4mNxQ1aZbPoLcVrT",
"param": "id",
"doc_url": "https://docs.doozy.live/api/errors#resource_not_found"
}
}Authorizations
Path Parameters
Response
Survey details with questions and instances
Active collaborative draft id. Clients connect their Yjs provider to /surveys/{id}/drafts/{current_draft_id} to participate in realtime editing. Null only for legacy surveys created before the collaborative editor rollout — those will lazy-mint a draft on first edit.
Example:
"wL66mvByS7sYeytkd2FC"
Was this page helpful?