Returns a single survey master template by id. Required scope: r_surveys.
| Time | Status | User Agent | |
|---|---|---|---|
Retrieving recent requests… | |||
This endpoint uses ther_surveysscope, which must be enabled through the Integrations section found within the Settings menu.
Requires a user token whose member has permission to view survey cycles, or an account token together with the member_id query parameter of such a member (the request is then evaluated with that member's permissions). An account token without member_id gets 403 Account tokens need a member_id for this operation. The account must have the Surveys feature enabled.
Only the latest, non-deleted master template in the survey category is returned. Templates belonging to a different category (for example performance reviews) return 404.
Results
{
"id": "b2f0c1de-5a7e-4c1b-9d2a-0f6c3e8a91d4",
"title": "Quarterly Engagement Pulse",
"updated_at": "2025-01-10T09:30:00.000Z",
"version": 2,
"questionnaire": {
"sections": [
{
"id": "2501ee00-0002-51cc-8e1c-6b29548a3d01",
"body": "<p>Your experience</p>",
"questions": [
{
"id": "2501ee00-0003-51cc-8e1c-6b29548a3d01",
"body": "<p>What part of your role gives you the most energy right now?</p>",
"type": "paragraph"
},
{
"id": "2501ee00-0004-51cc-8e1c-6b29548a3d01",
"body": "<p>Do you feel supported by your manager?</p>",
"type": "single_choice",
"metadata": {
"mandatory": true,
"answer_options": {
"choices": {
"yes": "Yes",
"no": "No"
}
},
"has_conditional_navigation": true,
"navigation_config": {
"rules": {
"yes": {
"type": "next_question"
},
"no": {
"type": "go_to_question",
"id": "2501ee00-0006-51cc-8e1c-6b29548a3d01"
}
}
}
}
},
{
"id": "2501ee00-0005-51cc-8e1c-6b29548a3d01",
"body": "<p>How would you rate your work-life balance?</p>",
"type": "star_rated",
"metadata": {
"mandatory": true,
"rating_options": {
"1": "Poor",
"2": "Fair",
"3": "Good",
"4": "Very good",
"5": "Excellent"
}
}
},
{
"id": "2501ee00-0006-51cc-8e1c-6b29548a3d01",
"body": "<p>What could your manager do differently?</p>",
"type": "paragraph"
}
]
}
]
},
"default": false,
"sample": false,
"disabled": false
}| key | type | description |
|---|---|---|
| id | string | Master template id |
| title | string | Title of the template |
| updated_at | string | ISO 8601 timestamp of the last update in the template registry (omitted when unknown) |
| version | integer | Template version |
| questionnaire | object | Template questionnaire |
| questionnaire.sections | array | Ordered list of sections |
| questionnaire.sections[].id | string | Section id |
| questionnaire.sections[].body | string | Section title / header text (may contain HTML) |
| questionnaire.sections[].questions | array | Ordered list of questions in the section |
| questionnaire.sections[].questions[].id | string | Question id |
| questionnaire.sections[].questions[].body | string | Question text (may contain HTML) |
| questionnaire.sections[].questions[].type | string | Question type in snake_case. One of: paragraph, paragraph_star_rated, paragraph_numeric_rated, paragraph_custom_rated, single_choice, multiple_choice, star_rated, numeric_rated, custom_rated |
| questionnaire.sections[].questions[].metadata | object | Optional metadata for the question |
| questionnaire.sections[].questions[].metadata.mandatory | boolean | Whether an answer is required |
| questionnaire.sections[].questions[].metadata.semantic_type | string | Semantic role of the question. One of: section_rating, overall_rating |
| questionnaire.sections[].questions[].metadata.rating_options | object | Map of rating value to label |
| questionnaire.sections[].questions[].metadata.answer_options | object | Map of choice key to label, wrapped under choices |
| questionnaire.sections[].questions[].metadata.has_conditional_navigation | boolean | Whether the question uses conditional navigation (skip logic) |
| questionnaire.sections[].questions[].metadata.navigation_config.rules | object | Map of choice key to navigation rule |
| questionnaire.sections[].questions[].metadata.navigation_config.rules.*.type | string | Where to go when the choice is selected. One of: next_question, go_to_question, go_to_section, submit |
| questionnaire.sections[].questions[].metadata.navigation_config.rules.*.id | string | Target question / section id. Present for go_to_question and go_to_section |
| default | boolean | Whether this is a default template |
| sample | boolean | Whether this is a sample template |
| disabled | boolean | Whether the template is disabled |
Error responses
| Status | Condition |
|---|---|
| 401 | Missing or invalid token |
| 403 | Missing r_surveys scope, account token without member_id, the Surveys feature is not enabled for the account, or the user lacks permission to view survey cycles |
| 404 | No survey template exists with the supplied id |
Error bodies: 401 / 403 responses are plain text holding the reason (e.g. Required scopes missing: ["r_surveys"]). 404 responses are JSON of the form {"message": "..."}.
