{"_id":"5922ff31e465c11900921117","category":{"_id":"59234825e465c11900922518","__v":0,"version":"558444ceafccfd0d00fcb2bb","project":"55843604fd8d910d007b9502","sync":{"url":"","isSync":false},"reference":false,"createdAt":"2017-05-22T20:20:53.281Z","from_sync":false,"order":1,"slug":"using-the-qualtrics-api","title":"Using the Qualtrics APIs"},"parentDoc":null,"__v":0,"user":"5919f13aff66b00f00f1948c","project":"55843604fd8d910d007b9502","version":{"_id":"558444ceafccfd0d00fcb2bb","forked_from":"55843604fd8d910d007b9505","project":"55843604fd8d910d007b9502","__v":45,"createdAt":"2015-06-19T16:35:26.435Z","releaseDate":"2015-06-19T16:35:26.435Z","categories":["558444cfafccfd0d00fcb2bc","558444cfafccfd0d00fcb2bd","55ad4ce733616a0d00599d2e","55ad4cef6aadf20d0015b764","55ad4cf36aadf20d0015b765","55ad4cfb24cf160d0013584f","55ad4d0024cf160d00135850","55ad4d0a24cf160d00135851","55ad4d0d24cf160d00135852","55ad4d126aadf20d0015b766","55ad4d1624cf160d00135853","55ad4d1933616a0d00599d2f","55ad4d2233616a0d00599d30","55ad4d2e24cf160d00135854","55d35b6bf77e6d0d00b1b092","55d3649a0168850d0073f14a","55d366d40168850d0073f15a","55d37fcff77e6d0d00b1b13f","55d383e50168850d0073f1e1","55d3ac26c336ec0d007c2251","55d3c51cb2330119009c31db","55d3c59bfe37111900e536f3","55d3c5a7fe37111900e536f4","55d3c5b4fe37111900e536f5","55d3c5d4fe37111900e536f6","55d3c5d6b2330119009c31df","55d3c5d71f478b170077c164","55d3c687b2330119009c31e4","55d3c6a4fe37111900e536f9","55d3c6befe37111900e536fa","55d3c6e8d2c66f0d00497f93","55d49dcfd7c16b2d007de905","55d4ca8f5082980d0009c79b","55d4cab9c95a3d2f0069ad3d","55d4d279c95a3d2f0069ad60","55d4d9355082980d0009c7e1","55d4f6b5988e130d000b3eb1","55d64dc8e60a2f0d00b88ecb","5627ca43fcbbc621004ec07d","56c64a0d8f98b50d0012c37c","56f1b8b13eb62a34003ea041","56f1b9df4476fb2200795e8c","57f6907dca5e5d1700039ae9","591dd06ca266c423002ec4ca","59234825e465c11900922518","5936f82eaa591e0027638d57"],"is_deprecated":false,"is_hidden":false,"is_beta":true,"is_stable":true,"codename":"","version_clean":"3.0.0","version":"3"},"updates":[],"next":{"pages":[],"description":""},"createdAt":"2017-05-22T15:09:37.056Z","link_external":false,"link_url":"","githubsync":"","sync_unique":"","hidden":false,"api":{"results":{"codes":[]},"settings":"","auth":"required","params":[],"url":""},"isReference":false,"order":1,"body":"This guide walks through the Qualtrics APIs to manage your surveys. These survey APIs allow you to retrieve a list of your surveys (with the [List Surveys](doc:list-surveys) API). You can get detailed information about a survey with the [Get Survey](doc:get-survey) API. The [Update Survey](doc:update-survey) API lets you change a survey's metadata, the [Import Survey](doc:import-survey-1) API lets you create a new survey by importing its definition, and the [Import Survey From URL](doc:import-survey) lets you import a survey from a website. Finally, you can delete a survey with the [Delete Survey](doc:delete-survey) API.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Survey Responses\",\n  \"body\": \"If you'd like to retrieve your users' responses to a survey, see [Getting Survey Responses](doc:response-exports) instead.\"\n}\n[/block]\nThis document contains the following sections:\n\n* [Get Survey](doc:managing-surveys#get-survey) \n* [List Surveys](doc:managing-surveys#list-surveys) \n* [Update Survey](doc:managing-surveys#update-survey) \n* [Import Survey](doc:managing-surveys#import-survey) \n* [Import Survey from URL](doc:managing-surveys#import-survey-from-url) \n* [Delete Survey](doc:managing-surveys#delete-survey) \n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Sample code\",\n  \"body\": \"The sample code in this document uses Python 3 and the **requests** library. If you have pip installed, you can use it to install **requests**:\\n\\n```\\npip install requests\\n```\\n\\nSome installations (usually those with both Python 2 and Python 3 installed) require you to use pip3 instead:\\n\\n```\\npip3 install requests\\n```\\n\\n(The pip command might also be called ```pip3.6``` or something similar.)\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Get Survey\"\n}\n[/block]\nYou can get an individual survey's design using the [Get Survey](doc:get-survey) API. The information returned represents only the design of the survey and does not include details about how people answered your survey’s questions. For help getting your survey's responses, see [Response Export Workflow](doc:response-exports).\n\nFor more information about the user interface for creating and editing surveys, see [\"Survey Module Overview\"](https://www.qualtrics.com/support/survey-platform/survey-module/survey-module-overview/).\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Get Survey Format\",\n  \"body\": \"No APIs allow the data returned by the Get Survey API to be re-imported (such as after modifying it).\"\n}\n[/block]\nThe Get Survey API returns information that we'll break into two parts. The first part is information about the survey (its metadata). The second group of information is the survey's content (its design). \n\nThe metadata returned by the Get Survey API includes:\n\n* The survey’s ID\n* The survey’s name\n* The survey owner’s ID\n* The organization’s ID\n* Whether the survey is active\n* The creation date and time of the survey\n* Its last modified date and time\n* When the survey expires\n\n(For more information about Qualtrics IDs, see [Authentication](doc:authentication-1).)\n\nThe information about the survey's design includes:\n\n* Information about the survey’s questions such as type (see [Question Types Overview](https://www.qualtrics.com/support/survey-platform/survey-module/editing-questions/question-types-guide/question-types-overview/)) and the question and answer text (if applicable)\n* The survey’s blocks (see [Block Options Overview](https://www.qualtrics.com/support/survey-platform/survey-module/block-options/block-options-overview/))\n* The survey’s flow (see [Survey Flow Overview](https://www.qualtrics.com/support/survey-platform/survey-module/survey-flow/survey-flow-overview/))\n* The survey’s embedded data (see [Embedded Data](https://www.qualtrics.com/support/survey-platform/survey-module/survey-flow/standard-elements/embedded-data/))\n* Comments\n* Loop and merge information (see [Loop & Merge](https://www.qualtrics.com/support/survey-platform/survey-module/block-options/loop-and-merge/))\n* Counts of the survey’s responses\n\nTo retrieve a survey, you need the following information:\n\n* Your API token (needed for all API calls), item 1 in the sample below\n* Your data center (needed for all API calls), item 2 in the sample below\n* A Survey ID, item 3 in the sample below\n\nTo find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids).\n\nThe following Python 3 sample shows how to obtain a JSON object that represents a survey:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# Get Survey API\\n\\nimport requests\\n\\n# Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\"    # 1\\ndataCenter = \\\"YOUR DATACENTER\\\" # 2\\n\\nsurveyId = \\\"YOUR SURVEY ID\\\"    # 3\\n\\n\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys/{1}\\\".format(dataCenter, surveyId)\\nheaders = {\\n    \\\"x-api-token\\\": apiToken,\\n    }\\n\\nresponse = requests.get(baseUrl, headers=headers)\\nprint(response.text)\",\n      \"language\": \"python\",\n      \"name\": \"Python 3\"\n    }\n  ]\n}\n[/block]\nFill in the values for ```apiToken```, ```surveyId```, and ```dataCenter``` before running.\n\nThe ```results``` object in the returned JSON object has the following members:\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"```blocks```\",\n    \"h-0\": \"Member\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Description\",\n    \"0-1\": \"Object\",\n    \"0-2\": \"Contains information about the survey's blocks. See the Blocks table below for more information.\",\n    \"1-0\": \"```comments```\",\n    \"1-1\": \"Object\",\n    \"1-2\": \"Discussion around questions. See the Comments table below for more information.\",\n    \"2-0\": \"```creationDate```\",\n    \"2-1\": \"String\",\n    \"2-2\": \"The date and time the survey was created. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.\",\n    \"3-0\": \"```embeddedData```\",\n    \"3-1\": \"Array of Objects\",\n    \"4-0\": \"```expiration```\",\n    \"4-1\": \"Object\",\n    \"4-2\": \"Contains two members, ```endDate``` and ```startDate``` that express the date range during which the survey is valid. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.\",\n    \"5-0\": \"```exportColumnMap```\",\n    \"5-1\": \"Object\",\n    \"6-0\": \"```flow```\",\n    \"6-1\": \"Array of Objects\",\n    \"7-0\": \"```id```\",\n    \"7-1\": \"String\",\n    \"7-2\": \"The survey ID. The same value that was used to retrieve the survey.\",\n    \"8-0\": \"```isActive```\",\n    \"8-1\": \"Boolean\",\n    \"8-2\": \"Indicates whether the survey is currently active. For more information on deactivating a survey, see [Deactivating a Survey](https://www.qualtrics.com/support/survey-platform/survey-module/survey-options/inactive-surveys/#DeactivatingASurvey).\",\n    \"9-0\": \"```lastModifiedDate```\",\n    \"9-1\": \"String\",\n    \"9-2\": \"The date and time (UTC time zone) the survey was last modified. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.\",\n    \"10-0\": \"```loopAndMerge```\",\n    \"10-1\": \"Object\",\n    \"11-0\": \"```name```\",\n    \"11-1\": \"String\",\n    \"11-2\": \"The name of the survey. It is also the same as the project name.\",\n    \"12-0\": \"```organizationId```\",\n    \"12-1\": \"String\",\n    \"12-2\": \"The organization's ID. The same as the ```dataCenter``` value in the above sample code.\",\n    \"13-0\": \"```ownerId```\",\n    \"13-1\": \"String\",\n    \"13-2\": \"The user ID of the owner of the survey.\",\n    \"14-0\": \"```questions```\",\n    \"14-1\": \"Object\",\n    \"14-2\": \"A object containing the entire set of questions from your survey. See the Questions table below for more information.\",\n    \"15-0\": \"```responseCounts```\",\n    \"15-1\": \"Object\",\n    \"15-2\": \"Contains three members, ```auditable```, ```deleted```, and ```generated``` which contain counts of responses.\",\n    \"3-2\": \"Each object in ```embeddedData``` contains two members, ```name``` and ```defaultValue```\",\n    \"5-2\": \"Maps your questions to their internal question IDs. The members in this object are the names you've defined for your questions, such as ```Q1```. The value for each member is a object that contains the member ```question``` and the value is a string representing the question ID, such as ```QID1```.\",\n    \"6-2\": \"The ```flow``` array represents the order of items that make up the survey. Each object in the ```flow``` array contains a ```type``` member that identifies the block. There are sometimes ```type``` members in the object that indicate the type of block in the flow.\",\n    \"h-3\": \"Example\",\n    \"2-3\": \"\",\n    \"10-2\": \"Each member in this object is a block ID whose value is a object with four members: ```columnNames```, ```loopQuestionMeta```, ```loopType```, and ```randomizationMeta```. See the Loop and Merge table below for more information.\"\n  },\n  \"cols\": 3,\n  \"rows\": 16\n}\n[/block]\n## Blocks\n\nThe ```blocks``` object's members are block IDs, such as \"BL_1234567890\" and inside each block is an object with these members:\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"```description```\",\n    \"h-0\": \"Member\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Description\",\n    \"0-1\": \"String\",\n    \"0-2\": \"The description given to the block (typically defined in the Survey UI).\",\n    \"1-0\": \"```elements```\",\n    \"1-1\": \"Array of Objects\",\n    \"1-2\": \"Each object in the ```elements``` array contains two members, ```type``` and ```questionId```.\"\n  },\n  \"cols\": 3,\n  \"rows\": 2\n}\n[/block]\n## Comments\n\nThe comments object contains members for each question ID that has comments (or notes). Each question has a ```commentList``` array of one object per comment. For example:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"\\\"comments\\\": {\\n    \\\"QID1\\\": {\\n         \\\"commentList\\\": [\\n             {\\n                 \\\"message\\\": \\\"Some note text for question Q1\\\",\\n                 \\\"timestamp\\\": 1495745520,\\n                 \\\"userId\\\": \\\"UR_1234567890\\\"\\n              }\\n          ]\\n      }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"comments\"\n    }\n  ]\n}\n[/block]\nThe objects in the ```commentList``` array consist of the following:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Member\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"```message```\",\n    \"0-1\": \"String\",\n    \"0-2\": \"The message attached to this question.\",\n    \"1-0\": \"```timestamp```\",\n    \"1-1\": \"Number\",\n    \"1-2\": \"Unix epoch time (seconds since base time of January 1, 1970).\",\n    \"2-0\": \"```userId```\",\n    \"2-1\": \"String\",\n    \"2-2\": \"The user who created this comment.\"\n  },\n  \"cols\": 3,\n  \"rows\": 3\n}\n[/block]\nIf there are no comments, the comments object is empty.\n\n## Export Column Map\n\nThe ```exportColumnMap``` is useful for mapping the names you've given to your questions with the internal identifiers (question IDs) that Qualtrics uses to identify your questions. When tabulating responses to your survey, this information is particularly useful. For more information about survey responses, see [Response Export Workflow](doc:response-exports).\n\nThe following table shows the export column map for the questions described in the Questions section below:\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"\\\"Q1\\\": {\\n    \\\"question\\\": \\\"QID1\\\"\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Multiple Choice\"\n    },\n    {\n      \"code\": \"\\\"Q2\\\": {\\n    \\\"question\\\": \\\"QID2\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Descriptive Text\"\n    },\n    {\n      \"code\": \"\\\"Q3\\\": {\\n    \\\"question\\\": \\\"QID3\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Text/Graphic\"\n    },\n    {\n      \"code\": \"\\\"Q4_1\\\": {\\n    \\\"question\\\": \\\"QID4\\\",\\n    \\\"subQuestion\\\": \\\"QID4.subQuestions.1\\\"\\n},\\n\\\"Q4_2\\\": {\\n    \\\"question\\\": \\\"QID4\\\",\\n    \\\"subQuestion\\\": \\\"QID4.subQuestions.2\\\"\\n},\\n\\\"Q4_3\\\": {\\n    \\\"question\\\": \\\"QID4\\\",\\n    \\\"subQuestion\\\": \\\"QID4.subQuestions.3\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Matrix Table\"\n    },\n    {\n      \"code\": \"\\\"Q5\\\": {\\n    \\\"question\\\": \\\"QID5\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Text Entry\"\n    },\n    {\n      \"code\": \"\\\"Q6_1\\\": {\\n    \\\"choice\\\": \\\"QID6.choices.1\\\",\\n    \\\"question\\\": \\\"QID6\\\"\\n},\\n\\\"Q6_2\\\": {\\n    \\\"choice\\\": \\\"QID6.choices.2\\\",\\n    \\\"question\\\": \\\"QID6\\\"\\n},\\n\\\"Q6_3\\\": {\\n    \\\"choice\\\": \\\"QID6.choices.3\\\",\\n    \\\"question\\\": \\\"QID6\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Slider\"\n    },\n    {\n      \"code\": \"\\\"Q7_1\\\": {\\n    \\\"choice\\\": \\\"QID7.choices.1\\\",\\n    \\\"question\\\": \\\"QID7\\\"\\n},\\n\\\"Q7_2\\\": {\\n    \\\"choice\\\": \\\"QID7.choices.2\\\",\\n    \\\"question\\\": \\\"QID7\\\"\\n},\\n\\\"Q7_3\\\": {\\n    \\\"choice\\\": \\\"QID7.choices.3\\\",\\n    \\\"question\\\": \\\"QID7\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Rank Order\"\n    },\n    {\n      \"code\": \"\\\"Q8#1_1\\\": {\\n    \\\"column\\\": \\\"QID8.columns.1\\\",\\n    \\\"question\\\": \\\"QID8\\\",\\n    \\\"subQuestion\\\": \\\"QID8.subQuestions.1\\\"\\n},\\n\\\"Q8#1_2\\\": {\\n    \\\"column\\\": \\\"QID8.columns.1\\\",\\n    \\\"question\\\": \\\"QID8\\\",\\n    \\\"subQuestion\\\": \\\"QID8.subQuestions.2\\\"\\n},\\n\\\"Q8#1_3\\\": {\\n    \\\"column\\\": \\\"QID8.columns.1\\\",\\n    \\\"question\\\": \\\"QID8\\\",\\n    \\\"subQuestion\\\": \\\"QID8.subQuestions.3\\\"\\n},\\n\\\"Q8#2_1\\\": {\\n    \\\"column\\\": \\\"QID8.columns.2\\\",\\n    \\\"question\\\": \\\"QID8\\\",\\n    \\\"subQuestion\\\": \\\"QID8.subQuestions.1\\\"\\n},\\n\\\"Q8#2_2\\\": {\\n    \\\"column\\\": \\\"QID8.columns.2\\\",\\n    \\\"question\\\": \\\"QID8\\\",\\n    \\\"subQuestion\\\": \\\"QID8.subQuestions.2\\\"\\n},\\n\\\"Q8#2_3\\\": {\\n    \\\"column\\\": \\\"QID8.columns.2\\\",\\n    \\\"question\\\": \\\"QID8\\\",\\n    \\\"subQuestion\\\": \\\"QID8.subQuestions.3\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Side by Side\"\n    },\n    {\n      \"code\": \"\\\"Q9_1\\\": {\\n    \\\"choice\\\": \\\"QID9.choices.1\\\",\\n    \\\"question\\\": \\\"QID9\\\"\\n},\\n\\\"Q9_2\\\": {\\n    \\\"choice\\\": \\\"QID9.choices.2\\\",\\n    \\\"question\\\": \\\"QID9\\\"\\n},\\n\\\"Q9_3\\\": {\\n    \\\"choice\\\": \\\"QID9.choices.3\\\",\\n    \\\"question\\\": \\\"QID9\\\"\\n}\\n\",\n      \"language\": \"json\",\n      \"name\": \"Constant Sum\"\n    },\n    {\n      \"code\": \"\\\"Q10_1_Group\\\": {\\n    \\\"item\\\": \\\"QID10.items.1\\\",\\n    \\\"question\\\": \\\"QID10\\\"\\n},\\n\\\"Q10_1_Rank\\\": {\\n    \\\"item\\\": \\\"QID10.items.1\\\",\\n    \\\"question\\\": \\\"QID10\\\"\\n},\\n\\\"Q10_2_Group\\\": {\\n    \\\"item\\\": \\\"QID10.items.2\\\",\\n    \\\"question\\\": \\\"QID10\\\"\\n},\\n\\\"Q10_2_Rank\\\": {\\n    \\\"item\\\": \\\"QID10.items.2\\\",\\n    \\\"question\\\": \\\"QID10\\\"\\n},\\n\\\"Q10_3_Group\\\": {\\n    \\\"item\\\": \\\"QID10.items.3\\\",\\n    \\\"question\\\": \\\"QID10\\\"\\n},\\n\\\"Q10_3_Rank\\\": {\\n    \\\"item\\\": \\\"QID10.items.3\\\",\\n    \\\"question\\\": \\\"QID10\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Pick Groups and Rank\"\n    },\n    {\n      \"code\": \"\",\n      \"language\": \"json\",\n      \"name\": \"Hot Spot\"\n    },\n    {\n      \"code\": \"\\\"Q12_1_x\\\": {\\n    \\\"question\\\": \\\"QID12\\\"\\n},\\n\\\"Q12_1_y\\\": {\\n    \\\"question\\\": \\\"QID12\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Heat Map\"\n    },\n    {\n      \"code\": \"\\\"Q13_1\\\": {\\n    \\\"question\\\": \\\"QID13\\\",\\n    \\\"subQuestion\\\": \\\"QID13.subQuestions.1\\\"\\n},\\n\\\"Q13_2\\\": {\\n    \\\"question\\\": \\\"QID13\\\",\\n    \\\"subQuestion\\\": \\\"QID13.subQuestions.2\\\"\\n},\\n\\\"Q13_3\\\": {\\n    \\\"question\\\": \\\"QID13\\\",\\n    \\\"subQuestion\\\": \\\"QID13.subQuestions.3\\\"\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Drill Down\"\n    },\n    {\n      \"code\": \"\\\"Q14\\\": {\\n    \\\"question\\\": \\\"QID14\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Net Promoter® Score\"\n    },\n    {\n      \"code\": \"\\\"Q15_10\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.10\\\"\\n},\\n\\\"Q15_11\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.11\\\"\\n},\\n\\\"Q15_12\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.12\\\"\\n},\\n\\\"Q15_13\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.13\\\"\\n},\\n\\\"Q15_14\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.14\\\"\\n},\\n\\\"Q15_15\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.15\\\"\\n},\\n\\\"Q15_16\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.16\\\"\\n},\\n\\\"Q15_17\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.17\\\"\\n},\\n\\\"Q15_18\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.18\\\"\\n},\\n\\\"Q15_19\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.19\\\"\\n},\\n\\\"Q15_20\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.20\\\"\\n},\\n\\\"Q15_21\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.21\\\"\\n},\\n\\\"Q15_22\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.22\\\"\\n},\\n\\\"Q15_23\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.23\\\"\\n},\\n\\\"Q15_24\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.24\\\"\\n},\\n\\\"Q15_25\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.25\\\"\\n},\\n\\\"Q15_26\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.26\\\"\\n},\\n\\\"Q15_27\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.27\\\"\\n},\\n\\\"Q15_28\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.28\\\"\\n},\\n\\\"Q15_29\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.29\\\"\\n},\\n\\\"Q15_30\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.30\\\"\\n},\\n\\\"Q15_31\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.31\\\"\\n},\\n\\\"Q15_32\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.32\\\"\\n},\\n\\\"Q15_33\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.33\\\"\\n},\\n\\\"Q15_34\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.34\\\"\\n},\\n\\\"Q15_35\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.35\\\"\\n},\\n\\\"Q15_36\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.36\\\"\\n},\\n\\\"Q15_37\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.37\\\"\\n},\\n\\\"Q15_38\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.38\\\"\\n},\\n\\\"Q15_39\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.39\\\"\\n},\\n\\\"Q15_4\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.4\\\"\\n},\\n\\\"Q15_40\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.40\\\"\\n},\\n\\\"Q15_41\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.41\\\"\\n},\\n\\\"Q15_42\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.42\\\"\\n},\\n\\\"Q15_43\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.43\\\"\\n},\\n\\\"Q15_44\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.44\\\"\\n},\\n\\\"Q15_45\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.45\\\"\\n},\\n\\\"Q15_5\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.5\\\"\\n},\\n\\\"Q15_6\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.6\\\"\\n},\\n\\\"Q15_7\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.7\\\"\\n},\\n\\\"Q15_8\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.8\\\"\\n},\\n\\\"Q15_9\\\": {\\n    \\\"question\\\": \\\"QID15\\\",\\n    \\\"subQuestion\\\": \\\"QID15.subQuestions.9\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Highlight\"\n    },\n    {\n      \"code\": \"\\\"Q16_FILE_ID\\\": {\\n    \\\"question\\\": \\\"QID16\\\"\\n},\\n\\\"Q16_FILE_NAME\\\": {\\n    \\\"question\\\": \\\"QID16\\\"\\n},\\n\\\"Q16_FILE_SIZE\\\": {\\n    \\\"question\\\": \\\"QID16\\\"\\n},\\n\\\"Q16_FILE_TYPE\\\": {\\n    \\\"question\\\": \\\"QID16\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Signature\"\n    },\n    {\n      \"code\": \"\\\"Q17_1\\\": {\\n    \\\"choice\\\": \\\"QID17.choices.1\\\",\\n    \\\"question\\\": \\\"QID17\\\"\\n},\\n\\\"Q17_2\\\": {\\n    \\\"choice\\\": \\\"QID17.choices.2\\\",\\n    \\\"question\\\": \\\"QID17\\\"\\n},\\n\\\"Q17_3\\\": {\\n    \\\"choice\\\": \\\"QID17.choices.3\\\",\\n    \\\"question\\\": \\\"QID17\\\"\\n},\\n\\\"Q17_4\\\": {\\n    \\\"choice\\\": \\\"QID17.choices.4\\\",\\n    \\\"question\\\": \\\"QID17\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Timer\"\n    },\n    {\n      \"code\": \"\\\"Q18_1_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.1\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\\\"Q18_2_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.2\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\\\"Q18_3_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.3\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\\\"Q18_4_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.4\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\\\"Q18_5_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.5\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\\\"Q18_6_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.6\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\\\"Q18_7_TEXT\\\": {\\n    \\\"choice\\\": \\\"QID18.choices.7\\\",\\n    \\\"question\\\": \\\"QID18\\\"\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Meta Info\"\n    },\n    {\n      \"code\": \"\",\n      \"language\": \"json\",\n      \"name\": \"Captcha\"\n    }\n  ]\n}\n[/block]\n## Loop and Merge\n\nThe ```loopAndMerge``` object contains block IDs as members and objects as values. \n\nThe possible loop types for loop and merge are **static** and **question**. If the loop is **static** it will always loop the same regardless of previous answers selected. If the loop type is **question**, then there will be a criterion in the ```loopOn``` array member which will say what you are looping on (\"UnselectedChoices,\" \"SelectedChoices,\" etc.). The ```loopQuestionMeta``` also provides the ```questionId``` and ```questionType``` of the question that is being used to loop on. If \"Randomize loop order\" is enabled the ```randomizationMeta``` will contain information about how many loops the question will go through.\n\nThe ```loopAndMerge``` object contains the following information:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Member\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"```columnNames```\",\n    \"0-1\": \"Object\",\n    \"1-0\": \"```loopQuestionMeta```\",\n    \"1-1\": \"Object\",\n    \"2-0\": \"```loopType```\",\n    \"2-1\": \"String\",\n    \"3-0\": \"```randomizationMeta```\",\n    \"3-1\": \"Object\",\n    \"0-2\": \"Is an object with members such as ```field1```, ```field2```, etc. Each value associated with a field contains and array of the values that appear in that field.\",\n    \"1-2\": \"Contains an object that references the question defined by the loop.\",\n    \"2-2\": \"Type of loop either \\\"Question\\\" or \\\"Static.\\\"\",\n    \"3-2\": \"Indicates how the loop is randomized (if enabled in the survey design).\"\n  },\n  \"cols\": 3,\n  \"rows\": 4\n}\n[/block]\n## Questions \n\nThe ```questions``` object contains information about the questions that make up your survey. Each member in the ```questions``` object is the question ID, and its value is an object that defines the question. For example, in the following Multiple Choice snippet, the question ID is ```QID1```, which is a multiple-choice question. Each choice is a member (```1```, ```2```, and ```3```) that contains an object with members that describe that choice. Other question types have different objects that describe the question.\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"\\\"QID1\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 1\\\",\\n            \\\"description\\\": \\\"Click to write Choice 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 2\\\",\\n            \\\"description\\\": \\\"Click to write Choice 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 3\\\",\\n            \\\"description\\\": \\\"Click to write Choice 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q1\\\",\\n    \\\"questionText\\\": \\\"Multiple choice<div><br></div>\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"SAVR\\\",\\n        \\\"subSelector\\\": \\\"TX\\\",\\n        \\\"type\\\": \\\"MC\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Multiple Choice\"\n    },\n    {\n      \"code\": \"\\\"QID2\\\": {\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q2\\\",\\n    \\\"questionText\\\": \\\"Descriptive Text<div><br></div>\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"TB\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"DB\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Descriptive Text\"\n    },\n    {\n      \"code\": \"\\\"QID3\\\": {\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q3\\\",\\n    \\\"questionText\\\": \\\"Click to write the question text\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"GRB\\\",\\n        \\\"subSelector\\\": \\\"WOTXB\\\",\\n        \\\"type\\\": \\\"DB\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Text/Graphic\"\n    },\n    {\n      \"code\": \"\\\"QID4\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Scale point 1\\\",\\n            \\\"description\\\": \\\"Click to write Scale point 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\"\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Scale point 2\\\",\\n            \\\"description\\\": \\\"Click to write Scale point 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\"\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Scale point 3\\\",\\n            \\\"description\\\": \\\"Click to write Scale point 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\"\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q4\\\",\\n    \\\"questionText\\\": \\\"Matrix table\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"Likert\\\",\\n        \\\"subSelector\\\": \\\"SingleAnswer\\\",\\n        \\\"type\\\": \\\"Matrix\\\"\\n    },\\n    \\\"subQuestions\\\": {\\n        \\\"1\\\": {\\n            \\\"choiceText\\\": \\\"Click to write Statement 1\\\",\\n            \\\"description\\\": \\\"Click to write Statement 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"choiceText\\\": \\\"Click to write Statement 2\\\",\\n            \\\"description\\\": \\\"Click to write Statement 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"choiceText\\\": \\\"Click to write Statement 3\\\",\\n            \\\"description\\\": \\\"Click to write Statement 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Matrix Table\"\n    },\n    {\n      \"code\": \"\\\"QID5\\\": {\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q5\\\",\\n    \\\"questionText\\\": \\\"Text entry\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"SL\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"TE\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Text Entry\"\n    },\n    {\n      \"code\": \"\\\"QID6\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 1\\\",\\n            \\\"description\\\": \\\"Click to write Choice 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 2\\\",\\n            \\\"description\\\": \\\"Click to write Choice 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 3\\\",\\n            \\\"description\\\": \\\"Click to write Choice 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q6\\\",\\n    \\\"questionText\\\": \\\"Slider\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"HSLIDER\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"Slider\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Slider\"\n    },\n    {\n      \"code\": \"\\\"QID7\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Item 1\\\",\\n            \\\"description\\\": \\\"Click to write Item 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Item 2\\\",\\n            \\\"description\\\": \\\"Click to write Item 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Item 3\\\",\\n            \\\"description\\\": \\\"Click to write Item 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q7\\\",\\n    \\\"questionText\\\": \\\"Rank order\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"DND\\\",\\n        \\\"subSelector\\\": \\\"TX\\\",\\n        \\\"type\\\": \\\"RO\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Rank Order\"\n    },\n    {\n      \"code\": \"\\\"QID8\\\": {\\n    \\\"columns\\\": {\\n        \\\"1\\\": {\\n            \\\"choices\\\": {\\n                \\\"1\\\": {\\n                    \\\"analyze\\\": true,\\n                    \\\"choiceText\\\": \\\"Answer 1\\\",\\n                    \\\"description\\\": \\\"Answer 1\\\",\\n                    \\\"imageDescription\\\": null,\\n                    \\\"recode\\\": \\\"1\\\"\\n                },\\n                \\\"2\\\": {\\n                    \\\"analyze\\\": true,\\n                    \\\"choiceText\\\": \\\"Answer 2\\\",\\n                    \\\"description\\\": \\\"Answer 2\\\",\\n                    \\\"imageDescription\\\": null,\\n                    \\\"recode\\\": \\\"2\\\"\\n                }\\n            },\\n            \\\"questionLabel\\\": null,\\n            \\\"questionText\\\": \\\"Click to write Column 1\\\",\\n            \\\"questionType\\\": {\\n                \\\"selector\\\": \\\"Likert\\\",\\n                \\\"subSelector\\\": \\\"SingleAnswer\\\",\\n                \\\"type\\\": \\\"Matrix\\\"\\n            },\\n            \\\"validation\\\": {\\n                \\\"doesForceResponse\\\": false\\n            }\\n        },\\n        \\\"2\\\": {\\n            \\\"choices\\\": {\\n                \\\"1\\\": {\\n                    \\\"analyze\\\": true,\\n                    \\\"choiceText\\\": \\\"Answer 1\\\",\\n                    \\\"description\\\": \\\"Answer 1\\\",\\n                    \\\"imageDescription\\\": null,\\n                    \\\"recode\\\": \\\"1\\\"\\n                },\\n                \\\"2\\\": {\\n                    \\\"analyze\\\": true,\\n                    \\\"choiceText\\\": \\\"Answer 2\\\",\\n                    \\\"description\\\": \\\"Answer 2\\\",\\n                    \\\"imageDescription\\\": null,\\n                    \\\"recode\\\": \\\"2\\\"\\n                }\\n            },\\n            \\\"questionLabel\\\": null,\\n            \\\"questionText\\\": \\\"Click to write Column 2\\\",\\n            \\\"questionType\\\": {\\n                \\\"selector\\\": \\\"Likert\\\",\\n                \\\"subSelector\\\": \\\"SingleAnswer\\\",\\n                \\\"type\\\": \\\"Matrix\\\"\\n            },\\n            \\\"validation\\\": {\\n                \\\"doesForceResponse\\\": false\\n            }\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q8\\\",\\n    \\\"questionText\\\": \\\"Side by side\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"SBSMatrix\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"SBS\\\"\\n    },\\n    \\\"subQuestions\\\": {\\n        \\\"1\\\": {\\n            \\\"choiceText\\\": \\\"Click to write Statement 1\\\",\\n            \\\"description\\\": \\\"Click to write Statement 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"choiceText\\\": \\\"Click to write Statement 2\\\",\\n            \\\"description\\\": \\\"Click to write Statement 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"choiceText\\\": \\\"Click to write Statement 3\\\",\\n            \\\"description\\\": \\\"Click to write Statement 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Side by Side\"\n    },\n    {\n      \"code\": \"\\\"QID9\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 1\\\",\\n            \\\"description\\\": \\\"Click to write Choice 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 2\\\",\\n            \\\"description\\\": \\\"Click to write Choice 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 3\\\",\\n            \\\"description\\\": \\\"Click to write Choice 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q9\\\",\\n    \\\"questionText\\\": \\\"Constant sum\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"VRTL\\\",\\n        \\\"subSelector\\\": \\\"TX\\\",\\n        \\\"type\\\": \\\"CS\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n}\",\n      \"language\": \"json\",\n      \"name\": \"Constant Sum\"\n    },\n    {\n      \"code\": \"\\\"QID10\\\": {\\n    \\\"groups\\\": {\\n        \\\"0\\\": {\\n            \\\"description\\\": \\\"Click to write Group 1\\\",\\n            \\\"recode\\\": \\\"0\\\"\\n        },\\n        \\\"1\\\": {\\n            \\\"description\\\": \\\"Click to write Group 2\\\",\\n            \\\"recode\\\": \\\"1\\\"\\n        },\\n        \\\"2\\\": {\\n            \\\"description\\\": \\\"Click to write Group 3\\\",\\n            \\\"recode\\\": \\\"2\\\"\\n        }\\n    },\\n    \\\"items\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"description\\\": \\\"Click to write Item 1\\\",\\n            \\\"imageDescription\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"description\\\": \\\"Click to write Item 2\\\",\\n            \\\"imageDescription\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"description\\\": \\\"Click to write Item 3\\\",\\n            \\\"imageDescription\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q10\\\",\\n    \\\"questionText\\\": \\\"Pick group and rank\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"DragAndDrop\\\",\\n        \\\"subSelector\\\": \\\"NoColumns\\\",\\n        \\\"type\\\": \\\"PGR\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Pick Group and Rank\"\n    },\n    {\n      \"code\": \"\\\"QID11\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Dislike\\\",\\n            \\\"description\\\": \\\"Dislike\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\"\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Neutral\\\",\\n            \\\"description\\\": \\\"Neutral\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\"\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Like\\\",\\n            \\\"description\\\": \\\"Like\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\"\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q11\\\",\\n    \\\"questionText\\\": \\\"Hot spot\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"LikeDislike\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"HotSpot\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Hot Spot\"\n    },\n    {\n      \"code\": \"\\\"QID12\\\": {\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q12\\\",\\n    \\\"questionText\\\": \\\"Heat map\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"Image\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"HeatMap\\\"\\n    },\\n    \\\"regions\\\": {},\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Heat Map\"\n    },\n    {\n      \"code\": \"\\\"QID13\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 1\\\",\\n            \\\"description\\\": \\\"Click to write Choice 1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 2\\\",\\n            \\\"description\\\": \\\"Click to write Choice 2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click to write Choice 3\\\",\\n            \\\"description\\\": \\\"Click to write Choice 3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q13\\\",\\n    \\\"questionText\\\": \\\"Drill down\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"DL\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"DD\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Drill Down\"\n    },\n    {\n      \"code\": \"\\\"QID14\\\": {\\n    \\\"choices\\\": {\\n        \\\"0\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"0\\\",\\n            \\\"description\\\": \\\"0\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"0\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"1\\\",\\n            \\\"description\\\": \\\"1\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"10\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"10\\\",\\n            \\\"description\\\": \\\"10\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"10\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"2\\\",\\n            \\\"description\\\": \\\"2\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"3\\\",\\n            \\\"description\\\": \\\"3\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"4\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"4\\\",\\n            \\\"description\\\": \\\"4\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"4\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"5\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"5\\\",\\n            \\\"description\\\": \\\"5\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"5\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"6\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"6\\\",\\n            \\\"description\\\": \\\"6\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"6\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"7\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"7\\\",\\n            \\\"description\\\": \\\"7\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"7\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"8\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"8\\\",\\n            \\\"description\\\": \\\"8\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"8\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"9\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"9\\\",\\n            \\\"description\\\": \\\"9\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"9\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q14\\\",\\n    \\\"questionText\\\": \\\"Net promoter score\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"NPS\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"MC\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Net Promoter® Score\"\n    },\n    {\n      \"code\": \"\\\"QID15\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Like\\\",\\n            \\\"description\\\": \\\"Like\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\"\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Neither like nor dislike\\\",\\n            \\\"description\\\": \\\"Neither like nor dislike\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\"\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Dislike\\\",\\n            \\\"description\\\": \\\"Dislike\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\"\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q15\\\",\\n    \\\"questionText\\\": \\\"Highlight\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"Text\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"HL\\\"\\n    },\\n    \\\"subQuestions\\\": {\\n        \\\"10\\\": {\\n            \\\"choiceText\\\": \\\"7: highlight\\\",\\n            \\\"description\\\": \\\"7: highlight\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"10\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"11\\\": {\\n            \\\"choiceText\\\": \\\"8: with\\\",\\n            \\\"description\\\": \\\"8: with\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"11\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"12\\\": {\\n            \\\"choiceText\\\": \\\"9: the\\\",\\n            \\\"description\\\": \\\"9: the\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"12\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"13\\\": {\\n            \\\"choiceText\\\": \\\"10: above\\\",\\n            \\\"description\\\": \\\"10: above\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"13\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"14\\\": {\\n            \\\"choiceText\\\": \\\"11: color\\\",\\n            \\\"description\\\": \\\"11: color\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"14\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"15\\\": {\\n            \\\"choiceText\\\": \\\"12: categories.\\\",\\n            \\\"description\\\": \\\"12: categories.\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"15\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"16\\\": {\\n            \\\"choiceText\\\": \\\"13: To\\\",\\n            \\\"description\\\": \\\"13: To\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"16\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"17\\\": {\\n            \\\"choiceText\\\": \\\"14: edit\\\",\\n            \\\"description\\\": \\\"14: edit\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"17\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"18\\\": {\\n            \\\"choiceText\\\": \\\"15: this\\\",\\n            \\\"description\\\": \\\"15: this\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"18\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"19\\\": {\\n            \\\"choiceText\\\": \\\"16: text,\\\",\\n            \\\"description\\\": \\\"16: text,\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"19\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"20\\\": {\\n            \\\"choiceText\\\": \\\"17: click\\\",\\n            \\\"description\\\": \\\"17: click\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"20\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"21\\\": {\\n            \\\"choiceText\\\": \\\"18: on\\\",\\n            \\\"description\\\": \\\"18: on\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"21\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"22\\\": {\\n            \\\"choiceText\\\": \\\"19: the\\\",\\n            \\\"description\\\": \\\"19: the\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"22\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"23\\\": {\\n            \\\"choiceText\\\": \\\"20: link\\\",\\n            \\\"description\\\": \\\"20: link\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"23\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"24\\\": {\\n            \\\"choiceText\\\": \\\"21: below.\\\",\\n            \\\"description\\\": \\\"21: below.\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"24\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"25\\\": {\\n            \\\"choiceText\\\": \\\"22: Click\\\",\\n            \\\"description\\\": \\\"22: Click\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"25\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"26\\\": {\\n            \\\"choiceText\\\": \\\"23: between\\\",\\n            \\\"description\\\": \\\"23: between\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"26\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"27\\\": {\\n            \\\"choiceText\\\": \\\"24: the\\\",\\n            \\\"description\\\": \\\"24: the\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"27\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"28\\\": {\\n            \\\"choiceText\\\": \\\"25: words\\\",\\n            \\\"description\\\": \\\"25: words\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"28\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"29\\\": {\\n            \\\"choiceText\\\": \\\"26: to\\\",\\n            \\\"description\\\": \\\"26: to\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"29\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"30\\\": {\\n            \\\"choiceText\\\": \\\"27: combine\\\",\\n            \\\"description\\\": \\\"27: combine\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"30\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"31\\\": {\\n            \\\"choiceText\\\": \\\"28: or\\\",\\n            \\\"description\\\": \\\"28: or\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"31\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"32\\\": {\\n            \\\"choiceText\\\": \\\"29: separate\\\",\\n            \\\"description\\\": \\\"29: separate\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"32\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"33\\\": {\\n            \\\"choiceText\\\": \\\"30: them.\\\",\\n            \\\"description\\\": \\\"30: them.\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"33\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"34\\\": {\\n            \\\"choiceText\\\": \\\"31: Clicking\\\",\\n            \\\"description\\\": \\\"31: Clicking\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"34\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"35\\\": {\\n            \\\"choiceText\\\": \\\"32: directly\\\",\\n            \\\"description\\\": \\\"32: directly\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"35\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"36\\\": {\\n            \\\"choiceText\\\": \\\"33: on\\\",\\n            \\\"description\\\": \\\"33: on\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"36\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"37\\\": {\\n            \\\"choiceText\\\": \\\"34: words\\\",\\n            \\\"description\\\": \\\"34: words\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"37\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"38\\\": {\\n            \\\"choiceText\\\": \\\"35: will\\\",\\n            \\\"description\\\": \\\"35: will\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"38\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"39\\\": {\\n            \\\"choiceText\\\": \\\"36: allow\\\",\\n            \\\"description\\\": \\\"36: allow\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"39\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"4\\\": {\\n            \\\"choiceText\\\": \\\"1: This\\\",\\n            \\\"description\\\": \\\"1: This\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"4\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"40\\\": {\\n            \\\"choiceText\\\": \\\"37: or\\\",\\n            \\\"description\\\": \\\"37: or\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"40\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"41\\\": {\\n            \\\"choiceText\\\": \\\"38: disallow\\\",\\n            \\\"description\\\": \\\"38: disallow\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"41\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"42\\\": {\\n            \\\"choiceText\\\": \\\"39: respondents\\\",\\n            \\\"description\\\": \\\"39: respondents\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"42\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"43\\\": {\\n            \\\"choiceText\\\": \\\"40: from\\\",\\n            \\\"description\\\": \\\"40: from\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"43\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"44\\\": {\\n            \\\"choiceText\\\": \\\"41: highlighting\\\",\\n            \\\"description\\\": \\\"41: highlighting\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"44\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"45\\\": {\\n            \\\"choiceText\\\": \\\"42: them.\\\",\\n            \\\"description\\\": \\\"42: them.\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"45\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"5\\\": {\\n            \\\"choiceText\\\": \\\"2: is\\\",\\n            \\\"description\\\": \\\"2: is\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"5\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"6\\\": {\\n            \\\"choiceText\\\": \\\"3: the\\\",\\n            \\\"description\\\": \\\"3: the\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"6\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"7\\\": {\\n            \\\"choiceText\\\": \\\"4: text\\\",\\n            \\\"description\\\": \\\"4: text\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"7\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"8\\\": {\\n            \\\"choiceText\\\": \\\"5: you\\\",\\n            \\\"description\\\": \\\"5: you\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"8\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"9\\\": {\\n            \\\"choiceText\\\": \\\"6: can\\\",\\n            \\\"description\\\": \\\"6: can\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"9\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\\n\",\n      \"language\": \"json\",\n      \"name\": \"Highlight\"\n    },\n    {\n      \"code\": \"\\\"QID16\\\": {\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q16\\\",\\n    \\\"questionText\\\": \\\"Signature\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"Signature\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"Draw\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Signature\"\n    },\n    {\n      \"code\": \"\\\"QID17\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"First Click\\\",\\n            \\\"description\\\": \\\"First Click\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"1\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Last Click\\\",\\n            \\\"description\\\": \\\"Last Click\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"2\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Page Submit\\\",\\n            \\\"description\\\": \\\"Page Submit\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"3\\\",\\n            \\\"variableName\\\": null\\n        },\\n        \\\"4\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Click Count\\\",\\n            \\\"description\\\": \\\"Click Count\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"recode\\\": \\\"4\\\",\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q17\\\",\\n    \\\"questionText\\\": \\\"Timing\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"PageTimer\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"Timing\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Timer\"\n    },\n    {\n      \"code\": \"\\\"QID18\\\": {\\n    \\\"choices\\\": {\\n        \\\"1\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Browser\\\",\\n            \\\"description\\\": \\\"Browser\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        },\\n        \\\"2\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Version\\\",\\n            \\\"description\\\": \\\"Version\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        },\\n        \\\"3\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Operating System\\\",\\n            \\\"description\\\": \\\"Operating System\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        },\\n        \\\"4\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Screen Resolution\\\",\\n            \\\"description\\\": \\\"Screen Resolution\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        },\\n        \\\"5\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Flash Version\\\",\\n            \\\"description\\\": \\\"Flash Version\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        },\\n        \\\"6\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"Java Support\\\",\\n            \\\"description\\\": \\\"Java Support\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        },\\n        \\\"7\\\": {\\n            \\\"analyze\\\": true,\\n            \\\"choiceText\\\": \\\"User Agent\\\",\\n            \\\"description\\\": \\\"User Agent\\\",\\n            \\\"imageDescription\\\": null,\\n            \\\"variableName\\\": null\\n        }\\n    },\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q18\\\",\\n    \\\"questionText\\\": \\\"Browser Meta Info\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"Browser\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"Meta\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Meta Info\"\n    },\n    {\n      \"code\": \"\\\"QID19\\\": {\\n    \\\"questionLabel\\\": null,\\n    \\\"questionName\\\": \\\"Q19\\\",\\n    \\\"questionText\\\": \\\"Captcha\\\",\\n    \\\"questionType\\\": {\\n        \\\"selector\\\": \\\"V2\\\",\\n        \\\"subSelector\\\": null,\\n        \\\"type\\\": \\\"Captcha\\\"\\n    },\\n    \\\"validation\\\": {\\n        \\\"doesForceResponse\\\": false\\n    }\\n},\",\n      \"language\": \"json\",\n      \"name\": \"Captcha\"\n    }\n  ]\n}\n[/block]\nFor more information on these question types, see the following pages:\n[block:parameters]\n{\n  \"data\": {\n    \"0-0\": \"[Multiple Choice](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/multiple-choice/)\",\n    \"0-1\": \"[Descriptive Text](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/static-content/descriptive-text-and-graphic/)\",\n    \"1-0\": \"[Text/Graphic](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/static-content/descriptive-text-and-graphic/)\",\n    \"1-1\": \"[Matrix Table](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/matrix-table/)\",\n    \"2-0\": \"[Text Entry](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/text-entry/)\",\n    \"2-1\": \"[Slider](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/slider/)\",\n    \"3-0\": \"[Rank Order](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/rank-order/)\",\n    \"3-1\": \"[Side by Side](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/side-by-side/)\",\n    \"4-0\": \"[Net Promoter® Score](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/net-promoter-score/)\",\n    \"4-1\": \"[Constant Sum](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/constant-sum/)\",\n    \"5-0\": \"[Pick Group and Rank](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/pick-group-and-rank/)\",\n    \"5-1\": \"[Hot Spot](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/hot-spot/)\",\n    \"6-0\": \"[Heat Map](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/heat-map/)\",\n    \"6-1\": \"[Drill Down](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/drill-down/)\",\n    \"7-0\": \"[Highlight](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/highlight-2)\",\n    \"7-1\": \"[Signature](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/signature/)\",\n    \"8-0\": \"[Timer](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/advanced/timing/)\",\n    \"8-1\": \"[Meta Info](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/advanced/meta-info-question/)\",\n    \"9-0\": \"[Captcha](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/advanced/captcha-verification/)\"\n  },\n  \"cols\": 2,\n  \"rows\": 10\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"List Surveys\"\n}\n[/block]\nThe [List Surveys](doc:list-surveys) API returns a JSON object that describes all of the surveys that are owned by you. It requires two pieces of information:\n\n* Your API token (needed for all API calls), item 1 in the sample below\n* Your data center ID (needed for all API calls), item 2 in the sample below\n\nTo find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids).\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# List Surveys API\\n\\nimport requests\\n\\n# Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\" # 1\\ndataCenter = \\\"YOUR DATACENTER\\\" # 2\\n\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys\\\".format(dataCenter)\\nheaders = {\\n    \\\"x-api-token\\\": apiToken,\\n    }\\n\\nresponse = requests.get(baseUrl, headers=headers)\\nprint(response.text)\\n\",\n      \"language\": \"python\",\n      \"name\": \"Python 3\"\n    }\n  ]\n}\n[/block]\nThe JSON object returned contains a ```result``` member which contains an ```elements``` array containing objects describing your surveys. For example, the following sample shows the ```elements``` array of objects for a user who has two surveys.\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"\\\"result\\\": {\\n    \\\"elements\\\": [\\n        {\\n            \\\"id\\\": \\\"SV_1234567890\\\",\\n            \\\"isActive\\\": true,\\n            \\\"lastModified\\\": \\\"2017-05-23T15:01:02Z\\\",\\n            \\\"name\\\": \\\"Spring Survey\\\",\\n            \\\"ownerId\\\": \\\"UR_abcdefghij\\\"\\n        },\\n        {\\n            \\\"id\\\": \\\"SV_2345678901\\\",\\n            \\\"isActive\\\": false,\\n            \\\"lastModified\\\": \\\"2017-05-18T19:49:31Z\\\",\\n            \\\"name\\\": \\\"Summer Survey\\\",\\n            \\\"ownerId\\\": \\\"UR_bcdefghijklmno\\\"\\n        }\\n    ],\\n    \\\"nextPage\\\": null\\n    }\\n\",\n      \"language\": \"json\",\n      \"name\": \"List Surveys result\"\n    }\n  ]\n}\n[/block]\nThe objects in the ```elements``` array have members that are described in the following table:\n[block:parameters]\n{\n  \"data\": {\n    \"h-0\": \"Member\",\n    \"h-1\": \"Type\",\n    \"h-2\": \"Description\",\n    \"0-0\": \"```id```\",\n    \"0-1\": \"String\",\n    \"1-0\": \"```isActive```\",\n    \"1-1\": \"Boolean\",\n    \"2-0\": \"```lastModified```\",\n    \"2-1\": \"String\",\n    \"3-0\": \"```name```\",\n    \"3-1\": \"String\",\n    \"4-0\": \"```ownerId```\",\n    \"4-1\": \"String\",\n    \"0-2\": \"The survey ID of the survey.\",\n    \"1-2\": \"Whether the survey is currently active. Active surveys are surveys that haven't expired or aren't paused. Users can take active surveys.\",\n    \"2-2\": \"The data and time anyone made changes to the survey. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.\",\n    \"3-2\": \"The name of the survey. In the survey user interface it is also referred to as the project name.\",\n    \"4-2\": \"The ID of the survey's owner.\"\n  },\n  \"cols\": 3,\n  \"rows\": 5\n}\n[/block]\nThe ```nextPage``` member contains the URL of the next page of survey results. For more information about pagination of results from the API, see \"Pagination\" in [Overview](doc:overview).\n[block:api-header]\n{\n  \"title\": \"Update Survey\"\n}\n[/block]\nThe Update Survey API allows you to update the following information about a survey:\n\n* The survey's name\n* Whether the survey is active\n* When the survey expires\n\nTo use this API, you need the following information:\n\n* Your API token (needed for all API calls), item 1 in the sample below\n* Your data center ID (needed for all API calls), item 2 in the sample below\n* A Survey ID, item 3 in the sample below\n\nTo find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids).\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# Update Survey\\n\\nimport requests\\nimport json\\n\\n#Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\" # 1\\ndataCenter = \\\"YOUR DATACENTER\\\" # 2\\n\\nsurveyId = \\\"YOUR SURVEY ID\\\" # 3\\n\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys/{1}\\\".format(dataCenter, surveyId)\\nheaders = {\\n    \\\"content-type\\\": \\\"application/json\\\",\\n    \\\"x-api-token\\\": apiToken,\\n    }\\n\\ndata = { \\n    \\\"name\\\": \\\"Newer Name\\\", \\n    \\\"isActive\\\": True, \\n    \\\"expiration\\\": { \\n        \\\"startDate\\\": \\\"2017-05-22T00:00:00Z\\\", \\n        \\\"endDate\\\": \\\"2017-05-24T00:00:00Z\\\"\\n    } \\n  }\\n\\nresponse = requests.put(baseUrl, json=data, headers=headers)\\nprint(response.text)\\n\",\n      \"language\": \"python\",\n      \"name\": \"Python 3\"\n    }\n  ]\n}\n[/block]\nThis example changes the name of the survey to \"Newer Name,\" sets it to active, and changes the survey's active date and time range from May 22, 2017 at 0:00 UTC to May 24, 2017 at 0:00 UTC.\n\nEach item in ```data``` is optional. For instance, if you just want to change the name of the survey, you don't need to include ```isActive``` or ```expiration```. The ```lastModified``` date and time of the survey is updated after using this API.\n[block:api-header]\n{\n  \"title\": \"Import Survey\"\n}\n[/block]\nThe Import Survey API allows you to import a survey's definition from a file. The possible file types include qsf (\"Qualtrics Survey Format\"), txt, and doc files.\n\nFor a discussion of these file types, see [Import and Export Surveys](https://www.qualtrics.com/support/survey-platform/edit-survey/survey-tools/general-tools/import-and-export-surveys/#ExportingASurvey).\n\nFor a detailed discussion of the Qualtrics .txt file format, see [Preparing a Simple Format TXT File](https://www.qualtrics.com/support/survey-platform/edit-survey/survey-tools/general-tools/import-and-export-surveys/#PreparingASimpleFormatTXTFile) and [Preparing an Advanced Format TXT File](https://www.qualtrics.com/support/survey-platform/edit-survey/survey-tools/general-tools/import-and-export-surveys/#PreparingAnAdvancedFormatTXTFile).\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Get Survey Format\",\n  \"body\": \"Note that the Import Survey API does not accept the same survey format that is returned by the Get Survey API.\"\n}\n[/block]\nThe following example imports the survey \"Simple.qsf\" that was exported from the survey user interface (see [Import and Export Surveys](https://www.qualtrics.com/support/survey-platform/survey-module/survey-tools/general-tools/import-and-export-surveys/)). The example imports a survey with a mime type of \"application/vnd.qualtrics.survey.qsf\". Available import formats are listed at [Import Survey](doc:import-survey-1).\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# Import Survey \\n\\nimport requests\\n\\n# Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\" # 1\\ndataCenter = \\\"YOUR DATACENTER\\\"\\t# 2\\n\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys\\\".format(dataCenter)\\nheaders = {\\n    \\\"x-api-token\\\": apiToken,\\n    }\\n\\nfiles = {\\n    'file': ('Simple.qsf', open('Simple.qsf', 'rb'), 'application/vnd.qualtrics.survey.qsf')\\n\\t}\\n\\ndata = { \\\"name\\\": \\\"Test\\\" }\\nresponse = requests.post(baseUrl, files=files, data=data, headers=headers)\\nprint(response.text)\\n\",\n      \"language\": \"python\",\n      \"name\": \"Python 3\"\n    }\n  ]\n}\n[/block]\nThe API does not return the survey ID of the newly created survey. You'll need to call the List Surveys API or use the user interface to find it.\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Delay\",\n  \"body\": \"There is sometimes a delay before the newly created survey appears in the survey dashboard.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Import Survey from URL\"\n}\n[/block]\nYou can import a survey that is located on a website. The file needs to be accessible to the Qualtrics servers, so it should be publicly accessible. Possible servers include Amazon's S3, Dropbox shared files, or public Google Drive files.\n\nThe example below shows how to import a .qsf file (with a mime type of \"application/vnd.qualtrics.survey.qsf\"). Available import formats are listed at [Import Survey](doc:import-survey-1).\n\nTo import, you'll need\n\n* Your API token (needed for all API calls), item 1 in the sample below\n* Your data center ID (needed for all API calls), item 2 in the sample below\n* A survey name, item 3 in the sample below\n* The location of the import file (URL), item 4 in the sample below\n\nTo find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids).\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Library Required\",\n  \"body\": \"This first sample uses the **requests_toolbelt** library to create the multipart form data required by this API. Use ```pip``` to install it.\"\n}\n[/block]\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# Import Survey from URL\\n\\nimport requests\\nfrom requests_toolbelt.multipart.encoder import MultipartEncoder\\n\\n# Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\" # 1\\ndataCenter = \\\"YOUR DATACENTER\\\"\\t# 2\\nsurveyName = \\\"NAME TO GIVE YOUR NEW SURVEY\\\" # 3\\nfileUrl = \\\"URL TO SURVEY\\\" # 4 \\n\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys\\\".format(dataCenter)\\n\\nmultipartData = MultipartEncoder(\\n\\tfields = { \\n            \\\"name\\\": surveyName,\\n            \\\"contentType\\\": \\\"application/vnd.qualtrics.survey.qsf\\\",\\n            \\\"fileUrl\\\": fileUrl\\n        }\\n    )\\n\\nheaders = {\\n    \\\"x-api-token\\\": apiToken,\\n    \\\"Content-Type\\\": multipartData.content_type\\n    }\\n\\nresponse = requests.post(baseUrl, data=multipartData, headers=headers)\\nprint(response.text)\\n\",\n      \"language\": \"python\",\n      \"name\": \"Python 3\"\n    },\n    {\n      \"code\": \"# Import Survey from URL\\n\\nimport requests\\n\\n# Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\" # 1\\ndataCenter = \\\"YOUR DATACENTER\\\"       # 2\\nsurveyName = \\\"Test Survey\\\" # 3\\nfileUrl = \\\"https://s3-us-west-2.amazonaws.com/S3bucketname/Test.qsf\\\" # 4\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys\\\".format(dataCenter)\\n\\nfiles = {\\n            \\\"name\\\": (None, surveyName),\\n            \\\"contentType\\\": (None, \\\"application/vnd.qualtrics.survey.qsf\\\"),\\n            \\\"fileUrl\\\": (None, fileUrl),\\n}\\n\\nheaders = {\\n    \\\"x-api-token\\\": apiToken,\\n    }\\n\\nresponse = requests.post(baseUrl, files=files, headers=headers)\\nprint(response.text)\\n\",\n      \"language\": \"python\",\n      \"name\": \"Python 3 without requests_toolbelt\"\n    }\n  ]\n}\n[/block]\n\n[block:callout]\n{\n  \"type\": \"info\",\n  \"title\": \"Delay\",\n  \"body\": \"There is sometimes a delay of several minutes before surveys imported with this API appear in the survey dashboard.\"\n}\n[/block]\n\n[block:api-header]\n{\n  \"title\": \"Delete Survey\"\n}\n[/block]\nThe Delete Survey API deletes the survey that has the given survey ID. \n\nThe following example demonstrates how to delete a survey. You'll need the following information to delete a survey:\n\n* Your API token (needed for all API calls), item 1 in the sample below\n* Your data center ID (needed for all API calls), item 2 in the sample below\n* A survey ID, item 3 in the sample below\n\nTo find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids).\n\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"# Delete Survey\\n\\nimport requests\\n\\n# Setting user Parameters\\napiToken = \\\"YOUR API TOKEN\\\" # 1\\ndataCenter = \\\"YOUR DATACENTER\\\" # 2\\n\\nsurveyId = \\\"YOUR Survey ID\\\" # 3\\n\\nbaseUrl = \\\"https://{0}.qualtrics.com/API/v3/surveys/{1}\\\".format(dataCenter, surveyId)\\nheaders = {\\n    \\\"x-api-token\\\": apiToken,\\n    }\\n\\nresponse = requests.delete(baseUrl, headers=headers)\\nprint(response.text)\\n\",\n      \"language\": \"python\",\n      \"name\": \"Python 3\"\n    }\n  ]\n}\n[/block]\nUpon successful deletion, the API returns a 200 response:\n[block:code]\n{\n  \"codes\": [\n    {\n      \"code\": \"{\\n    \\\"meta\\\": {\\n        \\\"httpStatus\\\": \\\"200 - OK\\\",\\n        \\\"requestId\\\": \\\"bb120589-c361-4a3b-bf69-fa3aa46ca400\\\"\\n    }\\n}\\n\",\n      \"language\": \"json\",\n      \"name\": \"200\"\n    }\n  ]\n}\n[/block]","excerpt":"APIs for managing your surveys","slug":"managing-surveys","type":"basic","title":"Managing Surveys"}

Managing Surveys

APIs for managing your surveys

This guide walks through the Qualtrics APIs to manage your surveys. These survey APIs allow you to retrieve a list of your surveys (with the [List Surveys](doc:list-surveys) API). You can get detailed information about a survey with the [Get Survey](doc:get-survey) API. The [Update Survey](doc:update-survey) API lets you change a survey's metadata, the [Import Survey](doc:import-survey-1) API lets you create a new survey by importing its definition, and the [Import Survey From URL](doc:import-survey) lets you import a survey from a website. Finally, you can delete a survey with the [Delete Survey](doc:delete-survey) API. [block:callout] { "type": "info", "title": "Survey Responses", "body": "If you'd like to retrieve your users' responses to a survey, see [Getting Survey Responses](doc:response-exports) instead." } [/block] This document contains the following sections: * [Get Survey](doc:managing-surveys#get-survey) * [List Surveys](doc:managing-surveys#list-surveys) * [Update Survey](doc:managing-surveys#update-survey) * [Import Survey](doc:managing-surveys#import-survey) * [Import Survey from URL](doc:managing-surveys#import-survey-from-url) * [Delete Survey](doc:managing-surveys#delete-survey) [block:callout] { "type": "info", "title": "Sample code", "body": "The sample code in this document uses Python 3 and the **requests** library. If you have pip installed, you can use it to install **requests**:\n\n```\npip install requests\n```\n\nSome installations (usually those with both Python 2 and Python 3 installed) require you to use pip3 instead:\n\n```\npip3 install requests\n```\n\n(The pip command might also be called ```pip3.6``` or something similar.)" } [/block] [block:api-header] { "title": "Get Survey" } [/block] You can get an individual survey's design using the [Get Survey](doc:get-survey) API. The information returned represents only the design of the survey and does not include details about how people answered your survey’s questions. For help getting your survey's responses, see [Response Export Workflow](doc:response-exports). For more information about the user interface for creating and editing surveys, see ["Survey Module Overview"](https://www.qualtrics.com/support/survey-platform/survey-module/survey-module-overview/). [block:callout] { "type": "info", "title": "Get Survey Format", "body": "No APIs allow the data returned by the Get Survey API to be re-imported (such as after modifying it)." } [/block] The Get Survey API returns information that we'll break into two parts. The first part is information about the survey (its metadata). The second group of information is the survey's content (its design). The metadata returned by the Get Survey API includes: * The survey’s ID * The survey’s name * The survey owner’s ID * The organization’s ID * Whether the survey is active * The creation date and time of the survey * Its last modified date and time * When the survey expires (For more information about Qualtrics IDs, see [Authentication](doc:authentication-1).) The information about the survey's design includes: * Information about the survey’s questions such as type (see [Question Types Overview](https://www.qualtrics.com/support/survey-platform/survey-module/editing-questions/question-types-guide/question-types-overview/)) and the question and answer text (if applicable) * The survey’s blocks (see [Block Options Overview](https://www.qualtrics.com/support/survey-platform/survey-module/block-options/block-options-overview/)) * The survey’s flow (see [Survey Flow Overview](https://www.qualtrics.com/support/survey-platform/survey-module/survey-flow/survey-flow-overview/)) * The survey’s embedded data (see [Embedded Data](https://www.qualtrics.com/support/survey-platform/survey-module/survey-flow/standard-elements/embedded-data/)) * Comments * Loop and merge information (see [Loop & Merge](https://www.qualtrics.com/support/survey-platform/survey-module/block-options/loop-and-merge/)) * Counts of the survey’s responses To retrieve a survey, you need the following information: * Your API token (needed for all API calls), item 1 in the sample below * Your data center (needed for all API calls), item 2 in the sample below * A Survey ID, item 3 in the sample below To find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids). The following Python 3 sample shows how to obtain a JSON object that represents a survey: [block:code] { "codes": [ { "code": "# Get Survey API\n\nimport requests\n\n# Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\" # 2\n\nsurveyId = \"YOUR SURVEY ID\" # 3\n\n\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys/{1}\".format(dataCenter, surveyId)\nheaders = {\n \"x-api-token\": apiToken,\n }\n\nresponse = requests.get(baseUrl, headers=headers)\nprint(response.text)", "language": "python", "name": "Python 3" } ] } [/block] Fill in the values for ```apiToken```, ```surveyId```, and ```dataCenter``` before running. The ```results``` object in the returned JSON object has the following members: [block:parameters] { "data": { "0-0": "```blocks```", "h-0": "Member", "h-1": "Type", "h-2": "Description", "0-1": "Object", "0-2": "Contains information about the survey's blocks. See the Blocks table below for more information.", "1-0": "```comments```", "1-1": "Object", "1-2": "Discussion around questions. See the Comments table below for more information.", "2-0": "```creationDate```", "2-1": "String", "2-2": "The date and time the survey was created. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.", "3-0": "```embeddedData```", "3-1": "Array of Objects", "4-0": "```expiration```", "4-1": "Object", "4-2": "Contains two members, ```endDate``` and ```startDate``` that express the date range during which the survey is valid. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.", "5-0": "```exportColumnMap```", "5-1": "Object", "6-0": "```flow```", "6-1": "Array of Objects", "7-0": "```id```", "7-1": "String", "7-2": "The survey ID. The same value that was used to retrieve the survey.", "8-0": "```isActive```", "8-1": "Boolean", "8-2": "Indicates whether the survey is currently active. For more information on deactivating a survey, see [Deactivating a Survey](https://www.qualtrics.com/support/survey-platform/survey-module/survey-options/inactive-surveys/#DeactivatingASurvey).", "9-0": "```lastModifiedDate```", "9-1": "String", "9-2": "The date and time (UTC time zone) the survey was last modified. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.", "10-0": "```loopAndMerge```", "10-1": "Object", "11-0": "```name```", "11-1": "String", "11-2": "The name of the survey. It is also the same as the project name.", "12-0": "```organizationId```", "12-1": "String", "12-2": "The organization's ID. The same as the ```dataCenter``` value in the above sample code.", "13-0": "```ownerId```", "13-1": "String", "13-2": "The user ID of the owner of the survey.", "14-0": "```questions```", "14-1": "Object", "14-2": "A object containing the entire set of questions from your survey. See the Questions table below for more information.", "15-0": "```responseCounts```", "15-1": "Object", "15-2": "Contains three members, ```auditable```, ```deleted```, and ```generated``` which contain counts of responses.", "3-2": "Each object in ```embeddedData``` contains two members, ```name``` and ```defaultValue```", "5-2": "Maps your questions to their internal question IDs. The members in this object are the names you've defined for your questions, such as ```Q1```. The value for each member is a object that contains the member ```question``` and the value is a string representing the question ID, such as ```QID1```.", "6-2": "The ```flow``` array represents the order of items that make up the survey. Each object in the ```flow``` array contains a ```type``` member that identifies the block. There are sometimes ```type``` members in the object that indicate the type of block in the flow.", "h-3": "Example", "2-3": "", "10-2": "Each member in this object is a block ID whose value is a object with four members: ```columnNames```, ```loopQuestionMeta```, ```loopType```, and ```randomizationMeta```. See the Loop and Merge table below for more information." }, "cols": 3, "rows": 16 } [/block] ## Blocks The ```blocks``` object's members are block IDs, such as "BL_1234567890" and inside each block is an object with these members: [block:parameters] { "data": { "0-0": "```description```", "h-0": "Member", "h-1": "Type", "h-2": "Description", "0-1": "String", "0-2": "The description given to the block (typically defined in the Survey UI).", "1-0": "```elements```", "1-1": "Array of Objects", "1-2": "Each object in the ```elements``` array contains two members, ```type``` and ```questionId```." }, "cols": 3, "rows": 2 } [/block] ## Comments The comments object contains members for each question ID that has comments (or notes). Each question has a ```commentList``` array of one object per comment. For example: [block:code] { "codes": [ { "code": "\"comments\": {\n \"QID1\": {\n \"commentList\": [\n {\n \"message\": \"Some note text for question Q1\",\n \"timestamp\": 1495745520,\n \"userId\": \"UR_1234567890\"\n }\n ]\n }\n},\n", "language": "json", "name": "comments" } ] } [/block] The objects in the ```commentList``` array consist of the following: [block:parameters] { "data": { "h-0": "Member", "h-1": "Type", "h-2": "Description", "0-0": "```message```", "0-1": "String", "0-2": "The message attached to this question.", "1-0": "```timestamp```", "1-1": "Number", "1-2": "Unix epoch time (seconds since base time of January 1, 1970).", "2-0": "```userId```", "2-1": "String", "2-2": "The user who created this comment." }, "cols": 3, "rows": 3 } [/block] If there are no comments, the comments object is empty. ## Export Column Map The ```exportColumnMap``` is useful for mapping the names you've given to your questions with the internal identifiers (question IDs) that Qualtrics uses to identify your questions. When tabulating responses to your survey, this information is particularly useful. For more information about survey responses, see [Response Export Workflow](doc:response-exports). The following table shows the export column map for the questions described in the Questions section below: [block:code] { "codes": [ { "code": "\"Q1\": {\n \"question\": \"QID1\"\n},", "language": "json", "name": "Multiple Choice" }, { "code": "\"Q2\": {\n \"question\": \"QID2\"\n},\n", "language": "json", "name": "Descriptive Text" }, { "code": "\"Q3\": {\n \"question\": \"QID3\"\n},\n", "language": "json", "name": "Text/Graphic" }, { "code": "\"Q4_1\": {\n \"question\": \"QID4\",\n \"subQuestion\": \"QID4.subQuestions.1\"\n},\n\"Q4_2\": {\n \"question\": \"QID4\",\n \"subQuestion\": \"QID4.subQuestions.2\"\n},\n\"Q4_3\": {\n \"question\": \"QID4\",\n \"subQuestion\": \"QID4.subQuestions.3\"\n},\n", "language": "json", "name": "Matrix Table" }, { "code": "\"Q5\": {\n \"question\": \"QID5\"\n},\n", "language": "json", "name": "Text Entry" }, { "code": "\"Q6_1\": {\n \"choice\": \"QID6.choices.1\",\n \"question\": \"QID6\"\n},\n\"Q6_2\": {\n \"choice\": \"QID6.choices.2\",\n \"question\": \"QID6\"\n},\n\"Q6_3\": {\n \"choice\": \"QID6.choices.3\",\n \"question\": \"QID6\"\n},\n", "language": "json", "name": "Slider" }, { "code": "\"Q7_1\": {\n \"choice\": \"QID7.choices.1\",\n \"question\": \"QID7\"\n},\n\"Q7_2\": {\n \"choice\": \"QID7.choices.2\",\n \"question\": \"QID7\"\n},\n\"Q7_3\": {\n \"choice\": \"QID7.choices.3\",\n \"question\": \"QID7\"\n},\n", "language": "json", "name": "Rank Order" }, { "code": "\"Q8#1_1\": {\n \"column\": \"QID8.columns.1\",\n \"question\": \"QID8\",\n \"subQuestion\": \"QID8.subQuestions.1\"\n},\n\"Q8#1_2\": {\n \"column\": \"QID8.columns.1\",\n \"question\": \"QID8\",\n \"subQuestion\": \"QID8.subQuestions.2\"\n},\n\"Q8#1_3\": {\n \"column\": \"QID8.columns.1\",\n \"question\": \"QID8\",\n \"subQuestion\": \"QID8.subQuestions.3\"\n},\n\"Q8#2_1\": {\n \"column\": \"QID8.columns.2\",\n \"question\": \"QID8\",\n \"subQuestion\": \"QID8.subQuestions.1\"\n},\n\"Q8#2_2\": {\n \"column\": \"QID8.columns.2\",\n \"question\": \"QID8\",\n \"subQuestion\": \"QID8.subQuestions.2\"\n},\n\"Q8#2_3\": {\n \"column\": \"QID8.columns.2\",\n \"question\": \"QID8\",\n \"subQuestion\": \"QID8.subQuestions.3\"\n},\n", "language": "json", "name": "Side by Side" }, { "code": "\"Q9_1\": {\n \"choice\": \"QID9.choices.1\",\n \"question\": \"QID9\"\n},\n\"Q9_2\": {\n \"choice\": \"QID9.choices.2\",\n \"question\": \"QID9\"\n},\n\"Q9_3\": {\n \"choice\": \"QID9.choices.3\",\n \"question\": \"QID9\"\n}\n", "language": "json", "name": "Constant Sum" }, { "code": "\"Q10_1_Group\": {\n \"item\": \"QID10.items.1\",\n \"question\": \"QID10\"\n},\n\"Q10_1_Rank\": {\n \"item\": \"QID10.items.1\",\n \"question\": \"QID10\"\n},\n\"Q10_2_Group\": {\n \"item\": \"QID10.items.2\",\n \"question\": \"QID10\"\n},\n\"Q10_2_Rank\": {\n \"item\": \"QID10.items.2\",\n \"question\": \"QID10\"\n},\n\"Q10_3_Group\": {\n \"item\": \"QID10.items.3\",\n \"question\": \"QID10\"\n},\n\"Q10_3_Rank\": {\n \"item\": \"QID10.items.3\",\n \"question\": \"QID10\"\n},\n", "language": "json", "name": "Pick Groups and Rank" }, { "code": "", "language": "json", "name": "Hot Spot" }, { "code": "\"Q12_1_x\": {\n \"question\": \"QID12\"\n},\n\"Q12_1_y\": {\n \"question\": \"QID12\"\n},\n", "language": "json", "name": "Heat Map" }, { "code": "\"Q13_1\": {\n \"question\": \"QID13\",\n \"subQuestion\": \"QID13.subQuestions.1\"\n},\n\"Q13_2\": {\n \"question\": \"QID13\",\n \"subQuestion\": \"QID13.subQuestions.2\"\n},\n\"Q13_3\": {\n \"question\": \"QID13\",\n \"subQuestion\": \"QID13.subQuestions.3\"\n},", "language": "json", "name": "Drill Down" }, { "code": "\"Q14\": {\n \"question\": \"QID14\"\n},\n", "language": "json", "name": "Net Promoter® Score" }, { "code": "\"Q15_10\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.10\"\n},\n\"Q15_11\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.11\"\n},\n\"Q15_12\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.12\"\n},\n\"Q15_13\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.13\"\n},\n\"Q15_14\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.14\"\n},\n\"Q15_15\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.15\"\n},\n\"Q15_16\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.16\"\n},\n\"Q15_17\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.17\"\n},\n\"Q15_18\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.18\"\n},\n\"Q15_19\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.19\"\n},\n\"Q15_20\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.20\"\n},\n\"Q15_21\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.21\"\n},\n\"Q15_22\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.22\"\n},\n\"Q15_23\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.23\"\n},\n\"Q15_24\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.24\"\n},\n\"Q15_25\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.25\"\n},\n\"Q15_26\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.26\"\n},\n\"Q15_27\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.27\"\n},\n\"Q15_28\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.28\"\n},\n\"Q15_29\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.29\"\n},\n\"Q15_30\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.30\"\n},\n\"Q15_31\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.31\"\n},\n\"Q15_32\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.32\"\n},\n\"Q15_33\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.33\"\n},\n\"Q15_34\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.34\"\n},\n\"Q15_35\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.35\"\n},\n\"Q15_36\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.36\"\n},\n\"Q15_37\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.37\"\n},\n\"Q15_38\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.38\"\n},\n\"Q15_39\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.39\"\n},\n\"Q15_4\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.4\"\n},\n\"Q15_40\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.40\"\n},\n\"Q15_41\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.41\"\n},\n\"Q15_42\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.42\"\n},\n\"Q15_43\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.43\"\n},\n\"Q15_44\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.44\"\n},\n\"Q15_45\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.45\"\n},\n\"Q15_5\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.5\"\n},\n\"Q15_6\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.6\"\n},\n\"Q15_7\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.7\"\n},\n\"Q15_8\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.8\"\n},\n\"Q15_9\": {\n \"question\": \"QID15\",\n \"subQuestion\": \"QID15.subQuestions.9\"\n},\n", "language": "json", "name": "Highlight" }, { "code": "\"Q16_FILE_ID\": {\n \"question\": \"QID16\"\n},\n\"Q16_FILE_NAME\": {\n \"question\": \"QID16\"\n},\n\"Q16_FILE_SIZE\": {\n \"question\": \"QID16\"\n},\n\"Q16_FILE_TYPE\": {\n \"question\": \"QID16\"\n},\n", "language": "json", "name": "Signature" }, { "code": "\"Q17_1\": {\n \"choice\": \"QID17.choices.1\",\n \"question\": \"QID17\"\n},\n\"Q17_2\": {\n \"choice\": \"QID17.choices.2\",\n \"question\": \"QID17\"\n},\n\"Q17_3\": {\n \"choice\": \"QID17.choices.3\",\n \"question\": \"QID17\"\n},\n\"Q17_4\": {\n \"choice\": \"QID17.choices.4\",\n \"question\": \"QID17\"\n},\n", "language": "json", "name": "Timer" }, { "code": "\"Q18_1_TEXT\": {\n \"choice\": \"QID18.choices.1\",\n \"question\": \"QID18\"\n},\n\"Q18_2_TEXT\": {\n \"choice\": \"QID18.choices.2\",\n \"question\": \"QID18\"\n},\n\"Q18_3_TEXT\": {\n \"choice\": \"QID18.choices.3\",\n \"question\": \"QID18\"\n},\n\"Q18_4_TEXT\": {\n \"choice\": \"QID18.choices.4\",\n \"question\": \"QID18\"\n},\n\"Q18_5_TEXT\": {\n \"choice\": \"QID18.choices.5\",\n \"question\": \"QID18\"\n},\n\"Q18_6_TEXT\": {\n \"choice\": \"QID18.choices.6\",\n \"question\": \"QID18\"\n},\n\"Q18_7_TEXT\": {\n \"choice\": \"QID18.choices.7\",\n \"question\": \"QID18\"\n},\n", "language": "json", "name": "Meta Info" }, { "code": "", "language": "json", "name": "Captcha" } ] } [/block] ## Loop and Merge The ```loopAndMerge``` object contains block IDs as members and objects as values. The possible loop types for loop and merge are **static** and **question**. If the loop is **static** it will always loop the same regardless of previous answers selected. If the loop type is **question**, then there will be a criterion in the ```loopOn``` array member which will say what you are looping on ("UnselectedChoices," "SelectedChoices," etc.). The ```loopQuestionMeta``` also provides the ```questionId``` and ```questionType``` of the question that is being used to loop on. If "Randomize loop order" is enabled the ```randomizationMeta``` will contain information about how many loops the question will go through. The ```loopAndMerge``` object contains the following information: [block:parameters] { "data": { "h-0": "Member", "h-1": "Type", "h-2": "Description", "0-0": "```columnNames```", "0-1": "Object", "1-0": "```loopQuestionMeta```", "1-1": "Object", "2-0": "```loopType```", "2-1": "String", "3-0": "```randomizationMeta```", "3-1": "Object", "0-2": "Is an object with members such as ```field1```, ```field2```, etc. Each value associated with a field contains and array of the values that appear in that field.", "1-2": "Contains an object that references the question defined by the loop.", "2-2": "Type of loop either \"Question\" or \"Static.\"", "3-2": "Indicates how the loop is randomized (if enabled in the survey design)." }, "cols": 3, "rows": 4 } [/block] ## Questions The ```questions``` object contains information about the questions that make up your survey. Each member in the ```questions``` object is the question ID, and its value is an object that defines the question. For example, in the following Multiple Choice snippet, the question ID is ```QID1```, which is a multiple-choice question. Each choice is a member (```1```, ```2```, and ```3```) that contains an object with members that describe that choice. Other question types have different objects that describe the question. [block:code] { "codes": [ { "code": "\"QID1\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 1\",\n \"description\": \"Click to write Choice 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 2\",\n \"description\": \"Click to write Choice 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 3\",\n \"description\": \"Click to write Choice 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q1\",\n \"questionText\": \"Multiple choice<div><br></div>\",\n \"questionType\": {\n \"selector\": \"SAVR\",\n \"subSelector\": \"TX\",\n \"type\": \"MC\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Multiple Choice" }, { "code": "\"QID2\": {\n \"questionLabel\": null,\n \"questionName\": \"Q2\",\n \"questionText\": \"Descriptive Text<div><br></div>\",\n \"questionType\": {\n \"selector\": \"TB\",\n \"subSelector\": null,\n \"type\": \"DB\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Descriptive Text" }, { "code": "\"QID3\": {\n \"questionLabel\": null,\n \"questionName\": \"Q3\",\n \"questionText\": \"Click to write the question text\",\n \"questionType\": {\n \"selector\": \"GRB\",\n \"subSelector\": \"WOTXB\",\n \"type\": \"DB\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Text/Graphic" }, { "code": "\"QID4\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Scale point 1\",\n \"description\": \"Click to write Scale point 1\",\n \"imageDescription\": null,\n \"recode\": \"1\"\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Scale point 2\",\n \"description\": \"Click to write Scale point 2\",\n \"imageDescription\": null,\n \"recode\": \"2\"\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Scale point 3\",\n \"description\": \"Click to write Scale point 3\",\n \"imageDescription\": null,\n \"recode\": \"3\"\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q4\",\n \"questionText\": \"Matrix table\",\n \"questionType\": {\n \"selector\": \"Likert\",\n \"subSelector\": \"SingleAnswer\",\n \"type\": \"Matrix\"\n },\n \"subQuestions\": {\n \"1\": {\n \"choiceText\": \"Click to write Statement 1\",\n \"description\": \"Click to write Statement 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"choiceText\": \"Click to write Statement 2\",\n \"description\": \"Click to write Statement 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"choiceText\": \"Click to write Statement 3\",\n \"description\": \"Click to write Statement 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Matrix Table" }, { "code": "\"QID5\": {\n \"questionLabel\": null,\n \"questionName\": \"Q5\",\n \"questionText\": \"Text entry\",\n \"questionType\": {\n \"selector\": \"SL\",\n \"subSelector\": null,\n \"type\": \"TE\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Text Entry" }, { "code": "\"QID6\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 1\",\n \"description\": \"Click to write Choice 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 2\",\n \"description\": \"Click to write Choice 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 3\",\n \"description\": \"Click to write Choice 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q6\",\n \"questionText\": \"Slider\",\n \"questionType\": {\n \"selector\": \"HSLIDER\",\n \"subSelector\": null,\n \"type\": \"Slider\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Slider" }, { "code": "\"QID7\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Item 1\",\n \"description\": \"Click to write Item 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Item 2\",\n \"description\": \"Click to write Item 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Item 3\",\n \"description\": \"Click to write Item 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q7\",\n \"questionText\": \"Rank order\",\n \"questionType\": {\n \"selector\": \"DND\",\n \"subSelector\": \"TX\",\n \"type\": \"RO\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Rank Order" }, { "code": "\"QID8\": {\n \"columns\": {\n \"1\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Answer 1\",\n \"description\": \"Answer 1\",\n \"imageDescription\": null,\n \"recode\": \"1\"\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Answer 2\",\n \"description\": \"Answer 2\",\n \"imageDescription\": null,\n \"recode\": \"2\"\n }\n },\n \"questionLabel\": null,\n \"questionText\": \"Click to write Column 1\",\n \"questionType\": {\n \"selector\": \"Likert\",\n \"subSelector\": \"SingleAnswer\",\n \"type\": \"Matrix\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n },\n \"2\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Answer 1\",\n \"description\": \"Answer 1\",\n \"imageDescription\": null,\n \"recode\": \"1\"\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Answer 2\",\n \"description\": \"Answer 2\",\n \"imageDescription\": null,\n \"recode\": \"2\"\n }\n },\n \"questionLabel\": null,\n \"questionText\": \"Click to write Column 2\",\n \"questionType\": {\n \"selector\": \"Likert\",\n \"subSelector\": \"SingleAnswer\",\n \"type\": \"Matrix\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q8\",\n \"questionText\": \"Side by side\",\n \"questionType\": {\n \"selector\": \"SBSMatrix\",\n \"subSelector\": null,\n \"type\": \"SBS\"\n },\n \"subQuestions\": {\n \"1\": {\n \"choiceText\": \"Click to write Statement 1\",\n \"description\": \"Click to write Statement 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"choiceText\": \"Click to write Statement 2\",\n \"description\": \"Click to write Statement 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"choiceText\": \"Click to write Statement 3\",\n \"description\": \"Click to write Statement 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Side by Side" }, { "code": "\"QID9\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 1\",\n \"description\": \"Click to write Choice 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 2\",\n \"description\": \"Click to write Choice 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 3\",\n \"description\": \"Click to write Choice 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q9\",\n \"questionText\": \"Constant sum\",\n \"questionType\": {\n \"selector\": \"VRTL\",\n \"subSelector\": \"TX\",\n \"type\": \"CS\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n}", "language": "json", "name": "Constant Sum" }, { "code": "\"QID10\": {\n \"groups\": {\n \"0\": {\n \"description\": \"Click to write Group 1\",\n \"recode\": \"0\"\n },\n \"1\": {\n \"description\": \"Click to write Group 2\",\n \"recode\": \"1\"\n },\n \"2\": {\n \"description\": \"Click to write Group 3\",\n \"recode\": \"2\"\n }\n },\n \"items\": {\n \"1\": {\n \"analyze\": true,\n \"description\": \"Click to write Item 1\",\n \"imageDescription\": null\n },\n \"2\": {\n \"analyze\": true,\n \"description\": \"Click to write Item 2\",\n \"imageDescription\": null\n },\n \"3\": {\n \"analyze\": true,\n \"description\": \"Click to write Item 3\",\n \"imageDescription\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q10\",\n \"questionText\": \"Pick group and rank\",\n \"questionType\": {\n \"selector\": \"DragAndDrop\",\n \"subSelector\": \"NoColumns\",\n \"type\": \"PGR\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Pick Group and Rank" }, { "code": "\"QID11\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Dislike\",\n \"description\": \"Dislike\",\n \"imageDescription\": null,\n \"recode\": \"1\"\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Neutral\",\n \"description\": \"Neutral\",\n \"imageDescription\": null,\n \"recode\": \"2\"\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Like\",\n \"description\": \"Like\",\n \"imageDescription\": null,\n \"recode\": \"3\"\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q11\",\n \"questionText\": \"Hot spot\",\n \"questionType\": {\n \"selector\": \"LikeDislike\",\n \"subSelector\": null,\n \"type\": \"HotSpot\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Hot Spot" }, { "code": "\"QID12\": {\n \"questionLabel\": null,\n \"questionName\": \"Q12\",\n \"questionText\": \"Heat map\",\n \"questionType\": {\n \"selector\": \"Image\",\n \"subSelector\": null,\n \"type\": \"HeatMap\"\n },\n \"regions\": {},\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Heat Map" }, { "code": "\"QID13\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 1\",\n \"description\": \"Click to write Choice 1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 2\",\n \"description\": \"Click to write Choice 2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Click to write Choice 3\",\n \"description\": \"Click to write Choice 3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q13\",\n \"questionText\": \"Drill down\",\n \"questionType\": {\n \"selector\": \"DL\",\n \"subSelector\": null,\n \"type\": \"DD\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Drill Down" }, { "code": "\"QID14\": {\n \"choices\": {\n \"0\": {\n \"analyze\": true,\n \"choiceText\": \"0\",\n \"description\": \"0\",\n \"imageDescription\": null,\n \"recode\": \"0\",\n \"variableName\": null\n },\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"1\",\n \"description\": \"1\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"10\": {\n \"analyze\": true,\n \"choiceText\": \"10\",\n \"description\": \"10\",\n \"imageDescription\": null,\n \"recode\": \"10\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"2\",\n \"description\": \"2\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"3\",\n \"description\": \"3\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n },\n \"4\": {\n \"analyze\": true,\n \"choiceText\": \"4\",\n \"description\": \"4\",\n \"imageDescription\": null,\n \"recode\": \"4\",\n \"variableName\": null\n },\n \"5\": {\n \"analyze\": true,\n \"choiceText\": \"5\",\n \"description\": \"5\",\n \"imageDescription\": null,\n \"recode\": \"5\",\n \"variableName\": null\n },\n \"6\": {\n \"analyze\": true,\n \"choiceText\": \"6\",\n \"description\": \"6\",\n \"imageDescription\": null,\n \"recode\": \"6\",\n \"variableName\": null\n },\n \"7\": {\n \"analyze\": true,\n \"choiceText\": \"7\",\n \"description\": \"7\",\n \"imageDescription\": null,\n \"recode\": \"7\",\n \"variableName\": null\n },\n \"8\": {\n \"analyze\": true,\n \"choiceText\": \"8\",\n \"description\": \"8\",\n \"imageDescription\": null,\n \"recode\": \"8\",\n \"variableName\": null\n },\n \"9\": {\n \"analyze\": true,\n \"choiceText\": \"9\",\n \"description\": \"9\",\n \"imageDescription\": null,\n \"recode\": \"9\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q14\",\n \"questionText\": \"Net promoter score\",\n \"questionType\": {\n \"selector\": \"NPS\",\n \"subSelector\": null,\n \"type\": \"MC\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Net Promoter® Score" }, { "code": "\"QID15\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Like\",\n \"description\": \"Like\",\n \"imageDescription\": null,\n \"recode\": \"1\"\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Neither like nor dislike\",\n \"description\": \"Neither like nor dislike\",\n \"imageDescription\": null,\n \"recode\": \"2\"\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Dislike\",\n \"description\": \"Dislike\",\n \"imageDescription\": null,\n \"recode\": \"3\"\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q15\",\n \"questionText\": \"Highlight\",\n \"questionType\": {\n \"selector\": \"Text\",\n \"subSelector\": null,\n \"type\": \"HL\"\n },\n \"subQuestions\": {\n \"10\": {\n \"choiceText\": \"7: highlight\",\n \"description\": \"7: highlight\",\n \"imageDescription\": null,\n \"recode\": \"10\",\n \"variableName\": null\n },\n \"11\": {\n \"choiceText\": \"8: with\",\n \"description\": \"8: with\",\n \"imageDescription\": null,\n \"recode\": \"11\",\n \"variableName\": null\n },\n \"12\": {\n \"choiceText\": \"9: the\",\n \"description\": \"9: the\",\n \"imageDescription\": null,\n \"recode\": \"12\",\n \"variableName\": null\n },\n \"13\": {\n \"choiceText\": \"10: above\",\n \"description\": \"10: above\",\n \"imageDescription\": null,\n \"recode\": \"13\",\n \"variableName\": null\n },\n \"14\": {\n \"choiceText\": \"11: color\",\n \"description\": \"11: color\",\n \"imageDescription\": null,\n \"recode\": \"14\",\n \"variableName\": null\n },\n \"15\": {\n \"choiceText\": \"12: categories.\",\n \"description\": \"12: categories.\",\n \"imageDescription\": null,\n \"recode\": \"15\",\n \"variableName\": null\n },\n \"16\": {\n \"choiceText\": \"13: To\",\n \"description\": \"13: To\",\n \"imageDescription\": null,\n \"recode\": \"16\",\n \"variableName\": null\n },\n \"17\": {\n \"choiceText\": \"14: edit\",\n \"description\": \"14: edit\",\n \"imageDescription\": null,\n \"recode\": \"17\",\n \"variableName\": null\n },\n \"18\": {\n \"choiceText\": \"15: this\",\n \"description\": \"15: this\",\n \"imageDescription\": null,\n \"recode\": \"18\",\n \"variableName\": null\n },\n \"19\": {\n \"choiceText\": \"16: text,\",\n \"description\": \"16: text,\",\n \"imageDescription\": null,\n \"recode\": \"19\",\n \"variableName\": null\n },\n \"20\": {\n \"choiceText\": \"17: click\",\n \"description\": \"17: click\",\n \"imageDescription\": null,\n \"recode\": \"20\",\n \"variableName\": null\n },\n \"21\": {\n \"choiceText\": \"18: on\",\n \"description\": \"18: on\",\n \"imageDescription\": null,\n \"recode\": \"21\",\n \"variableName\": null\n },\n \"22\": {\n \"choiceText\": \"19: the\",\n \"description\": \"19: the\",\n \"imageDescription\": null,\n \"recode\": \"22\",\n \"variableName\": null\n },\n \"23\": {\n \"choiceText\": \"20: link\",\n \"description\": \"20: link\",\n \"imageDescription\": null,\n \"recode\": \"23\",\n \"variableName\": null\n },\n \"24\": {\n \"choiceText\": \"21: below.\",\n \"description\": \"21: below.\",\n \"imageDescription\": null,\n \"recode\": \"24\",\n \"variableName\": null\n },\n \"25\": {\n \"choiceText\": \"22: Click\",\n \"description\": \"22: Click\",\n \"imageDescription\": null,\n \"recode\": \"25\",\n \"variableName\": null\n },\n \"26\": {\n \"choiceText\": \"23: between\",\n \"description\": \"23: between\",\n \"imageDescription\": null,\n \"recode\": \"26\",\n \"variableName\": null\n },\n \"27\": {\n \"choiceText\": \"24: the\",\n \"description\": \"24: the\",\n \"imageDescription\": null,\n \"recode\": \"27\",\n \"variableName\": null\n },\n \"28\": {\n \"choiceText\": \"25: words\",\n \"description\": \"25: words\",\n \"imageDescription\": null,\n \"recode\": \"28\",\n \"variableName\": null\n },\n \"29\": {\n \"choiceText\": \"26: to\",\n \"description\": \"26: to\",\n \"imageDescription\": null,\n \"recode\": \"29\",\n \"variableName\": null\n },\n \"30\": {\n \"choiceText\": \"27: combine\",\n \"description\": \"27: combine\",\n \"imageDescription\": null,\n \"recode\": \"30\",\n \"variableName\": null\n },\n \"31\": {\n \"choiceText\": \"28: or\",\n \"description\": \"28: or\",\n \"imageDescription\": null,\n \"recode\": \"31\",\n \"variableName\": null\n },\n \"32\": {\n \"choiceText\": \"29: separate\",\n \"description\": \"29: separate\",\n \"imageDescription\": null,\n \"recode\": \"32\",\n \"variableName\": null\n },\n \"33\": {\n \"choiceText\": \"30: them.\",\n \"description\": \"30: them.\",\n \"imageDescription\": null,\n \"recode\": \"33\",\n \"variableName\": null\n },\n \"34\": {\n \"choiceText\": \"31: Clicking\",\n \"description\": \"31: Clicking\",\n \"imageDescription\": null,\n \"recode\": \"34\",\n \"variableName\": null\n },\n \"35\": {\n \"choiceText\": \"32: directly\",\n \"description\": \"32: directly\",\n \"imageDescription\": null,\n \"recode\": \"35\",\n \"variableName\": null\n },\n \"36\": {\n \"choiceText\": \"33: on\",\n \"description\": \"33: on\",\n \"imageDescription\": null,\n \"recode\": \"36\",\n \"variableName\": null\n },\n \"37\": {\n \"choiceText\": \"34: words\",\n \"description\": \"34: words\",\n \"imageDescription\": null,\n \"recode\": \"37\",\n \"variableName\": null\n },\n \"38\": {\n \"choiceText\": \"35: will\",\n \"description\": \"35: will\",\n \"imageDescription\": null,\n \"recode\": \"38\",\n \"variableName\": null\n },\n \"39\": {\n \"choiceText\": \"36: allow\",\n \"description\": \"36: allow\",\n \"imageDescription\": null,\n \"recode\": \"39\",\n \"variableName\": null\n },\n \"4\": {\n \"choiceText\": \"1: This\",\n \"description\": \"1: This\",\n \"imageDescription\": null,\n \"recode\": \"4\",\n \"variableName\": null\n },\n \"40\": {\n \"choiceText\": \"37: or\",\n \"description\": \"37: or\",\n \"imageDescription\": null,\n \"recode\": \"40\",\n \"variableName\": null\n },\n \"41\": {\n \"choiceText\": \"38: disallow\",\n \"description\": \"38: disallow\",\n \"imageDescription\": null,\n \"recode\": \"41\",\n \"variableName\": null\n },\n \"42\": {\n \"choiceText\": \"39: respondents\",\n \"description\": \"39: respondents\",\n \"imageDescription\": null,\n \"recode\": \"42\",\n \"variableName\": null\n },\n \"43\": {\n \"choiceText\": \"40: from\",\n \"description\": \"40: from\",\n \"imageDescription\": null,\n \"recode\": \"43\",\n \"variableName\": null\n },\n \"44\": {\n \"choiceText\": \"41: highlighting\",\n \"description\": \"41: highlighting\",\n \"imageDescription\": null,\n \"recode\": \"44\",\n \"variableName\": null\n },\n \"45\": {\n \"choiceText\": \"42: them.\",\n \"description\": \"42: them.\",\n \"imageDescription\": null,\n \"recode\": \"45\",\n \"variableName\": null\n },\n \"5\": {\n \"choiceText\": \"2: is\",\n \"description\": \"2: is\",\n \"imageDescription\": null,\n \"recode\": \"5\",\n \"variableName\": null\n },\n \"6\": {\n \"choiceText\": \"3: the\",\n \"description\": \"3: the\",\n \"imageDescription\": null,\n \"recode\": \"6\",\n \"variableName\": null\n },\n \"7\": {\n \"choiceText\": \"4: text\",\n \"description\": \"4: text\",\n \"imageDescription\": null,\n \"recode\": \"7\",\n \"variableName\": null\n },\n \"8\": {\n \"choiceText\": \"5: you\",\n \"description\": \"5: you\",\n \"imageDescription\": null,\n \"recode\": \"8\",\n \"variableName\": null\n },\n \"9\": {\n \"choiceText\": \"6: can\",\n \"description\": \"6: can\",\n \"imageDescription\": null,\n \"recode\": \"9\",\n \"variableName\": null\n }\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},\n", "language": "json", "name": "Highlight" }, { "code": "\"QID16\": {\n \"questionLabel\": null,\n \"questionName\": \"Q16\",\n \"questionText\": \"Signature\",\n \"questionType\": {\n \"selector\": \"Signature\",\n \"subSelector\": null,\n \"type\": \"Draw\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Signature" }, { "code": "\"QID17\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"First Click\",\n \"description\": \"First Click\",\n \"imageDescription\": null,\n \"recode\": \"1\",\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Last Click\",\n \"description\": \"Last Click\",\n \"imageDescription\": null,\n \"recode\": \"2\",\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Page Submit\",\n \"description\": \"Page Submit\",\n \"imageDescription\": null,\n \"recode\": \"3\",\n \"variableName\": null\n },\n \"4\": {\n \"analyze\": true,\n \"choiceText\": \"Click Count\",\n \"description\": \"Click Count\",\n \"imageDescription\": null,\n \"recode\": \"4\",\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q17\",\n \"questionText\": \"Timing\",\n \"questionType\": {\n \"selector\": \"PageTimer\",\n \"subSelector\": null,\n \"type\": \"Timing\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Timer" }, { "code": "\"QID18\": {\n \"choices\": {\n \"1\": {\n \"analyze\": true,\n \"choiceText\": \"Browser\",\n \"description\": \"Browser\",\n \"imageDescription\": null,\n \"variableName\": null\n },\n \"2\": {\n \"analyze\": true,\n \"choiceText\": \"Version\",\n \"description\": \"Version\",\n \"imageDescription\": null,\n \"variableName\": null\n },\n \"3\": {\n \"analyze\": true,\n \"choiceText\": \"Operating System\",\n \"description\": \"Operating System\",\n \"imageDescription\": null,\n \"variableName\": null\n },\n \"4\": {\n \"analyze\": true,\n \"choiceText\": \"Screen Resolution\",\n \"description\": \"Screen Resolution\",\n \"imageDescription\": null,\n \"variableName\": null\n },\n \"5\": {\n \"analyze\": true,\n \"choiceText\": \"Flash Version\",\n \"description\": \"Flash Version\",\n \"imageDescription\": null,\n \"variableName\": null\n },\n \"6\": {\n \"analyze\": true,\n \"choiceText\": \"Java Support\",\n \"description\": \"Java Support\",\n \"imageDescription\": null,\n \"variableName\": null\n },\n \"7\": {\n \"analyze\": true,\n \"choiceText\": \"User Agent\",\n \"description\": \"User Agent\",\n \"imageDescription\": null,\n \"variableName\": null\n }\n },\n \"questionLabel\": null,\n \"questionName\": \"Q18\",\n \"questionText\": \"Browser Meta Info\",\n \"questionType\": {\n \"selector\": \"Browser\",\n \"subSelector\": null,\n \"type\": \"Meta\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Meta Info" }, { "code": "\"QID19\": {\n \"questionLabel\": null,\n \"questionName\": \"Q19\",\n \"questionText\": \"Captcha\",\n \"questionType\": {\n \"selector\": \"V2\",\n \"subSelector\": null,\n \"type\": \"Captcha\"\n },\n \"validation\": {\n \"doesForceResponse\": false\n }\n},", "language": "json", "name": "Captcha" } ] } [/block] For more information on these question types, see the following pages: [block:parameters] { "data": { "0-0": "[Multiple Choice](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/multiple-choice/)", "0-1": "[Descriptive Text](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/static-content/descriptive-text-and-graphic/)", "1-0": "[Text/Graphic](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/static-content/descriptive-text-and-graphic/)", "1-1": "[Matrix Table](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/matrix-table/)", "2-0": "[Text Entry](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/text-entry/)", "2-1": "[Slider](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/slider/)", "3-0": "[Rank Order](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/rank-order/)", "3-1": "[Side by Side](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/standard-content/side-by-side/)", "4-0": "[Net Promoter® Score](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/net-promoter-score/)", "4-1": "[Constant Sum](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/constant-sum/)", "5-0": "[Pick Group and Rank](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/pick-group-and-rank/)", "5-1": "[Hot Spot](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/hot-spot/)", "6-0": "[Heat Map](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/heat-map/)", "6-1": "[Drill Down](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/drill-down/)", "7-0": "[Highlight](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/highlight-2)", "7-1": "[Signature](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/specialty-questions/signature/)", "8-0": "[Timer](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/advanced/timing/)", "8-1": "[Meta Info](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/advanced/meta-info-question/)", "9-0": "[Captcha](https://www.qualtrics.com/support/edit-survey/editing-questions/question-types-guide/advanced/captcha-verification/)" }, "cols": 2, "rows": 10 } [/block] [block:api-header] { "title": "List Surveys" } [/block] The [List Surveys](doc:list-surveys) API returns a JSON object that describes all of the surveys that are owned by you. It requires two pieces of information: * Your API token (needed for all API calls), item 1 in the sample below * Your data center ID (needed for all API calls), item 2 in the sample below To find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids). [block:code] { "codes": [ { "code": "# List Surveys API\n\nimport requests\n\n# Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\" # 2\n\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys\".format(dataCenter)\nheaders = {\n \"x-api-token\": apiToken,\n }\n\nresponse = requests.get(baseUrl, headers=headers)\nprint(response.text)\n", "language": "python", "name": "Python 3" } ] } [/block] The JSON object returned contains a ```result``` member which contains an ```elements``` array containing objects describing your surveys. For example, the following sample shows the ```elements``` array of objects for a user who has two surveys. [block:code] { "codes": [ { "code": "\"result\": {\n \"elements\": [\n {\n \"id\": \"SV_1234567890\",\n \"isActive\": true,\n \"lastModified\": \"2017-05-23T15:01:02Z\",\n \"name\": \"Spring Survey\",\n \"ownerId\": \"UR_abcdefghij\"\n },\n {\n \"id\": \"SV_2345678901\",\n \"isActive\": false,\n \"lastModified\": \"2017-05-18T19:49:31Z\",\n \"name\": \"Summer Survey\",\n \"ownerId\": \"UR_bcdefghijklmno\"\n }\n ],\n \"nextPage\": null\n }\n", "language": "json", "name": "List Surveys result" } ] } [/block] The objects in the ```elements``` array have members that are described in the following table: [block:parameters] { "data": { "h-0": "Member", "h-1": "Type", "h-2": "Description", "0-0": "```id```", "0-1": "String", "1-0": "```isActive```", "1-1": "Boolean", "2-0": "```lastModified```", "2-1": "String", "3-0": "```name```", "3-1": "String", "4-0": "```ownerId```", "4-1": "String", "0-2": "The survey ID of the survey.", "1-2": "Whether the survey is currently active. Active surveys are surveys that haven't expired or aren't paused. Users can take active surveys.", "2-2": "The data and time anyone made changes to the survey. See [Dates and Times](doc:dates-and-times) for more information on the date and time format.", "3-2": "The name of the survey. In the survey user interface it is also referred to as the project name.", "4-2": "The ID of the survey's owner." }, "cols": 3, "rows": 5 } [/block] The ```nextPage``` member contains the URL of the next page of survey results. For more information about pagination of results from the API, see "Pagination" in [Overview](doc:overview). [block:api-header] { "title": "Update Survey" } [/block] The Update Survey API allows you to update the following information about a survey: * The survey's name * Whether the survey is active * When the survey expires To use this API, you need the following information: * Your API token (needed for all API calls), item 1 in the sample below * Your data center ID (needed for all API calls), item 2 in the sample below * A Survey ID, item 3 in the sample below To find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids). [block:code] { "codes": [ { "code": "# Update Survey\n\nimport requests\nimport json\n\n#Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\" # 2\n\nsurveyId = \"YOUR SURVEY ID\" # 3\n\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys/{1}\".format(dataCenter, surveyId)\nheaders = {\n \"content-type\": \"application/json\",\n \"x-api-token\": apiToken,\n }\n\ndata = { \n \"name\": \"Newer Name\", \n \"isActive\": True, \n \"expiration\": { \n \"startDate\": \"2017-05-22T00:00:00Z\", \n \"endDate\": \"2017-05-24T00:00:00Z\"\n } \n }\n\nresponse = requests.put(baseUrl, json=data, headers=headers)\nprint(response.text)\n", "language": "python", "name": "Python 3" } ] } [/block] This example changes the name of the survey to "Newer Name," sets it to active, and changes the survey's active date and time range from May 22, 2017 at 0:00 UTC to May 24, 2017 at 0:00 UTC. Each item in ```data``` is optional. For instance, if you just want to change the name of the survey, you don't need to include ```isActive``` or ```expiration```. The ```lastModified``` date and time of the survey is updated after using this API. [block:api-header] { "title": "Import Survey" } [/block] The Import Survey API allows you to import a survey's definition from a file. The possible file types include qsf ("Qualtrics Survey Format"), txt, and doc files. For a discussion of these file types, see [Import and Export Surveys](https://www.qualtrics.com/support/survey-platform/edit-survey/survey-tools/general-tools/import-and-export-surveys/#ExportingASurvey). For a detailed discussion of the Qualtrics .txt file format, see [Preparing a Simple Format TXT File](https://www.qualtrics.com/support/survey-platform/edit-survey/survey-tools/general-tools/import-and-export-surveys/#PreparingASimpleFormatTXTFile) and [Preparing an Advanced Format TXT File](https://www.qualtrics.com/support/survey-platform/edit-survey/survey-tools/general-tools/import-and-export-surveys/#PreparingAnAdvancedFormatTXTFile). [block:callout] { "type": "info", "title": "Get Survey Format", "body": "Note that the Import Survey API does not accept the same survey format that is returned by the Get Survey API." } [/block] The following example imports the survey "Simple.qsf" that was exported from the survey user interface (see [Import and Export Surveys](https://www.qualtrics.com/support/survey-platform/survey-module/survey-tools/general-tools/import-and-export-surveys/)). The example imports a survey with a mime type of "application/vnd.qualtrics.survey.qsf". Available import formats are listed at [Import Survey](doc:import-survey-1). [block:code] { "codes": [ { "code": "# Import Survey \n\nimport requests\n\n# Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\"\t# 2\n\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys\".format(dataCenter)\nheaders = {\n \"x-api-token\": apiToken,\n }\n\nfiles = {\n 'file': ('Simple.qsf', open('Simple.qsf', 'rb'), 'application/vnd.qualtrics.survey.qsf')\n\t}\n\ndata = { \"name\": \"Test\" }\nresponse = requests.post(baseUrl, files=files, data=data, headers=headers)\nprint(response.text)\n", "language": "python", "name": "Python 3" } ] } [/block] The API does not return the survey ID of the newly created survey. You'll need to call the List Surveys API or use the user interface to find it. [block:callout] { "type": "info", "title": "Delay", "body": "There is sometimes a delay before the newly created survey appears in the survey dashboard." } [/block] [block:api-header] { "title": "Import Survey from URL" } [/block] You can import a survey that is located on a website. The file needs to be accessible to the Qualtrics servers, so it should be publicly accessible. Possible servers include Amazon's S3, Dropbox shared files, or public Google Drive files. The example below shows how to import a .qsf file (with a mime type of "application/vnd.qualtrics.survey.qsf"). Available import formats are listed at [Import Survey](doc:import-survey-1). To import, you'll need * Your API token (needed for all API calls), item 1 in the sample below * Your data center ID (needed for all API calls), item 2 in the sample below * A survey name, item 3 in the sample below * The location of the import file (URL), item 4 in the sample below To find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids). [block:callout] { "type": "info", "title": "Library Required", "body": "This first sample uses the **requests_toolbelt** library to create the multipart form data required by this API. Use ```pip``` to install it." } [/block] [block:code] { "codes": [ { "code": "# Import Survey from URL\n\nimport requests\nfrom requests_toolbelt.multipart.encoder import MultipartEncoder\n\n# Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\"\t# 2\nsurveyName = \"NAME TO GIVE YOUR NEW SURVEY\" # 3\nfileUrl = \"URL TO SURVEY\" # 4 \n\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys\".format(dataCenter)\n\nmultipartData = MultipartEncoder(\n\tfields = { \n \"name\": surveyName,\n \"contentType\": \"application/vnd.qualtrics.survey.qsf\",\n \"fileUrl\": fileUrl\n }\n )\n\nheaders = {\n \"x-api-token\": apiToken,\n \"Content-Type\": multipartData.content_type\n }\n\nresponse = requests.post(baseUrl, data=multipartData, headers=headers)\nprint(response.text)\n", "language": "python", "name": "Python 3" }, { "code": "# Import Survey from URL\n\nimport requests\n\n# Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\" # 2\nsurveyName = \"Test Survey\" # 3\nfileUrl = \"https://s3-us-west-2.amazonaws.com/S3bucketname/Test.qsf\" # 4\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys\".format(dataCenter)\n\nfiles = {\n \"name\": (None, surveyName),\n \"contentType\": (None, \"application/vnd.qualtrics.survey.qsf\"),\n \"fileUrl\": (None, fileUrl),\n}\n\nheaders = {\n \"x-api-token\": apiToken,\n }\n\nresponse = requests.post(baseUrl, files=files, headers=headers)\nprint(response.text)\n", "language": "python", "name": "Python 3 without requests_toolbelt" } ] } [/block] [block:callout] { "type": "info", "title": "Delay", "body": "There is sometimes a delay of several minutes before surveys imported with this API appear in the survey dashboard." } [/block] [block:api-header] { "title": "Delete Survey" } [/block] The Delete Survey API deletes the survey that has the given survey ID. The following example demonstrates how to delete a survey. You'll need the following information to delete a survey: * Your API token (needed for all API calls), item 1 in the sample below * Your data center ID (needed for all API calls), item 2 in the sample below * A survey ID, item 3 in the sample below To find these IDs, see [Finding Qualtrics IDs](doc:finding-qualtrics-ids). [block:code] { "codes": [ { "code": "# Delete Survey\n\nimport requests\n\n# Setting user Parameters\napiToken = \"YOUR API TOKEN\" # 1\ndataCenter = \"YOUR DATACENTER\" # 2\n\nsurveyId = \"YOUR Survey ID\" # 3\n\nbaseUrl = \"https://{0}.qualtrics.com/API/v3/surveys/{1}\".format(dataCenter, surveyId)\nheaders = {\n \"x-api-token\": apiToken,\n }\n\nresponse = requests.delete(baseUrl, headers=headers)\nprint(response.text)\n", "language": "python", "name": "Python 3" } ] } [/block] Upon successful deletion, the API returns a 200 response: [block:code] { "codes": [ { "code": "{\n \"meta\": {\n \"httpStatus\": \"200 - OK\",\n \"requestId\": \"bb120589-c361-4a3b-bf69-fa3aa46ca400\"\n }\n}\n", "language": "json", "name": "200" } ] } [/block]