{"id":14752,"date":"2025-12-01T11:18:29","date_gmt":"2025-12-01T11:18:29","guid":{"rendered":"https:\/\/www.snapsurveys.com\/support-snapxmp\/?post_type=epkb_post_type_1&#038;p=14752"},"modified":"2025-12-01T11:56:43","modified_gmt":"2025-12-01T11:56:43","slug":"snap-xmp-developer-api-api-reference","status":"publish","type":"epkb_post_type_1","link":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/","title":{"rendered":"API Reference"},"content":{"rendered":"\n<p>This document covers the most recent version 3.0 of the API in build 1.0.0.1381.<\/p>\n\n\n\n<p><strong>Please note<\/strong> that from Monday 5th December 2022 usage of the API became chargeable. The charge is that 0.1 unit will be consumed each time a survey response is delivered by the API.&nbsp; This applies if the same survey response is delivered by the API multiple times. The survey responses are delivered using the Get Survey Responses endpoint.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">List of API endpoints<\/h3>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Endpoint<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-user-info\">Get User Info<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Returns information for the authenticated user. <\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-survey-list\">Get Survey List<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns a list of surveys that are accessible by the user. <\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-survey\">Get Survey<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns the details for a specific survey ID. <\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-survey-variables\">Get Survey Variables<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns the details for a specific survey ID. <\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-survey-variable\">Get Survey Variable<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns the details for a specific variable ID.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-survey-responses\">Get Survey Responses <\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Gets the responses for a specific survey ID. <br><strong>Please note<\/strong> that from Monday 5th December 2022 usage of the API became chargeable. When one survey response is delivered by the API, 0.1 unit will be consumed.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-participant-list\">Get Participant List<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns a list of participants for a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-participant\">Get Participant<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns the details for a specific participant in a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#add-participant\">Add Participant<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Add a new participant to a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#update-participant\">Update Participant<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Update an existing participant of a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#delete-participant\">Delete Participant<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Delete a participant from a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-participant-subjects\">Get Participant Subjects<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns a list of subjects for a participant of a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#get-participant-subject\">Get Participant Subject<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Returns the details of a specific subject for a participant of a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#add-participant-subject\">Add Participant Subject<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Add a new subject to a participant of a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#update-participant-subject\">Update Participant Subject<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Update an existing subject for a participant of a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#delete-participant-subject\">Delete Participant Subject<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\"> Delete a subject from a participant of a survey.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\"><a href=\"#bulk-participant-import\">Bulk Participant Import<\/a><\/td><td class=\"has-text-align-left\" data-align=\"left\">Add many participants to a survey.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-user-info\">Get User Info<\/h3>\n\n\n\n<p>Get information for the authenticated user. <\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-607bdcdb-de05-4b35-a4cb-e1d8e7dccd56\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Method<\/th><th class=\"has-text-align-left\" data-align=\"left\">URL<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/&lt;servername&gt;\/snaponline\/api\/account<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p id=\"block-cdb28dac-6da6-48c1-9ced-1eff79541914\">Get information for the authenticated user.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-bf4c80a6-d980-4b33-a5a6-4e8f79ecab5e\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"block-c12f2194-b9fa-48d2-bb2a-59b891ee7516\">Path parameters<\/h5>\n\n\n\n<p id=\"block-9b6fd8f8-0164-48fd-966e-f6d571819075\">None<\/p>\n\n\n\n<h5 class=\"wp-block-heading\" id=\"block-51e90e9b-9847-414a-8278-ec26dca6fe64\">Query string parameters<\/h5>\n\n\n\n<p id=\"block-fac27a67-ac27-4aba-bfcd-a437795fda99\">None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-6ed532b1-31f8-42b6-b7e9-b20847c8c428\">Sample Request<\/h4>\n\n\n\n<pre id=\"block-e838a682-3cc2-4df5-b5ac-5a518280c2e5\" class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/&lt;servername&gt;\/snaponline\/api\/account' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}'\\\n--header 'X-VERSION: 3.0'\n<\/code><\/pre>\n\n\n\n<p id=\"block-1afc80d0-7a6a-481a-be4f-ead13568bbc2\">(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-01d09fda-88f7-4014-becc-cccedfd5530c\">Sample Response<\/h4>\n\n\n\n<p id=\"block-fcd0aaa3-b6e6-4761-8f85-270a9ca7c20a\">200 OK with body:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n \"username\": \"jbloggs@snapsurveys.com\", \n \"fullname\": \"Joe Bloggs\",\n \"emailAddress\": \"jbloggs@snapsurveys.com\"\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-eeabf1bc-0a94-4fd0-aedc-57531e0cab62\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Response Item<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><th class=\"has-text-align-left\" data-align=\"left\">Data Type<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">username<\/td><td class=\"has-text-align-left\" data-align=\"left\">The username for the user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">fullname<\/td><td class=\"has-text-align-left\" data-align=\"left\">The full name of the user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">emailAddress<\/td><td class=\"has-text-align-left\" data-align=\"left\">The email address of the user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"block-b7eb1f08-78a5-42fc-a85b-2cb1f4ce1746\">HTTP Status Codes<\/h4>\n\n\n\n<ul id=\"block-ace3dc4c-1a59-4f28-9bb1-8c5f1f596730\" class=\"wp-block-list\">\n<li>200 OK<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-survey-list\">Get Survey List<\/h3>\n\n\n\n<p>Get a list of surveys that are accessible by the user. This includes surveys that are shared to the user.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Method<\/th><th class=\"has-text-align-left\" data-align=\"left\">URL<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get a list of surveys that are accessible by the user.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0'<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>200 OK with body:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\n    {\n        \"id\": \"2c4be70c-fe6d-4883-9fd3-629943bec836\",\n        \"ownerId\": \"644f58a7-8526-4901-af7d-20969e5c68e4\", \n        \"ownerName\": \"a@example.com\", \n        \"name\": \"APIv3 Example Survey\", \n        \"path\": &#91; \n            \"Your work\", \n            \"APIv3\"\n        ], \n        \"title\": \"APIv3 Example Survey\", \n        \"url\": \"https:\/\/&lt;servername&gt;\/snaponline\/Home\/Index\/2c4be70c-fe6d-4883-9fd3-629943bec836\", \n        \"interviewUrl\": \"https:\/\/&lt;servername&gt;\/interview\/2c4be70c-fe6d-4883-9fd3-629943bec836\", \n        \"interviewPreviewUrl\": \"https:\/\/&lt;servername&gt;\/interview\/2c4be70c-fe6d-4883-9fd3-629943bec836?preview=true\", \n        \"isPublished\": true, \n        \"lastPublishedDate\": \"2025-08-05T09:15:43.92\",\n        \"interviewingState\": \"Started\",\n        \"startInterviewingScheduleDate\": null,\n        \"endInterviewingScheduleDate\": null,\n        \"interviewingScheduleTimeZone\": null,\n        \"numberOfResponses\": 5,\n        \"numberOfPartials\": 0,\n        \"responsesLastChanged\": \"2025-08-05T15:25:32.267\",\n        \"shareFilter\": \"\",\n        \"shareContext\": \"\"\n    },\n    {\n        \"id\": \"de8e8ca3-b7e7-4810-93e6-84c65da7e7aa\",\n        \"ownerId\": \"644f58a7-8526-4901-af7d-20969e5c68e4\", \n        \"ownerName\": \"b@example.com\", \n        \"name\": \"Test 1\", \n        \"path\": &#91; \n            \"Your work\"\n        ], \n        \"title\": \"\", \n        \"url\": \"https:\/\/&lt;servername&gt;\/snaponline\/Home\/Index\/de8e8ca3-b7e7-4810-93e6-84c65da7e7aa\", \n        \"interviewUrl\": \"https:\/\/&lt;servername&gt;\/interview\/de8e8ca3-b7e7-4810-93e6-84c65da7e7aa\", \n        \"interviewPreviewUrl\": \"https:\/\/&lt;servername&gt;\/interview\/de8e8ca3-b7e7-4810-93e6-84c65da7e7aa?preview=true\", \n        \"isPublished\": false, \n        \"lastPublishedDate\": \"2025-08-05T09:15:43.92\",\n        \"interviewingState\": \"Started\",\n        \"startInterviewingScheduleDate\": null,\n        \"endInterviewingScheduleDate\": null,\n        \"interviewingScheduleTimeZone\": null,\n        \"numberOfResponses\": 10,\n        \"numberOfPartials\": 0,\n        \"responsesLastChanged\": \"2025-08-05T15:25:32.267\",\n        \"shareFilter\": \"\",\n        \"shareContext\": \"\"\n    }\n]\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Response Item<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><th class=\"has-text-align-left\" data-align=\"left\">Data Type<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The survey Id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing a GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">ownerId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The owner Id of the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing a GUID <\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">ownerName<\/td><td class=\"has-text-align-left\" data-align=\"left\">The owner name of the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">name<\/td><td class=\"has-text-align-left\" data-align=\"left\">The display name of the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">path<\/td><td class=\"has-text-align-left\" data-align=\"left\">The path to the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing strings<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">title<\/td><td class=\"has-text-align-left\" data-align=\"left\">The title used in the questionnaire.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">url<\/td><td class=\"has-text-align-left\" data-align=\"left\">The url of the survey in Snap Online.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewUrl<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interview url.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewPreviewUrl<\/td><td class=\"has-text-align-left\" data-align=\"left\">The preview interview url.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">isPublished<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the survey is published.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">lastPublishedDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">The date time of when the survey was last published.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewingState<\/td><td class=\"has-text-align-left\" data-align=\"left\">The current interviewing state.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String:<br>&#8220;Scheduled&#8221;,<br>\u201cNotStarted\u201d,<br>\u201cStarted\u201d \u2013 when live,<br>\u201cPaused\u201d,<br>\u201cStopped\u201d \u2013 when closed,<br>\u201cTooManyRespondents&#8221;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">startInterviewingScheduleDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interviewing start date and time.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">endInterviewingScheduleDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interviewing end date and time.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewingScheduleTimeZone<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interviewing start\/end timezone.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">numberOfResponses<\/td><td class=\"has-text-align-left\" data-align=\"left\">The number of responses submitted.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">numberOfPartials<\/td><td class=\"has-text-align-left\" data-align=\"left\">The number of partial responses.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responsesLastChanged <br><\/td><td class=\"has-text-align-left\" data-align=\"left\">The date and time that the list of responses for the survey was last changed, i.e. response added, deleted or edited.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">shareFilter<\/td><td class=\"has-text-align-left\" data-align=\"left\">Filter applied to the survey for this user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &#8220;&#8221; if no share filter.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">shareContext<\/td><td class=\"has-text-align-left\" data-align=\"left\">Context applied to the survey for this user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &#8220;&#8221; if no share filter.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200 OK<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-survey\">Get Survey<\/h3>\n\n\n\n<p>Get details of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Method<\/th><th class=\"has-text-align-left\" data-align=\"left\">URL<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/{surveyId}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Gets the details of a specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Path parameter<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/2c4be70c-fe6d-4883-9fd3-629943bec836' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0'<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>200 OK with body:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n     \"id\": \"2c4be70c-fe6d-4883-9fd3-629943bec836\",\n     \"ownerId\": \"644f58a7-8526-4901-af7d-20969e5c68e4\", \n     \"ownerName\": \"a@example.com\", \n     \"name\": \"APIv3 Example Survey\", \n     \"path\": &#91; \n         \"Your work\", \n         \"APIv3\"\n     ], \n     \"title\": \"APIv3 Example Survey\", \n     \"url\": \"https:\/\/&lt;servername&gt;\/snaponline\/Home\/Index\/2c4be70c-fe6d-4883-9fd3-629943bec836\", \n     \"interviewUrl\": \"https:\/\/&lt;servername&gt;\/interview\/2c4be70c-fe6d-4883-9fd3-629943bec836\", \n     \"interviewPreviewUrl\": \"https:\/\/&lt;servername&gt;\/interview\/2c4be70c-fe6d-4883-9fd3-629943bec836?preview=true\", \n     \"isPublished\": true, \n     \"lastPublishedDate\": \"2025-08-05T09:15:43.92\",\n     \"interviewingState\": \"Started\",\n     \"startInterviewingScheduleDate\": null,\n     \"endInterviewingScheduleDate\": null,\n     \"interviewingScheduleTimeZone\": null,\n     \"numberOfResponses\": 5,\n     \"numberOfPartials\": 0,\n     \"responsesLastChanged\": \"2025-08-05T15:25:32.267\",\n     \"shareFilter\": \"\",\n     \"shareContext\": \"\"\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Response Item<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><th class=\"has-text-align-left\" data-align=\"left\">Data Type<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The survey Id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing a GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">ownerId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The owner Id of the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing a GUID <\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">ownerName<\/td><td class=\"has-text-align-left\" data-align=\"left\">The owner name of the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">name<\/td><td class=\"has-text-align-left\" data-align=\"left\">The display name of the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">path<\/td><td class=\"has-text-align-left\" data-align=\"left\">The path to the survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing strings<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">title<\/td><td class=\"has-text-align-left\" data-align=\"left\">The title used in the questionnaire.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">url<\/td><td class=\"has-text-align-left\" data-align=\"left\">The url of the survey in Snap Online.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewUrl<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interview url.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewPreviewUrl<\/td><td class=\"has-text-align-left\" data-align=\"left\">The preview interview url.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">isPublished<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the survey is published.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">lastPublishedDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">The date time of when the survey was last published.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewingState<\/td><td class=\"has-text-align-left\" data-align=\"left\">The current interviewing state.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String:<br>&#8220;Scheduled&#8221;<br>\u201cNotStarted\u201d,<br>\u201cStarted\u201d \u2013 when live,<br>\u201cPaused\u201d,<br>\u201cStopped\u201d \u2013 when closed,<br>\u201cTooManyRespondents\u201d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">startInterviewingScheduleDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interviewing start date and time.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">endInterviewingScheduleDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interviewing end date and time.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">interviewingScheduleTimeZone<\/td><td class=\"has-text-align-left\" data-align=\"left\">The interviewing start\/end timezone.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">numberOfResponses<\/td><td class=\"has-text-align-left\" data-align=\"left\">The number of responses submitted.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">numberOfPartials<\/td><td class=\"has-text-align-left\" data-align=\"left\">The number of partial responses.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responsesLastChanged <br><\/td><td class=\"has-text-align-left\" data-align=\"left\">The date and time that the list of responses for the survey was last changed, i.e. response added, deleted or edited.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing DateTime<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">shareFilter<\/td><td class=\"has-text-align-left\" data-align=\"left\">Filter applied to the survey for this user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &#8220;&#8221; if no share filter.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">shareContext<\/td><td class=\"has-text-align-left\" data-align=\"left\">Context applied to the survey for this user.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &#8220;&#8221; if no share context.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200 OK<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-survey-variables\">Get Survey Variables<\/h3>\n\n\n\n<p>Get details of all of the variables for a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Method<\/th><th class=\"has-text-align-left\" data-align=\"left\">URL<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/{surveyId}\/variables<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get details of all of the variables of the specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Path parameter<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Query string parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Required \/ Optional <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Type <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Range <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Default <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">includeCodes<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether to return code information for the variable in the response.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">true<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/6834a5f1-46e5-4b12-9e0c-a38a3d9be12c\/variables' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0'<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>200 OK with body (when \u2018includeCodes\u2019 is false): <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"surveyId\": \"6834a5f1-46e5-4b12-9e0c-a38a3d9be12c\",\n    \"variables\": &#91;        \n        {\n            \"order\": 14,\n            \"variableId\": \"V46\",\n            \"label\": \"What was the main form of transport used to get to the at...\",\n            \"name\": \"Q1\",\n            \"questionText\": \"What was the main form of transport used to get to the attraction?\",\n            \"variableTypeId\": 6,\n            \"paraDataTypeId\": -2,\n            \"responseTypeId\": 1,\n            \"variableType\": \"Question\",\n            \"paraDataType\": \"NOT_PARA_DATA\",\n            \"responseType\": \"Single\",\n            \"codeCount\": 7\n        },\n        {\n            \"order\": 15,\n            \"variableId\": \"V48\",\n            \"label\": \"Which facilities did you visit?\",\n            \"name\": \"Q2\",\n            \"questionText\": \"Which facilities did you visit?\",\n            \"variableTypeId\": 6,\n            \"paraDataTypeId\": -2,\n            \"responseTypeId\": 2,\n            \"variableType\": \"Question\",\n            \"paraDataType\": \"NOT_PARA_DATA\",\n            \"responseType\": \"Multiple\",\n            \"codeCount\": 3\n        },\n        {\n            \"order\": 16,\n            \"variableId\": \"V52\",\n            \"label\": \"Please tell us if there were any issues, otherwise leave ...\",\n            \"name\": \"Q3\",\n            \"questionText\": \"Please tell us if there were any issues, otherwise leave blank.\",\n            \"variableTypeId\": 6,\n            \"paraDataTypeId\": -2,\n            \"responseTypeId\": 4,\n            \"variableType\": \"Question\",\n            \"paraDataType\": \"NOT_PARA_DATA\",\n            \"responseType\": \"Literal\",\n            \"codeCount\": 0\n        }\n    ]\n}\n<\/code><\/pre>\n\n\n\n<p> 200 OK with body (when \u2018includeCodes\u2019 is true): <\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"surveyId\": \"6834a5f1-46e5-4b12-9e0c-a38a3d9be12c\",\n    \"variables\": &#91;        \n        {\n            \"order\": 14,\n            \"variableId\": \"V46\",\n            \"label\": \"What was the main form of transport used to get to the at...\",\n            \"name\": \"Q1\",\n            \"questionText\": \"What was the main form of transport used to get to the attraction?\",\n            \"variableTypeId\": 6,\n            \"paraDataTypeId\": -2,\n            \"responseTypeId\": 1,\n            \"variableType\": \"Question\",\n            \"paraDataType\": \"NOT_PARA_DATA\",\n            \"responseType\": \"Single\",\n            \"codeCount\": 7,\n            \"codes\": &#91;\n                {\n                    \"codeIndex\": 1,\n                    \"codeValue\": 3,\n                    \"codeLabel\": \"Walk\"\n                },\n                {\n                    \"codeIndex\": 2,\n                    \"codeValue\": 5,\n                    \"codeLabel\": \"Bike\"\n                },\n                {\n                    \"codeIndex\": 3,\n                    \"codeValue\": 8,\n                    \"codeLabel\": \"Motorbike\"\n                },\n                {\n                    \"codeIndex\": 4,\n                    \"codeValue\": 4,\n                    \"codeLabel\": \"Car\"\n                },\n                {\n                    \"codeIndex\": 5,\n                    \"codeValue\": 6,\n                    \"codeLabel\": \"Bus\"\n                },\n                {\n                    \"codeIndex\": 6,\n                    \"codeValue\": 9,\n                    \"codeLabel\": \"Train\"\n                },\n                {\n                    \"codeIndex\": 7,\n                    \"codeValue\": 10,\n                    \"codeLabel\": \"Plane\"\n                }\n            ]\n        },\n        {\n            \"order\": 15,\n            \"variableId\": \"V48\",\n            \"label\": \"Which facilities did you visit?\",\n            \"name\": \"Q2\",\n            \"questionText\": \"Which facilities did you visit?\",\n            \"variableTypeId\": 6,\n            \"paraDataTypeId\": -2,\n            \"responseTypeId\": 2,\n            \"variableType\": \"Question\",\n            \"paraDataTypeId\": \"NOT_PARA_DATA\",\n            \"responseType\": \"Multiple\",\n            \"codeCount\": 3,\n            \"codes\": &#91;\n                {\n                    \"codeIndex\": 1,\n                    \"codeValue\": 1,\n                    \"codeLabel\": \"Restaurant \/ Cafe\"\n                },\n                {\n                    \"codeIndex\": 2,\n                    \"codeValue\": 2,\n                    \"codeLabel\": \"Gift Shop\"\n                },\n                {\n                    \"codeIndex\": 3,\n                    \"codeValue\": 3,\n                    \"codeLabel\": \"Customer Services\"\n                }\n            ]\n        },\n        {\n            \"order\": 16,\n            \"variableId\": \"V52\",\n            \"label\": \"Please tell us if there were any issues, otherwise leave ...\",\n            \"name\": \"Q3\",\n            \"questionText\": \"Please tell us if there were any issues, otherwise leave blank.\",\n            \"variableTypeId\": 6,\n            \"paraDataTypeId\": -2,\n            \"responseTypeId\": 4,\n            \"variableType\": \"Question\",\n            \"paraDataType\": \"NOT_PARA_DATA\",\n            \"responseType\": \"Literal\",\n            \"codeCount\": 0,\n            \"codes\": &#91;]\n        }\n    ]\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">surveyId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The survey Id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables<\/td><td class=\"has-text-align-left\" data-align=\"left\">The list of variables.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing objects<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/order<\/td><td class=\"has-text-align-left\" data-align=\"left\">The positional order of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/variableId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The V number of the variable<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/label<\/td><td class=\"has-text-align-left\" data-align=\"left\">The label of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/name<\/td><td class=\"has-text-align-left\" data-align=\"left\">The name of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/questionText<\/td><td class=\"has-text-align-left\" data-align=\"left\">The question text of the variable. i.e. the question shown to the respondent.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/variableTypeId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The numeric code for the variable type.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer: Unknown = 0, Precoded = 1, Numeric = 2, Alphanumeric = 3, Derived = 5, Question = 6, Note = 7<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/paraDataTypeId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The numeric code for the para data variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer: SITE=0, NAME=1, DATE=2, START=3, END=4, DURATION=5, CASE=6, RESET=7, ENDDATE=8, INTERVIEWER=9, PASSWORD=10, LANGUAGE=11, FORMAT=12, URL=13, SURV_INDEX=14, LOCATION=15, RECORDING=16, PAGE=17, PANEL=18, SERVERDATE=19, SERVERTIME=20, UNKNOWN=-1, NOT_PARA_DATA = -2<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/responseTypeId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The numeric code for the response type.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer: &nbsp; Unknown = 0, Single = 1, Multiple = 2, Quantity = 3, Literal = 4, None = 5, Date = 6, Time = 7<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/variableType<\/td><td class=\"has-text-align-left\" data-align=\"left\">The type of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &nbsp; \u201cUnknown\u201d, \u201cPrecoded\u201d, \u201cNumeric\u201d, \u201cAlphanumeric\u201d, \u201cDerived\u201d, \u201cQuestion\u201d, \u201cNote\u201d.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/paraDataType<\/td><td class=\"has-text-align-left\" data-align=\"left\">The type of the para data variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &#8220;SITE&#8221;, &#8220;NAME&#8221;, &#8220;DATE&#8221;, &#8220;START&#8221;, &#8220;END&#8221;, &#8220;DURATION&#8221;, &#8220;CASE&#8221;, &#8220;RESET&#8221;, &#8220;ENDDATE&#8221;, &#8220;INTERVIEWER&#8221;, &#8220;PASSWORD&#8221;, &#8220;LANGUAGE&#8221;, &#8220;FORMAT&#8221;, &#8220;URL&#8221;, &#8220;SURV_INDEX&#8221;, &#8220;LOCATION&#8221;, &#8220;RECORDING&#8221;, &#8220;PAGE&#8221;, &#8220;PANEL&#8221;, &#8220;SERVERDATE&#8221;, &#8220;SERVERTIME&#8221;, &#8220;UNKNOWN&#8221;, &#8220;NOT_PARA_DATA&#8221;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/responseType<\/td><td class=\"has-text-align-left\" data-align=\"left\">The response type of the answer.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: \u201cUnknown\u201d, \u201cSingle\u201d, \u201cMultiple\u201d, \u201cQuantity\u201d, \u201cLiteral\u201d, \u201cNone\u201d, \u201cDate\u201d, \u201cTime\u201d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/codeCount<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a choice question this states the number of codes. If not a choice question then this will be 0.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/codes<\/td><td class=\"has-text-align-left\" data-align=\"left\">A list of variable codes. This section will only appear if the <strong>includeCodes <\/strong>query parameter is true or omitted AND the variable is a choice question.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing Objects<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/codes\/codeIndex<\/td><td class=\"has-text-align-left\" data-align=\"left\">The index of the variable code.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/codes\/codeValue<\/td><td class=\"has-text-align-left\" data-align=\"left\">The value of the variable code.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables\/codes\/codeLabel<\/td><td class=\"has-text-align-left\" data-align=\"left\">The label of the variable code.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200 OK<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-survey-variable\">Get Survey Variable<\/h3>\n\n\n\n<p>Get the details of a variable of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Method<\/th><th class=\"has-text-align-left\" data-align=\"left\">URL<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/{surveyId}\/variables\/{variableId}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get the details of the specific variable identified by the <strong>variableId <\/strong>path variable of the specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Path parameter<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{variableId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The unique V number of the variable.<br>This is the variable Id property returned in the Get Survey Variables end-point.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/localhost\/snaponline\/api\/surveys\/e819df57-0a01-4592-a7aa-8918dbe54e00\/variables\/V46' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>200 OK with body:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"surveyId\": \"6834a5f1-46e5-4b12-9e0c-a38a3d9be12c\",\n    \"variable\": {\n        \"order\": 15,\n        \"variableId\": \"V48\",\n        \"label\": \"Which facilities did you visit?\",\n        \"name\": \"Q2\",\n        \"questionText\": \"Which facilities did you visit?\",\n        \"variableTypeId\": 6,\n        \"paraDataTypeId\": -2,\n        \"responseTypeId\": 2,\n        \"variableType\": \"Question\",\n        \"paraDataType\": \"NOT_PARA_DATA\",\n        \"responseType\": \"Multiple\",\n        \"codeCount\": 3,\n        \"codes\": &#91;\n            {\n                \"codeIndex\": 1,\n                \"codeValue\": 1,\n                \"codeLabel\": \"Restaurant \/ Cafe\"\n            },\n            {\n                \"codeIndex\": 2,\n                \"codeValue\": 2,\n                \"codeLabel\": \"Gift Shop\"\n            },\n            {\n                \"codeIndex\": 3,\n                \"codeValue\": 3,\n                \"codeLabel\": \"Customer Services\"\n            }\n        ]\n    }\n}\n\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">surveyId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The survey Id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable<\/td><td class=\"has-text-align-left\" data-align=\"left\">The variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/order<\/td><td class=\"has-text-align-left\" data-align=\"left\">The positional order of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/variableId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The V number of the variable<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/label<\/td><td class=\"has-text-align-left\" data-align=\"left\">The label of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/name<\/td><td class=\"has-text-align-left\" data-align=\"left\">The name of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/questionText<\/td><td class=\"has-text-align-left\" data-align=\"left\">The question text of the variable. i.e. the question shown to the respondent.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/variableTypeId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The numeric code for the variable type.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer: <br>Unknown = 0, Precoded = 1, Numeric = 2, Alphanumeric = 3, Derived = 5, Question = 6, Note = 7<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/paraDataTypeId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The numeric code for the para data variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer: SITE=0, NAME=1, DATE=2, START=3, END=4, DURATION=5, CASE=6, RESET=7, ENDDATE=8, INTERVIEWER=9, PASSWORD=10, LANGUAGE=11, FORMAT=12, URL=13, SURV_INDEX=14, LOCATION=15, RECORDING=16, PAGE=17, PANEL=18, SERVERDATE=19, SERVERTIME=20, UNKNOWN=-1, NOT_PARA_DATA = -2<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/responseTypeId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The numeric code for the response type.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer: &nbsp; <br>Unknown = 0, Single = 1, Multiple = 2, Quantity = 3, Literal = 4, None = 5, Date = 6, Time = 7<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/variableType<\/td><td class=\"has-text-align-left\" data-align=\"left\">The type of the variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &nbsp; <br>\u201cUnknown\u201d, \u201cPrecoded\u201d, \u201cNumeric\u201d, \u201cAlphanumeric\u201d, \u201cDerived\u201d, \u201cQuestion\u201d, \u201cNote\u201d.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/paraDataType<\/td><td class=\"has-text-align-left\" data-align=\"left\">The type of the para data variable.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &#8220;SITE&#8221;, &#8220;NAME&#8221;, &#8220;DATE&#8221;, &#8220;START&#8221;, &#8220;END&#8221;, &#8220;DURATION&#8221;, &#8220;CASE&#8221;, &#8220;RESET&#8221;, &#8220;ENDDATE&#8221;, &#8220;INTERVIEWER&#8221;, &#8220;PASSWORD&#8221;, &#8220;LANGUAGE&#8221;, &#8220;FORMAT&#8221;, &#8220;URL&#8221;, &#8220;SURV_INDEX&#8221;, &#8220;LOCATION&#8221;, &#8220;RECORDING&#8221;, &#8220;PAGE&#8221;, &#8220;PANEL&#8221;, &#8220;SERVERDATE&#8221;, &#8220;SERVERTIME&#8221;, &#8220;UNKNOWN&#8221;, &#8220;NOT_PARA_DATA&#8221;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/responseType<\/td><td class=\"has-text-align-left\" data-align=\"left\">The response type of the answer.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String:<br>\u201cUnknown\u201d, \u201cSingle\u201d, \u201cMultiple\u201d, \u201cQuantity\u201d, \u201cLiteral\u201d, \u201cNone\u201d, \u201cDate\u201d, \u201cTime\u201d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/codeCount<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a choice question this states the number of codes. If not a choice question then this will be 0.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/codes<\/td><td class=\"has-text-align-left\" data-align=\"left\">A list of codes.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing objects<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/codes\/codeIndex<\/td><td class=\"has-text-align-left\" data-align=\"left\">The index of the variable code.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/codes\/codeValue<\/td><td class=\"has-text-align-left\" data-align=\"left\">The value of the variable code.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variable\/codes\/codeLabel<\/td><td class=\"has-text-align-left\" data-align=\"left\">The label of the variable code.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200 OK <\/li>\n\n\n\n<li>404 Not Found \u2013 if survey variable does not exist.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-survey-responses\">Get Survey Responses<\/h3>\n\n\n\n<p>Get the responses of a survey.<\/p>\n\n\n\n<p>You can <\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>use our <strong>recommended approach<\/strong>, which is to use the <strong>startingFrom <\/strong>token so you only get the responses that have been submitted or modified since your last call.<\/li>\n\n\n\n<li>get all the responses each call and will be charged for each response for every call.<\/li>\n<\/ul>\n\n\n\n<p><strong>Please note<\/strong> that from Monday 5th December 2022 usage of the API became chargeable. The charge is that 0.1 unit will be consumed each time a survey response is delivered by the API.&nbsp; This applies if the same survey response is delivered by the API multiple times. The survey responses are delivered using the Get Survey Responses endpoint.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Method<\/th><th class=\"has-text-align-left\" data-align=\"left\">URL<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/{surveyId}\/responses<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get the responses of the specific survey identified with the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Path parameter<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table is-style-regular\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\">Query string parameter<\/th><th class=\"has-text-align-left\" data-align=\"left\">Required \/ Optional<\/th><th class=\"has-text-align-left\" data-align=\"left\">Description<\/th><th class=\"has-text-align-left\" data-align=\"left\">Type<\/th><th class=\"has-text-align-left\" data-align=\"left\">Range<\/th><th class=\"has-text-align-left\" data-align=\"left\">Default<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">maxResponses<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">The number of responses to return.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><td class=\"has-text-align-left\" data-align=\"left\">1-5000<\/td><td class=\"has-text-align-left\" data-align=\"left\">5000<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">startingFrom<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\"><strong>We recommended always using the startingFrom token. <\/strong><br>Returns responses from the <strong>startingFrom <\/strong>token. This value is \u201c0\u201d to start at the beginning, or a token to start from a particular point in the responses collection. &nbsp; Example: #IBCGEGG.<br>To get the next set of responses (if the output <strong>UpToDate <\/strong>property is false) feed the progress token of the output into the <strong>startingFrom <\/strong>token and make the call.<br><strong>NB<\/strong> the # needs to be URL encoded e.g. %23IBCGEGG<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u201c0\u201d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">returnCaseIds<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether to return the case ID in the response.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">false<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">useCodeLabels<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether to return code labels (true) or code indexes (false) for choice questions.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">false<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">variables<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Determines which variables to return in each response. &nbsp;<br>Default returns all variables.<br><br>This is a comma separated list of V numbers. Can also use ~ to specify a range of variables.<br><br>Example: V10~V12,V15 will return V10, V11, V12 and V15.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u201c\u201d<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">filter<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">The Snap XMP filter to use.<br>The default does not use a filter.<br><br>Example: (ID.endDate&gt;=2021\/01\/01) and (ID.endDate&lt;=2021\/06\/01)<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">&#8220;&#8221;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">useVariableNames<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">If false the variables are identified by an <strong>id <\/strong>property and the value will be the variable V number.<br><br>If true the variables are identified by a <strong>name <\/strong>property instead of an <strong>id <\/strong>property and the value will be the actual variable name.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">false<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">latestCasesOnly<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">If false, the output will include a response for every edit. If true, the output edits will be rolled into fewer responses.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">false<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">excludeDeletedCases<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Excludes cases that have been deleted. You will never see a <strong>response\/status<\/strong> of <strong>deleted<\/strong>.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">fasle<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Note: There are two ways to identify the V number required in the <strong>variables <\/strong>parameter:<br><br>1. Make the Get Survey Variables call and examine the result.<\/p>\n\n\n\n<p>2. Snap XMP Desktop: Tick the <strong>UniqueIDs <\/strong>checkbox in the <strong>Variable Tailoring<\/strong> dialog. A new <strong>Id<\/strong> column will then be visible in the <strong>Variables <\/strong>screen.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/c23a0fd8-6219-4130-a6a7-f312829e56eb\/responses?maxResponses=100&amp;variables= \nV16,V45~V47&amp;returnCaseIds=true&amp;useCodeLabels=true&amp;startingFrom=0' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--data-raw ''<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>200 OK with body:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"surveyId\": \"c23a0fd8-6219-4130-a6a7-f312829e56eb\",\n    \"startingFrom\": \"0\",\n    \"progress\": \"#IBCGEGG\",\n    \"upToDate\": \"false\",\n    \"responses\": &#91;\n        {\n            \"status\": \"new\",\n            \"caseId\": \"8e4591b0-c1e3-4612-88b4-7b96cd28dd2d\",\n            \"variables\": &#91;\n                {\n                    \"id\": \"V46\",\n                    \"v\": \"Plane\"\n                },\n                {\n                    \"id\": \"V48\",\n                    \"v\": \"\\\"Restaurant \/ Cafe\\\",\\\"Gift Shop\\\",\\\"Customer Services\\\"\"\n                },\n                {\n                    \"id\": \"V52\",\n                    \"s\": \"NR\"\n                }\n            ]\n        },\n        {\n            \"status\": \"new\",\n            \"caseId\": \"5458bfcb-97df-4326-879d-4868406761ae\",\n            \"variables\": &#91;\n                {\n                    \"id\": \"V46\",\n                    \"v\": \"Bike\"\n                },\n                {\n                    \"id\": \"V48\",\n                    \"v\": \"\\\"Gift Shop\\\"\"\n                },\n                {\n                    \"id\": \"V52\",\n                    \"v\": \"Very busy.\"\n                }\n            ]\n        }\n    ]\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Follow on Sample Request using the progress response item<\/h4>\n\n\n\n<p>In the sample response above, <strong>progress <\/strong>represents where you have got to in the data file. This token is then used as the <strong>startingFrom <\/strong>value in the next \/Responses request, to retrieve responses that have been submitted or modified since your last call.<\/p>\n\n\n\n<p>&#8220;progress&#8221;: &#8220;#IBCGEGG&#8221;,<\/p>\n\n\n\n<p>Use this token as the <strong>startingFrom <\/strong>parameter in order to retrieve responses that have been submitted or modified since your last call.<\/p>\n\n\n\n<p><strong>NB<\/strong> the # needs to be URL encoded e.g. %23IBCGEGG<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request example using the progress token<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/c23a0fd8-6219-4130-a6a7-f312829e56eb\/responses?maxResponses=100&amp;variables= \nV16,V45~V47&amp;returnCaseIds=true&amp;useCodeLabels=true&amp;startingFrom=%23IBCGEGG' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--data-raw ''<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">surveyId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The survey Id you selected based on the survey Id in the request.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">filter<\/td><td class=\"has-text-align-left\" data-align=\"left\">The filter used. Only appears if the <strong>filter <\/strong>query parameter was provided.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">startingFrom<\/td><td class=\"has-text-align-left\" data-align=\"left\">The <strong>startingFrom <\/strong>token in the request. This is <strong>recommended<\/strong>.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">progress<\/td><td class=\"has-text-align-left\" data-align=\"left\">The ending token. This token can be used as the <strong>startingFrom <\/strong>parameter in the next call.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">upToDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the most recent response is included.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses<\/td><td class=\"has-text-align-left\" data-align=\"left\">The responses.<br><br>The number of responses will be based on the <strong>maxResponses <\/strong>request parameter.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing objects<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u201cnew\u201d if this is a brand new response, \u201cupdated\u201d if the response has been edited in Snap XMP Desktop or \u201cdeleted\u201d if the response has been deleted <strong>(although you will only see deleted responses if you have also set the returnCaseIds parameter to true and the excludeDeletedCases parameter to false)<\/strong>.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/caseId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The case Id of the response.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String (Default: Guid)<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/variables<\/td><td class=\"has-text-align-left\" data-align=\"left\">The variables in the response.<br><br>This will either be all the variables in the response or restricted to those specified in the variables request parameter.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing objects<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/variables\/id<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the <strong>useVariablesName <\/strong>parameter is false or not provided: The variable Id (V number).<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/variables\/name<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the <strong>useVariablesName <\/strong>parameter is true: The variable Id (name).<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/variables\/s<\/td><td class=\"has-text-align-left\" data-align=\"left\">The status code of the variable. This field will only appear if the outcome of the variable is not \u201cOK\u201d.&nbsp; &nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: &nbsp; \u201cNR\u201d for no reply, \u201cNA\u201d for not asked, \u201cERR\u201d for error.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">responses\/variables\/v<\/td><td class=\"has-text-align-left\" data-align=\"left\">The value of the variable.<br><br>For choice questions this will either be the code label if the <strong>useCodeLabels <\/strong>parameter is true or the code index if it is false.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String \u2013 even if returning numbers.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<ul class=\"wp-block-list\">\n<li>200 OK<\/li>\n\n\n\n<li>400 Bad Request\n<ul class=\"wp-block-list\">\n<li>If <strong>maxResponses <\/strong>parameter is not between 1 and 5000.<\/li>\n\n\n\n<li>If <strong>variables <\/strong>parameter is invalid or a variable does not exist.<\/li>\n\n\n\n<li>If <strong>startingFrom <\/strong>parameter is invalid.<\/li>\n\n\n\n<li>If the <strong>filter <\/strong>parameter is invalid.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>500\n<ul class=\"wp-block-list\">\n<li>If something else went wrong while trying to extract the responses from the survey <\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-participant-list\">Get Participant List<\/h3>\n\n\n\n<p>Get the details of the current participants of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get the details of current participants of the specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Query string parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Required \/ Optional <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Type <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Range <\/th><th class=\"has-text-align-left\" data-align=\"left\">Default<\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">maxParticipants<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">The number of participants to return.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Integer<\/td><td class=\"has-text-align-left\" data-align=\"left\">1-5000<\/td><td class=\"has-text-align-left\" data-align=\"left\">5000<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">startingFrom<\/td><td class=\"has-text-align-left\" data-align=\"left\">Optional<\/td><td class=\"has-text-align-left\" data-align=\"left\">Returns participants from the <strong>startingFrom <\/strong>token. This value is \u201c0\u201d to start at the beginning or a token to start from a particular point in the participants collection. &nbsp; Example: #IBCGEGG. &nbsp; To get the next set of participants (if the output <strong>UpToDate <\/strong>property is false) feed the progress token of the output into the <strong>startingFrom <\/strong>token and make the call again.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><td class=\"has-text-align-left\" data-align=\"left\">N\/A<\/td><td class=\"has-text-align-left\" data-align=\"left\">\u201c0\u201d<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants?startingFrom=0&amp;maxParticipants=2' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>200 OK with body:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"surveyId\": \"20dbe888-ec99-4895-b094-e34084f9408f\",\n    \"startingFrom\": \"0\",\n    \"progress\": \"#ECDEHDIHBB\",\n    \"upToDate\": false,\n    \"participants\": &#91;\n        {\n            \"id\": \"e8623247-5aa9-4bbb-864b-5c76b1749c7a\",\n            \"enabled\": true,\n            \"invitationSection\": {\n                \"optedOut\": false,\n                \"sendInvitations\": true,\n                \"emailAddress\": \"a@example.com\"\n            },\n            \"loginSection\": {\n                \"login\": \"A\",\n                \"password\": null,\n                \"interviewer\": null,\n                \"status\": \"NotStarted\"\n            }\n        },\n        {\n            \"id\": \"e8623247-5aa9-4bbb-864b-5c76b1749c7b\",\n            \"enabled\": true,\n            \"invitationSection\": {\n                \"optedOut\": false,\n                \"sendInvitations\": true,\n                \"emailAddress\": \"b@example.com\"\n            },\n            \"loginSection\": {\n                \"login\": \"B\",\n                \"password\": null,\n                \"interviewer\": null,\n                \"status\": \"NotStarted\"\n            }\n        }\n    ]\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">surveyId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The survey Id you selected based on the survey Id in the request.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">startingFrom<\/td><td class=\"has-text-align-left\" data-align=\"left\">The <strong>startingFrom <\/strong>token in the request.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">progress<\/td><td class=\"has-text-align-left\" data-align=\"left\">The ending token. This token can be used as the <strong>startingFrom <\/strong>parameter in the next call.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">upToDate<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the most recent participant is included.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants<\/td><td class=\"has-text-align-left\" data-align=\"left\">The participants.<br><br>The number of participants will be based on the <strong>maxParticipants <\/strong>request parameter.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List: containing objects<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the participant.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/enabled<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the participant is enabled.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/loginSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The login section for a logged on survey participant. Section will be omitted if not a logged on survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/loginSection\/login<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey this will be the login name otherwise null.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/loginSection\/password<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey and a password is required this will be the password otherwise null or \u201c\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/loginSection\/interviewer<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the survey allows synchronisation of participants with SOI but the API user does not have <strong>Manage participants for SOI<\/strong> permission this will be null. If survey does not allow synchronisation of participants to SOI this will be null. If the survey allows synchronisation of participants to SOI and the API user has <strong>Manage participants for SOI<\/strong> permission this will be either \u201c\u201d signifying that all interviewers will have access or an email address of the interviewer.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/loginSection\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the survey is a logged on but not a group questionnaire then this is the status of the participant. &nbsp; If the survey is a logged on and group questionnaire then this is the overall status for the participant across all the questionnaires. &nbsp; If the survey is invite only then the status will be null.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>For non group questionnaire: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire. <br>\u201cPartial\u201d \u2013 a partial response has been taken.<br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire.<br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp; <br>For group questionnaire: &nbsp;<br>\u201cNotStarted\u201d \u2013 the participant has not started any of the questionnaires. <br>\u201cStarted\u201d &#8211; &nbsp;the participant has started at least one of the questionnaires. <br>\u201cCompleted\u201d \u2013 the participant has completed all of the questionnaires. This includes whether a researcher submitted a partial.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/invitationSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invitation section for an invited survey participant. Section will be omitted if not an invited survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/ invitationSection\/emailAddress<\/td><td class=\"has-text-align-left\" data-align=\"left\">If an invited survey this will be the email address of the participant or empty string if not an invite survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/invitationSection\/ sendInvitations<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether invitations are to be sent.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">participants\/invitationSection\/ optedOut<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the user is opted out from emails.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-participant\">Get Participant<\/h3>\n\n\n\n<p>Get the details of a participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get details of the specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl&nbsp;--location&nbsp;--request&nbsp;GET&nbsp;'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/A'&nbsp;\\\n--header&nbsp;'X-USERNAME:&nbsp;{USERNAME}'&nbsp;\\\n--header&nbsp;'X-API-KEY:&nbsp;{APIKEY}'&nbsp;\\\n--header&nbsp;'X-VERSION:&nbsp;3.0'<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Responses<\/h4>\n\n\n\n<p>The response structure is determined by the participant feature configuration of the survey. This is shown in the participant import wizard of Snap Online.<\/p>\n\n\n\n<p>If the configuration has <strong>Allow Snap Online to track respondents<\/strong> ticked it is a logged on survey and a <strong>loginSection<\/strong> will be included. If the configuration has <strong>Send email invites \/ reminders<\/strong> ticked then an <strong>invitationSection<\/strong> will be included.<\/p>\n\n\n\n<p>The <strong>invitationSection<\/strong> will always include an <strong>inviteSeeding<\/strong> section even if there isn\u2019t any seeding.<\/p>\n\n\n\n<p>The <strong>loginSection<\/strong> will always have a <strong>questionnaireSeeding<\/strong> section even if there isn\u2019t any seeding.<\/p>\n\n\n\n<p>If the configuration has <strong>Group Questionnaire<\/strong> ticked then there will be one or more subjects inside the <strong>loginSection<\/strong> section and each <strong>subjectName<\/strong> property will be a non empty string.<\/p>\n\n\n\n<p>If the configuration does not have <strong>Group Questionnaire<\/strong> ticked then there will be exactly one subject inside the <strong>loginSection<\/strong> section and the <strong>subjectName<\/strong> property will be an empty string.<\/p>\n\n\n\n<p>200 OK with body (invite only participant with some invite seeding):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {\n            \"forenames\": \"A\",\n            \"surname\": \"A\"\n        }\n    }, \n    \"id\": \"e8623247-5aa9-4bbb-864b-5c76b1749c7a\",   \n    \"enabled\": true\n}\n<\/code><\/pre>\n\n\n\n<p>200 OK with body (log on and invite participant \u2013 group questionnaire):<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {\n            \"forenames\": \"A\",\n            \"surname\": \"A\"\n        }\n    },\n    \"loginSection\": {\n        \"login\": \"A\",\n        \"password\": null,\n        \"interviewer\": null,\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"L1\",\n                \"questionnaireSeeding\": {\n                    \"v53\": \"L1\",\n                    \"v48\": \"2;3\",\n                    \"v50\": \"A\",\n                    \"v51\": \"A\",\n                    \"v46\": \"4\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"id\": \"e8623247-5aa9-4bbb-864b-5c76b1749c7a\",\n    \"enabled\": true\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The participant id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">enabled<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the participant is enabled.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invitation section for an invited survey participant. Section will be omitted if not an invited survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/optedOut<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether invitations are to be sent.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/sendInvitations<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the user is opted out from emails.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/emailAddress<\/td><td class=\"has-text-align-left\" data-align=\"left\">The email address.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/inviteSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invite seeding. &nbsp; This is a dictionary of properties in the form \u201c&lt;invite key&gt;\u201d : \u201c&lt;value&gt;\u201d<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The login section for a logged on survey participant. Section will be omitted if not a logged on survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/login<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey this will be the login name otherwise null.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/password<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey and a password is required this will be the password otherwise null or \u201c\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/interviewer<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the survey allows synchronisation of participants with SOI but the API user does not have <strong>Manage participants for SOI<\/strong> permission this will be null. If survey does not allow synchronisation of participants to SOI this will be null. If the survey allows synchronisation of participants to SOI and the API user has <strong>Manage participants for SOI<\/strong> permission this will be either \u201c\u201d signifying that all interviewers will have access or an email address of the interviewer.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the overall status. &nbsp; If the survey is a logged on but not a group questionnaire, then this is the status of the participant. &nbsp; If the survey is a logged on and group questionnaire, then this is the overall status for the participant across all the questionnaires. &nbsp; If the survey is invite only then the status will be null.<br><br><\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>For non group questionnaire: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire. <br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire.<br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp; <br>For group questionnaire: &nbsp;<br>\u201cNotStarted\u201d \u2013 the participant has not started any of the questionnaires.<br>\u201cStarted\u201d &#8211; the participant has started at least one of the questionnaires.<br>\u201cCompleted\u201d \u2013 the participant has completed all of the questionnaires. This includes whether a researcher submitted a partial.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects<\/td><td class=\"has-text-align-left\" data-align=\"left\">The subjects for the participant. &nbsp; For a group questionnaire there will be one or more. For a non-group questionnaire there will just be one.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/subjectName<\/td><td class=\"has-text-align-left\" data-align=\"left\">For a group questionnaire <strong>subjectName <\/strong>will not be an empty string. &nbsp; For a non group questionnaire the <strong>subjectName <\/strong>must be an empty string.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/ questionnaireSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The questionnaire seeding for the subject. &nbsp; This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the subject status.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire.<br>\u201cStarted\u201d the participant has started the questionnaire. <br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire.<br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire.<br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"add-participant\">Add Participant<\/h3>\n\n\n\n<p>Add a new participant to a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">POST<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Add a new participant to the specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Request body data<\/h4>\n\n\n\n<p>Requires request body of JSON object e.g.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {\n            \"forenames\": \"A\",\n            \"surname\": \"A\"\n        }\n    },\n    \"loginSection\": {\n        \"login\": \"A\",\n        \"password\": null,\n        \"interviewer\": null,\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"L1\",\n                \"questionnaireSeeding\": {\n                    \"v53\": \"L1\",\n                    \"v48\": \"2;3\",\n                    \"v50\": \"A\",\n                    \"v51\": \"A\",\n                    \"v46\": \"4\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"enabled\": true\n}\n<\/code><\/pre>\n\n\n\n<p>Note. The above example is creating a participant in a survey where the participant feature requires that the participant be invited and that the participant has to provide credentials to view the questionnaire. Therefore, you must specify both the <strong>invitationSection<\/strong> section and the <strong>loginSection<\/strong> section in the call. The example is also for a group questionnaire and it will create one subject for the participant. In a non-group questionnaire, you must provide one subject and the <strong>subjectName<\/strong> property should be an empty string.<\/p>\n\n\n\n<p>For an invite only survey do not include a <strong>loginSection<\/strong> section. For a logged on only survey do not include an <strong>invitationSection<\/strong> section.<\/p>\n\n\n\n<p>The <strong>status<\/strong> properties are read-only so will be ignored if specified.<\/p>\n\n\n\n<p>If the survey allows interviewers for SOI then you specify the interviewer in the <strong>interviewer <\/strong>property. The interviewer must be the email address of a user that has SOI access to the survey. If you don\u2019t want to specify an interviewer set it to an empty string. If the survey does not allow interviewers set it to null.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request POST 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--header 'Content-Type: application\/json' \\\n--data-raw '{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {\n            \"forenames\": \"E\",\n            \"surname\": \"E\"\n        }\n    },\n    \"loginSection\": {\n        \"login\": \"E\",\n        \"password\": null,\n        \"interviewer\": null,\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"L1\",\n                \"questionnaireSeeding\": {\n                    \"v53\": \"L1\",\n                    \"v48\": \"2;3\",\n                    \"v50\": \"A\",\n                    \"v51\": \"A\",\n                    \"v46\": \"4\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"enabled\": true\n}'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<p>Note. The <strong>status <\/strong>field is read-only. If you send it into the request body as in the sample request above it will be ignored.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {}\n    },\n    \"loginSection\": {\n        \"login\": \"E\",\n        \"password\": null,\n        \"interviewer\": null,\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"L1\",\n                \"questionnaireSeeding\": {\n                    \"v48\": \"2;3\",\n                    \"v50\": \"A\",\n                    \"v53\": \"L1\",\n                    \"v51\": \"A\",\n                    \"v46\": \"4\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"id\": \"91188b33-0149-48ed-bf65-b9ecbc741f8d\",\n    \"enabled\": true\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The participant id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">enabled<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the participant is enabled.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invitation section for an invited survey participant. Section will be omitted if not an invited survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/optedOut<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether invitations are to be sent.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/sendInvitations<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the user is opted out from emails.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/emailAddress<\/td><td class=\"has-text-align-left\" data-align=\"left\">The email address.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/inviteSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invite seeding. &nbsp; This is a dictionary of properties in the form \u201c&lt;invite key&gt;\u201d : \u201c&lt;value&gt;\u201d<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The login section for a logged on survey participant. Section will be omitted if not a logged on survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/login<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey this will be the login name otherwise null.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/password<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey and a password is required this will be the password otherwise null or \u201c\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/interviewer<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the survey allows synchronisation of participants with SOI but the API user does not have <strong>Manage participants for SOI<\/strong> permission this will be null. If survey does not allow synchronisation of participants to SOI this will be null. If the survey allows synchronisation of participants to SOI and the API user has <strong>Manage participants for SOI<\/strong> permission this will be either \u201c\u201d signifying that all interviewers will have access or an email address of the interviewer.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the overall status. &nbsp; If the survey is a logged on but not a group questionnaire then this is the status of the participant. If the survey is a logged on and group questionnaire then this is the overall status for the participant across all the questionnaires. If the survey is invite only then the status will be null.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; For non group questionnaire: &nbsp; \u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. \u201cStarted\u201d the participant has started the questionnaire. \u201cPartial\u201d \u2013 a partial response has been taken. \u201cSaved\u201d \u2013 the participant has saved the questionnaire. \u201cCompleted\u201d \u2013 the participant has completed the questionnaire. \u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp; For group questionnaire: &nbsp; \u201cNotStarted\u201d \u2013 the participant has not started any of the questionnaires. \u201cStarted\u201d &#8211; &nbsp;the participant has started at least one of the questionnaires. \u201cCompleted\u201d \u2013 the participant has completed all of the questionnaires. This includes whether a researcher submitted a partial.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects<\/td><td class=\"has-text-align-left\" data-align=\"left\">The subjects for the participant. &nbsp; For a group questionnaire there will be one or more. For a non-group questionnaire there will just be one.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/subjectName<\/td><td class=\"has-text-align-left\" data-align=\"left\">For a group questionnaire subject name will not be an empty string. &nbsp; For a non group questionnaire the subject name must be an empty string.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/ questionnaireSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The questionnaire seeding for the subject. &nbsp; This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the subject status.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; \u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. \u201cStarted\u201d the participant has started the questionnaire. \u201cPartial\u201d \u2013 a partial response has been taken. \u201cSaved\u201d \u2013 the participant has saved the questionnaire. \u201cCompleted\u201d \u2013 the participant has completed the questionnaire. \u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">enabled<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the participant is enabled.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>201 Created<\/p>\n\n\n\n<p>The response headers will include a Location key where the value is the URL to call to get the participant.<\/p>\n\n\n\n<p>400 Bad Request \u2013 various including:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Participants require a login section.\"\n}\n\n\"message\": \"You must provide a login name.\"\n\"message\": \"Participants require an invitation section.\"\n\"message\": \"Participants should not have an invitation section.\"\n\"message\": \"Participants should not have a login section.\"\n\"message\": \"The unique participant id provided in the URL must be the same as in the request body.\"\n\"message\": \"Not allowed to add, update or delete an interviewer.\"\n\"message\": \"Must provide an interviewer property and value cannot be null.\"\n\"message\": \"Interviewer does not have access to the survey.\"\n\"message\": Participants for this survey must have one subject.\"\n\"message\": \"Participants for this survey must only have one subject and the subject name must be an empty string.\"\n\"message\": \"Participants for this survey must have at least one subject.\"\n\"message\": \"Subject name cannot be blank for a group questionnaire.\"\n\"message\": \"Participant cannot be opted out and have send invitations enabled at the same time.\"\n\"message\": \"The unique participant id provided in the URL must be the same as in the request body.\"\n\"message\": \"You must provide a valid email address.\"\n\"message\": \"If an email address is provided, it must be valid.\"\n\"message\": \"Another participant already has this login name.\"\n\"message\": \"Participants for this survey must have unique subjects.\"\n\"message\": \"Participant to update does not exist.\"\n\"message\": \"Participant subjects do not match.\"\n\"message\": \"Another participant already has this email address.\"\n\"message\": \"Survey does not support participants.\"\n\"message\": \"Participants cannot be added, updated or deleted whilst an import is scheduled or running.\"\n\"message\": \"Participant invite seeding does not have a '&lt;invite item&gt;' seeding property.\"\n\"message\": \"Participant questionnaire seeding does not have a '&lt;questionnaire item&gt;}' seeding property.\"\n\"message\": \"Survey does not have a '&lt;questionnaire item&gt;' variable.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' is single choice. Multiple values are not allowed.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' cannot contain duplicate code values.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' does not contain code value '&lt;code value&gt;'.\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"update-participant\">Update Participant<\/h3>\n\n\n\n<p>Update an existing participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">PUT<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Update the existing specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Request body data<\/h4>\n\n\n\n<p>Requires request body of JSON object e.g.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"inviteSeeding\": {\n            \"surname\": \"D\",\n            \"forenames\": \"David\"\n        }\n    },\n    \"loginSection\": {\n        \"login\": \"A4\",\n        \"password\": null,\n        \"interviewer\": \"\",\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"Alton Towers\",\n                \"questionnaireSeeding\": {\n                    \"v45\": \"David\",\n                    \"v46\": \"D\"\n                },\n                \"status\": \"NotStarted\"\n            },\n            {\n                \"subjectName\": \"Chester Zoo\",\n                \"questionnaireSeeding\": {\n                    \"v45\": \"David\",\n                    \"v46\": \"D\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"enabled\": true\n}\n<\/code><\/pre>\n\n\n\n<p>Note. The above example is updating a participant in a survey where the participant feature requires that the participant be invited and that the participant has to provide credentials to view the questionnaire. Therefore, you must specify both the <strong>invitationSection<\/strong> section and the <strong>logonSection<\/strong> section in the call. The example is also for a group questionnaire and it will create two subjects for the participant. In a non-group questionnaire you must provide one subject and the <strong>subjectName<\/strong> property should be an empty string.<\/p>\n\n\n\n<p>For an invite only survey do not include a <strong>loginSection<\/strong> section. For a logged on only survey do not include an <strong>invitationSection<\/strong> section.<\/p>\n\n\n\n<p>The <strong>status<\/strong> properties are read-only so will be ignored if specified.<\/p>\n\n\n\n<p>If the survey allows interviewers for SOI then you specify the interviewer in the interviewer property. The interviewer must be the email address of a user that has SOI access to the survey. If you don\u2019t want to specify an interviewer set it to an empty string. If the survey does not allow interviewers set it to null.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request PUT 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/E' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--header 'Content-Type: application\/json' \\\n--data-raw '{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {}\n    },\n    \"loginSection\": {\n        \"login\": \"E\",\n        \"password\": null,\n        \"interviewer\": null,\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"L1\",\n                \"questionnaireSeeding\": {\n                    \"v48\": \"2;3\",\n                    \"v50\": \"A\",\n                    \"v53\": \"L1\",\n                    \"v51\": \"A\",\n                    \"v46\": \"6\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"enabled\": true\n}'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<p>Note. The <strong>status <\/strong>field is read-only. If you send it into the request body as in the sample request above it will be ignored<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"invitationSection\": {\n        \"optedOut\": false,\n        \"sendInvitations\": true,\n        \"emailAddress\": \"a@example.com\",\n        \"invitationSeeding\": {}\n    },\n    \"loginSection\": {\n        \"login\": \"E\",\n        \"password\": null,\n        \"interviewer\": null,\n        \"status\": \"NotStarted\",\n        \"subjects\": &#91;\n            {\n                \"subjectName\": \"L1\",\n                \"questionnaireSeeding\": {\n                    \"v48\": \"2;3\",\n                    \"v50\": \"A\",\n                    \"v53\": \"L1\",\n                    \"v51\": \"A\",\n                    \"v46\": \"6\"\n                },\n                \"status\": \"NotStarted\"\n            }\n        ]\n    },\n    \"id\": \"91188b33-0149-48ed-bf65-b9ecbc741f8d\",\n    \"enabled\": true\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The participant id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">enabled<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the participant is enabled.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invitation section for an invited survey participant. Section will be omitted if not an invited survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/optedOut<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether invitations are to be sent.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/sendInvitations<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the user is opted out from emails.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/emailAddress<\/td><td class=\"has-text-align-left\" data-align=\"left\">The email address.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">invitationSection\/inviteSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The invite seeding. &nbsp; This is a dictionary of properties in the form \u201c&lt;invite key&gt;\u201d : \u201c&lt;value&gt;\u201d<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection<\/td><td class=\"has-text-align-left\" data-align=\"left\">The login section for a logged on survey participant. Section will be omitted if not a logged on survey.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/login<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey this will be the login name otherwise null.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/password<\/td><td class=\"has-text-align-left\" data-align=\"left\">If a logged on survey and a password is required this will be the password otherwise null or \u201c\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/interviewer<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the survey allows synchronisation of participants with SOI but the API user does not have <strong>Manage participants for SOI<\/strong> permission this will be null. If survey does not allow synchronisation of participants to SOI this will be null. If the survey allows synchronisation of participants to SOI and the API user has <strong>Manage participants for SOI<\/strong> permission this will be either \u201c\u201d signifying that all interviewers will have access or an email address of the interviewer.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the overall status. &nbsp; If the survey is a logged on but not a group questionnaire then this is the status of the participant. &nbsp; If the survey is a logged on and group questionnaire then this is the overall status for the participant across all the questionnaires. &nbsp; If the survey is invite only then the status will be null.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>For non group questionnaire: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire. <br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire. <br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp; <br>For group questionnaire: &nbsp;<br>\u201cNotStarted\u201d \u2013 the participant has not started any of the questionnaires. <br>\u201cStarted\u201d &#8211; the participant has started at least one of the questionnaires. <br>\u201cCompleted\u201d \u2013 the participant has completed all of the questionnaires. This includes whether a researcher submitted a partial.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects<\/td><td class=\"has-text-align-left\" data-align=\"left\">The subjects for the participant. &nbsp; For a group questionnaire there will be one or more. For a non-group questionnaire there will just be one.<\/td><td class=\"has-text-align-left\" data-align=\"left\">List<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/subjectName<\/td><td class=\"has-text-align-left\" data-align=\"left\">For a group questionnaire <strong>subjectName<\/strong> will not be an empty string. &nbsp; For a non group questionnaire the <strong>subjectName<\/strong> must be an empty string.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/ questionnaireSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The questionnaire seeding for the subject. &nbsp; This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">loginSection\/subjects\/status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the subject status.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire.<br>\u201cStarted\u201d the participant has started the questionnaire. <br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire.<br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire.<br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">enabled<\/td><td class=\"has-text-align-left\" data-align=\"left\">Whether the participant is enabled.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Boolean<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Participant not found.\"\n}\n<\/code><\/pre>\n\n\n\n<p>400 Bad Request \u2013 various including:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Participants require a login section.\"\n}\n\n\"message\": \"You must provide a login name.\"\n\"message\": \"Participants require an invitation section.\"\n\"message\": \"Participants should not have an invitation section.\"\n\"message\": \"Participants should not have a login section.\"\n\"message\": \"The unique participant id provided in the URL must be the same as in the request body.\"\n\"message\": \"Not allowed to add, update or delete an interviewer.\"\n\"message\": \"Must provide an interviewer property and value cannot be null.\"\n\"message\": \"Interviewer does not have access to the survey.\"\n\"message\": Participants for this survey must have one subject.\"\n\"message\": \"Participants for this survey must only have one subject and the subject name must be an empty string.\"\n\"message\": \"Participants for this survey must have at least one subject.\"\n\"message\": \"Subject name cannot be blank for a group questionnaire.\"\n\"message\": \"Participant cannot be opted out and have send invitations enabled at the same time.\"\n\"message\": \"The unique participant id provided in the URL must be the same as in the request body.\"\n\"message\": \"You must provide a valid email address.\"\n\"message\": \"If an email address is provided, it must be valid.\"\n\"message\": \"Participant with this login name does not exist.\"\n\"message\": \"Participant with this login name already exists.\"\n\"message\": \"Participants for this survey must have unique subjects.\"\n\"message\": \"Participant to update does not exist.\"\n\"message\": \"Participant subjects do not match.\"\n\"message\": \"Participant with this email address does not exist.\"\n\"message\": \"Survey does not support participants.\"\n\"message\": \"Participants cannot be added, updated or deleted whilst an import is scheduled or running.\"\n\"message\": \"Participant invite seeding does not have a '&lt;invite item&gt;' seeding property.\"\n\"message\": \"Participant questionnaire seeding does not have a '&lt;questionnaire item&gt;}' seeding property.\"\n\"message\": \"Survey does not have a '&lt;questionnaire item&gt;' variable.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' is single choice. Multiple values are not allowed.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' cannot contain duplicate code values.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' does not contain code value '&lt;code value&gt;'.\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"delete-participant\">Delete Participant<\/h3>\n\n\n\n<p>Delete an existing participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">DELETE<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Delete the existing participant identified by the <strong>participantUniqueId <\/strong>path variable of the specific survey identified by the <strong>surveyId <\/strong>path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request DELETE 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/E' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>No response<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<p>No response definition<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found<\/p>\n\n\n\n<h3 class=\"wp-block-heading get-participant-subject\" id=\"get-participant-subjects\">Get Participant Subjects<\/h3>\n\n\n\n<p>Get the details of the subjects of a participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}\/subjects<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get the details of the subjects of the specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/A\/subjects' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--data-raw ''\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\n    {\n        \"subjectName\": \"L1\",\n        \"questionnaireSeeding\": {\n            \"v53\": \"L1\",\n            \"v48\": \"2;3\",\n            \"v50\": \"A\",\n            \"v51\": \"A\",\n            \"v46\": \"4\"\n        },\n        \"status\": \"NotStarted\"\n    }\n]\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">subjectName<\/td><td class=\"has-text-align-left\" data-align=\"left\">For a group questionnaire, the subject name will not be an empty string. &nbsp; For a non-group questionnaire, the subject name will always be an empty string.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">questionnaireSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The questionnaire seeding for the subject. This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the subject status.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire.<br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire. <br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"get-participant-subject\">Get Participant Subject<\/h3>\n\n\n\n<p>Get the details of a subject of a participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">GET<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}\/subjects\/{subjectName}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Get the details of the specific subject identified by the <strong>subjectName<\/strong> path variable of the specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th> Path parameter <\/th><th> Description <\/th><\/tr><\/thead><tbody><tr><td>{surveyId}<\/td><td>The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td>{participantUniqueId}<\/td><td>This is either the login name if a logged in survey or else the email address.<\/td><\/tr><tr><td>{subjectName}<\/td><td>The name of the subject.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request GET 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/A\/subjects\/L1' \\\n--header 'X-USERNAME: {USERBNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--data-raw ''\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"subjectName\": \"L1\",\n    \"questionnaireSeeding\": {\n        \"v53\": \"L1\",\n        \"v48\": \"2;3\",\n        \"v50\": \"A\",\n        \"v51\": \"A\",\n        \"v46\": \"4\"\n    },\n    \"status\": \"NotStarted\"\n}\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">subjectName<\/td><td class=\"has-text-align-left\" data-align=\"left\">For a group questionnaire, the &nbsp;subject name will not be an empty string. &nbsp; For a non-group questionnaire, the subject name will always be an empty string.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">questionnaireSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The questionnaire seeding for the subject. This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the subject status.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire.<br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire. <br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"add-participant-subject\">Add Participant Subject<\/h3>\n\n\n\n<p>Add a new subject to a participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">POST<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}\/subjects<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Add the new subject of the specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Request body data<\/h4>\n\n\n\n<p>Requires request body of JSON object e.g.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"subjectName\": \"Chester Zoo2\",\n    \"questionnaireSeeding\": {\n        \"v46\": \"D\",\n        \"v45\": \"David\"\n    },\n    \"status\": \"NotStarted\"\n}\n<\/code><\/pre>\n\n\n\n<p>Note. For a group questionnaire the <strong>subjectName <\/strong>must be a non-empty string. It is not possible to add a subject to a non-group questionnaire as there is only one subject with a <strong>subjectName <\/strong>of empty string. In the example above we are setting two of the seeding values for the subject. The <strong>status <\/strong>property is ignored if included. This means that you can take the output of a get subject call, modify the seeding and pass it in the add subject call without having to remove the <strong>status <\/strong>property.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request POST 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/A\/subjects' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--header 'Content-Type: application\/json' \\\n--data-raw '{\n    \"subjectName\": \"L5\",\n    \"questionnaireSeeding\": {\n        \"v53\": \"L5\",\n        \"v48\": \"2;3\",\n        \"v50\": \"A\",\n        \"v51\": \"A\",\n        \"v46\": \"4\"\n    },\n    \"status\": \"NotStarted\"\n}'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"subjectName\": \"L5\",\n    \"questionnaireSeeding\": {\n        \"v48\": \"2;3\",\n        \"v50\": \"A\",\n        \"v53\": \"L5\",\n        \"v51\": \"A\",\n        \"v46\": \"4\"\n    },\n    \"status\": \"NotStarted\"\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Response Definitions<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">subjectName<\/td><td class=\"has-text-align-left\" data-align=\"left\">For a group questionnaire subject name will not be an empty string. &nbsp; For a non-group questionnaire, the subject name must be an empty string.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">questionnaireSeeding<\/td><td class=\"has-text-align-left\" data-align=\"left\">The questionnaire seeding for the subject. This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Object<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">status<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is the subject status.<br><br>&nbsp;<\/td><td class=\"has-text-align-left\" data-align=\"left\">String or null: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire.<br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire. <br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Participant not found.\"\n}\n<\/code><\/pre>\n\n\n\n<p>400 Bad Request with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Must provide a subject.\"\n}\n\n\"message\": \"Survey is not a group questionnaire. Cannot add subjects.\"\n\"message\": \"Participant questionnaire seeding does not have a '&lt;questionnaire seeding&gt;' seeding property.\"\n\"message\": \"Participant already has that subject.\"\n\"message\": \"Could not add subject.\"\n\"message\": \"Participant invite seeding does not have a '&lt;invite key&gt;' seeding property.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' does not contain code value '&lt;code value&gt;'.\"\n\"message\": \"Participant questionnaire seeding does not have a '&lt;questionnaire item&gt;' seeding property.\"\n\"message\": \"Survey does not have a '&lt;questionnaire item&gt;' variable.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' is single choice. Multiple values are not allowed.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' cannot contain duplicate code values.\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"update-participant-subject\">Update Participant Subject<\/h3>\n\n\n\n<p>Update an existing subject of a participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">PUT<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}\/subjects\/{subjectName}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Update the existing specific subject identified by the <strong>subjectName<\/strong> path variable of the specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{subjectName}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The name of the subject.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Request body data<\/h4>\n\n\n\n<p>Requires request body of JSON object e.g.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"subjectName\": \"Chester Zoo2\",\n    \"questionnaireSeeding\": {\n        \"v46\": \"D\",\n        \"v45\": \"David\"\n    },\n    \"status\": \"NotStarted\"\n}\n<\/code><\/pre>\n\n\n\n<p>Note. The <strong>subjectName <\/strong>property must be the same as the <strong>subjectName <\/strong>path variable. It is not possible to rename a subject with this call. In the case of a non-group questionnaire the <strong>subjectName <\/strong>path variable should be null.<\/p>\n\n\n\n<p>In the example above we are changing two of the seeding values for the subject. The <strong>status <\/strong>property is ignored if included. This means that you can take the output of a get subject call, modify the seeding and pass it in the add subject call without having to remove the <strong>status <\/strong>property.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request PUT 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/A\/subjects\/L5' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--header 'Content-Type: application\/json' \\\n--data-raw '{\n    \"subjectName\": \"L5\",\n    \"questionnaireSeeding\": {\n        \"v48\": \"2;3\",\n        \"v50\": \"A\",\n        \"v53\": \"L5\",\n        \"v51\": \"A\",\n        \"v46\": \"6\"\n    },\n    \"status\": \"NotStarted\"\n}'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"subjectName\": \"L5\",\n    \"questionnaireSeeding\": {\n        \"v48\": \"2;3\",\n        \"v50\": \"A\",\n        \"v53\": \"L5\",\n        \"v51\": \"A\",\n        \"v46\": \"6\"\n    },\n    \"status\": \"NotStarted\"\n}\n<\/code><\/pre>\n\n\n\n<h2 class=\"wp-block-heading\">Response Definitions<\/h2>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th> Response Item <\/th><th> Description <\/th><th> Data Type <\/th><\/tr><\/thead><tbody><tr><td>subjectName<\/td><td>For a group questionnaire subject name will not be an empty string. &nbsp; For a non-group questionnaire, the subject name must be an empty string.<\/td><td>String<\/td><\/tr><tr><td>questionnaireSeeding<\/td><td>The questionnaire seeding for the subject. This is a dictionary of properties in the form \u201c&lt;variable V number&gt;\u201d : \u201c&lt;value&gt;\u201d.<\/td><td>Object<\/td><\/tr><tr><td>status<\/td><td>This is the subject status.<br><br>&nbsp;<\/td><td>String or null: &nbsp; <br>\u201cNotStarted\u201d \u2013 the participant has not started the questionnaire. <br>\u201cStarted\u201d the participant has started the questionnaire.<br>\u201cPartial\u201d \u2013 a partial response has been taken. <br>\u201cSaved\u201d \u2013 the participant has saved the questionnaire. <br>\u201cCompleted\u201d \u2013 the participant has completed the questionnaire. <br>\u201cSubmitted\u201d \u2013 the researcher has submitted a partial response. &nbsp;<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Codes<\/h4>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>404 Not Found with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Participant not found.\"\n}\n<\/code><\/pre>\n\n\n\n<p>400 Bad Request with:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Subject name must match subject details.\"\n}\n\n\"message\": \"Survey is not a group questionnaire. Cannot add subjects.\"\n\"message\": \"Participant does not have this subject.\"\n\"message\": \"Could not update subject.\"\n\"message\": \"Participant invite seeding does not have a '&lt;invite key&gt;' seeding property.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' does not contain code value '&lt;code value&gt;'.\"\n\"message\": \"Participant questionnaire seeding does not have a '&lt;questionnaire item&gt;' seeding property.\"\n\"message\": \"Survey does not have a '&lt;questionnaire item&gt;' variable.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' is single choice. Multiple values are not allowed.\"\n\"message\": \"Survey variable '&lt;questionnaire item&gt;' cannot contain duplicate code values.\"\n<\/code><\/pre>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"delete-participant-subject\">Delete Participant Subject<\/h3>\n\n\n\n<p>Delete a subject from a participant of a survey.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">DELETE<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/{participantUniqueId}\/subjects\/{subjectName}<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Delete the specific subject identified by the <strong>subjectName<\/strong> path variable from the specific participant identified by the <strong>participantUniqueId<\/strong> path variable of the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<p>Note: You cannot delete the subject of a non-group questionnaire. On a group questionnaire you cannot delete a subject if there would be no subjects remaining.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{participantUniqueId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">This is either the login name if a logged in survey or else the email address.<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">{subjectName}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The name of the subject.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location --request DELETE 'https:\/\/ &lt;servername&gt;\/snaponline\/api\/surveys\/20dbe888-ec99-4895-b094-e34084f9408f\/participants\/A\/subjects\/L5' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--data-raw ''\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<p>No response<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<p>No&nbsp; response definition<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">HTTP Status Codes<\/h2>\n\n\n\n<p>200 OK<\/p>\n\n\n\n<p>400 Bad Request<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>If trying to delete a subject from non-group questionnaire.<\/li>\n\n\n\n<li>If trying to delete last remaining subject from a group questionnaire.<\/li>\n<\/ul>\n\n\n\n<p>404 Not Found<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"bulk-participant-import\">Bulk Participant Import<\/h3>\n\n\n\n<p>Add multiple participants to a survey with each request. The number allowed is a system setting managed by the System administrator. Our subscription servers current limit is 100 participants which may change over time. Please see the \u201cHTTP Status code of overall call\u201d section below for more information<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Endpoint<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Method&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Url <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">POST<\/td><td class=\"has-text-align-left\" data-align=\"left\">https:\/\/snaponline\/api\/surveys\/{surveyId}\/participants\/bulkimport<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p>Add new participants to the specific survey identified by the <strong>surveyId<\/strong> path variable.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Parameters<\/h4>\n\n\n\n<h5 class=\"wp-block-heading\">Path parameters<\/h5>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Path parameter <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">{surveyId}<\/td><td class=\"has-text-align-left\" data-align=\"left\">The id of the survey. This is the survey GUID and not the Interview URL.<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h5 class=\"wp-block-heading\">Query string parameters<\/h5>\n\n\n\n<p>None<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Request body data<\/h4>\n\n\n\n<p>Requires request body of JSON objects e.g.:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\n    {\n        \"invitationSection\": {\n            \"optedOut\": false,\n            \"sendInvitations\": true,\n            \"emailAddress\": \"a@example.com\",\n            \"invitationSeeding\": {\n                \"forenames\": \"A\",\n                \"surname\": \"A\"\n            }\n        },\n        \"loginSection\": {\n            \"login\": \"A\",\n            \"password\": null,\n            \"interviewer\": null,\n            \"status\": \"NotStarted\",\n            \"subjects\": &#91;\n                {\n                    \"subjectName\": \"L1\",\n                    \"questionnaireSeeding\": {\n                        \"v53\": \"L1\",\n                        \"v48\": \"2;3\",\n                        \"v50\": \"A\",\n                        \"v51\": \"A\",\n                        \"v46\": \"4\"\n                    },\n                    \"status\": \"NotStarted\"\n                }\n            ]\n        },\n        \"enabled\": true\n    },\n    {\n        \"invitationSection\": {\n            \"optedOut\": false,\n            \"sendInvitations\": true,\n            \"emailAddress\": \"b@example.com\",\n            \"invitationSeeding\": {\n                \"forenames\": \"B\",\n                \"surname\": \"B\"\n            }\n        },\n        \"loginSection\": {\n            \"login\": \"B\",\n            \"password\": null,\n            \"interviewer\": null,\n            \"status\": \"NotStarted\",\n            \"subjects\": &#91;\n                {\n                    \"subjectName\": \"L1\",\n                    \"questionnaireSeeding\": {\n                        \"v53\": \"L1\",\n                        \"v48\": \"2;3\",\n                        \"v50\": \"B\",\n                        \"v51\": \"B\",\n                        \"v46\": \"4\"\n                    },\n                    \"status\": \"NotStarted\"\n                }\n            ]\n        },\n        \"enabled\": true\n    }\n]\n\n<\/code><\/pre>\n\n\n\n<p>Note. The above example is creating participants in a survey where the participant feature requires that the participant be invited and that the participant has to provide credentials to view the questionnaire. Therefore, you must specify both the <strong>invitationSection<\/strong> section and the <strong>loginSection<\/strong> section in the call. The example is also for a group questionnaire and it will create one subject for the participant. In a non-group questionnaire, you must provide one subject and the <strong>subjectName<\/strong> property should be an empty string.<\/p>\n\n\n\n<p>For an invite only survey do not include a <strong>loginSection<\/strong> section. For a logged on only survey do not include an <strong>invitationSection<\/strong> section.<\/p>\n\n\n\n<p>The <strong>status<\/strong> properties are read-only so will be ignored if specified.<\/p>\n\n\n\n<p>If the survey allows interviewers for SOI then you specify the interviewer in the <strong>interviewer<\/strong> property. The interviewer must be the email address of a user that has SOI access to the survey. If you don\u2019t want to specify an interviewer set it to an empty string. If the survey does not allow interviewers set it to null.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Request<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>curl --location 'https:\/\/&lt;servername&gt;\/snaponline\/api\/surveys\/0048ed9b-38b6-45ce-9d0c-106dd4929aac\/participants\/bulkimport' \\\n--header 'X-USERNAME: {USERNAME}' \\\n--header 'X-API-KEY: {APIKEY}' \\\n--header 'X-VERSION: 3.0' \\\n--header 'Content-Type: application\/json' \\\n--data-raw '&#91;\n    {\n        \"invitationSection\": {\n            \"optedOut\": false,\n            \"sendInvitations\": true,\n            \"emailAddress\": \"a@example.com\",\n            \"invitationSeeding\": {\n                \"forenames\": \"A\",\n                \"surname\": \"A\"\n            }\n        },\n        \"loginSection\": {\n            \"login\": \"A\",\n            \"password\": null,\n            \"interviewer\": null,\n            \"status\": \"NotStarted\",\n            \"subjects\": &#91;\n                {\n                    \"subjectName\": \"L1\",\n                    \"questionnaireSeeding\": {\n                        \"v53\": \"L1\",\n                        \"v48\": \"2;3\",\n                        \"v50\": \"A\",\n                        \"v51\": \"A\",\n                        \"v46\": \"4\"\n                    },\n                    \"status\": \"NotStarted\"\n                }\n            ]\n        },\n        \"enabled\": true\n    },\n    {\n        \"invitationSection\": {\n            \"optedOut\": false,\n            \"sendInvitations\": true,\n            \"emailAddress\": \"b@example.com\",\n            \"invitationSeeding\": {\n                \"forenames\": \"B\",\n                \"surname\": \"B\"\n            }\n        },\n        \"loginSection\": {\n            \"login\": \"B\",\n            \"password\": null,\n            \"interviewer\": null,\n            \"status\": \"NotStarted\",\n            \"subjects\": &#91;\n                {\n                    \"subjectName\": \"L1\",\n                    \"questionnaireSeeding\": {\n                        \"v53\": \"L1\",\n                        \"v48\": \"2;3\",\n                        \"v50\": \"B\",\n                        \"v51\": \"B\",\n                        \"v46\": \"4\"\n                    },\n                    \"status\": \"NotStarted\"\n                }\n            ]\n        },\n        \"enabled\": true\n    }\n]'\n<\/code><\/pre>\n\n\n\n<p>(In the above code, replace {APIKEY} with your actual API key and {USERNAME} with your actual username.)<\/p>\n\n\n\n<p>Note. The <strong>status <\/strong>field is read-only. If you send it into the request body as in the sample request above it will be ignored.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\">Sample Response<\/h4>\n\n\n\n<pre class=\"wp-block-code\"><code>&#91;\n    {\n        \"participantUniqueId\": \"A\",\n        \"id\": \"\",\n        \"status\": 400,\n        \"message\": \"Another participant already has this login name.\"\n    },\n    {\n        \"participantUniqueId\": \"B\",\n        \"id\": \"6f70015a-7a58-4a66-b8ab-51a785b87599\",\n        \"status\": 200,\n        \"message\": \"\"\n    }\n]\n<\/code><\/pre>\n\n\n\n<h4 class=\"wp-block-heading\">Response Definitions<\/h4>\n\n\n\n<figure class=\"wp-block-table\"><table><thead><tr><th class=\"has-text-align-left\" data-align=\"left\"> Response Item <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Description <\/th><th class=\"has-text-align-left\" data-align=\"left\"> Data Type <\/th><\/tr><\/thead><tbody><tr><td class=\"has-text-align-left\" data-align=\"left\">participantUniqueId<\/td><td class=\"has-text-align-left\" data-align=\"left\">The unique id of the participant.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">id<\/td><td class=\"has-text-align-left\" data-align=\"left\">The participant id.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String: containing GUID<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">status<\/td><td class=\"has-text-align-left\" data-align=\"left\">The HTTP Status code for this attempted participant add. 200 for a successful add.<\/td><td class=\"has-text-align-left\" data-align=\"left\">Number<\/td><\/tr><tr><td class=\"has-text-align-left\" data-align=\"left\">message<\/td><td class=\"has-text-align-left\" data-align=\"left\">If the add was successful then the property will be &#8220;&#8221; otherwise the description of why the participant could not be added. Similar possibilities to the add participant endpoint.<\/td><td class=\"has-text-align-left\" data-align=\"left\">String<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<h4 class=\"wp-block-heading\">HTTP Status Code of overall call<\/h4>\n\n\n\n<p>200 <\/p>\n\n\n\n<p>General checks have passed and the response lists the result of each separate participant add.<\/p>\n\n\n\n<p>400 Bad Request:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code>{\n    \"message\": \"Maximum number of participants in bulk import cannot exceed: 100.\"\n}<\/code><\/pre>\n\n\n\n<p>Note. The value is a system property. It can be changed and may not be 100.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>This document covers the most recent version 3.0 of the API in build 1.0.0.1381. Please note that from Monday 5th December 2022 usage of the API became chargeable. The charge is that 0.1 unit will be consumed each time a survey response is delivered by the API.&nbsp; This applies if the same survey response is [&hellip;]<\/p>\n","protected":false},"author":16,"featured_media":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"inline_featured_image":false,"footnotes":""},"epkb_post_type_1_category":[111],"epkb_post_type_1_tag":[],"class_list":["post-14752","epkb_post_type_1","type-epkb_post_type_1","status-publish","hentry","epkb_post_type_1_category-snap-online-developer-api"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.8 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>API Reference | SnapSurveys<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/\" \/>\n<meta property=\"og:locale\" content=\"en_GB\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"API Reference | SnapSurveys\" \/>\n<meta property=\"og:description\" content=\"This document covers the most recent version 3.0 of the API in build 1.0.0.1381. Please note that from Monday 5th December 2022 usage of the API became chargeable. The charge is that 0.1 unit will be consumed each time a survey response is delivered by the API.&nbsp; This applies if the same survey response is [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/\" \/>\n<meta property=\"og:site_name\" content=\"SnapSurveys\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/snapsurveys\" \/>\n<meta property=\"article:modified_time\" content=\"2025-12-01T11:56:43+00:00\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:site\" content=\"@snapsurveys\" \/>\n<meta name=\"twitter:label1\" content=\"Estimated reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"34 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/\",\"url\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/\",\"name\":\"API Reference | SnapSurveys\",\"isPartOf\":{\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/#website\"},\"datePublished\":\"2025-12-01T11:18:29+00:00\",\"dateModified\":\"2025-12-01T11:56:43+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/#breadcrumb\"},\"inLanguage\":\"en-GB\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Snap XMP Support\",\"item\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp-archive\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"API Reference\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/#website\",\"url\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/\",\"name\":\"Snap XMP Support Hub\",\"description\":\"Support documentation for Snap Surveys products\",\"publisher\":{\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-GB\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/#organization\",\"name\":\"Snap Surveys\",\"url\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-GB\",\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-content\/uploads\/2020\/06\/snap-surveys-logo-fc.svg\",\"contentUrl\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-content\/uploads\/2020\/06\/snap-surveys-logo-fc.svg\",\"width\":867,\"height\":159,\"caption\":\"Snap Surveys\"},\"image\":{\"@id\":\"https:\/\/www.snapsurveys.com\/support-snapxmp\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/snapsurveys\",\"https:\/\/x.com\/snapsurveys\",\"https:\/\/www.linkedin.com\/company\/snapsurveys\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"API Reference | SnapSurveys","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/","og_locale":"en_GB","og_type":"article","og_title":"API Reference | SnapSurveys","og_description":"This document covers the most recent version 3.0 of the API in build 1.0.0.1381. Please note that from Monday 5th December 2022 usage of the API became chargeable. The charge is that 0.1 unit will be consumed each time a survey response is delivered by the API.&nbsp; This applies if the same survey response is [&hellip;]","og_url":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/","og_site_name":"SnapSurveys","article_publisher":"https:\/\/www.facebook.com\/snapsurveys","article_modified_time":"2025-12-01T11:56:43+00:00","twitter_card":"summary_large_image","twitter_site":"@snapsurveys","twitter_misc":{"Estimated reading time":"34 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/","url":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/","name":"API Reference | SnapSurveys","isPartOf":{"@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/#website"},"datePublished":"2025-12-01T11:18:29+00:00","dateModified":"2025-12-01T11:56:43+00:00","breadcrumb":{"@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/#breadcrumb"},"inLanguage":"en-GB","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp\/snap-xmp-developer-api-api-reference\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.snapsurveys.com\/support-snapxmp\/"},{"@type":"ListItem","position":2,"name":"Snap XMP Support","item":"https:\/\/www.snapsurveys.com\/support-snapxmp\/snapxmp-archive\/"},{"@type":"ListItem","position":3,"name":"API Reference"}]},{"@type":"WebSite","@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/#website","url":"https:\/\/www.snapsurveys.com\/support-snapxmp\/","name":"Snap XMP Support Hub","description":"Support documentation for Snap Surveys products","publisher":{"@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.snapsurveys.com\/support-snapxmp\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-GB"},{"@type":"Organization","@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/#organization","name":"Snap Surveys","url":"https:\/\/www.snapsurveys.com\/support-snapxmp\/","logo":{"@type":"ImageObject","inLanguage":"en-GB","@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/#\/schema\/logo\/image\/","url":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-content\/uploads\/2020\/06\/snap-surveys-logo-fc.svg","contentUrl":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-content\/uploads\/2020\/06\/snap-surveys-logo-fc.svg","width":867,"height":159,"caption":"Snap Surveys"},"image":{"@id":"https:\/\/www.snapsurveys.com\/support-snapxmp\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/snapsurveys","https:\/\/x.com\/snapsurveys","https:\/\/www.linkedin.com\/company\/snapsurveys"]}]}},"_links":{"self":[{"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/epkb_post_type_1\/14752","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/epkb_post_type_1"}],"about":[{"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/types\/epkb_post_type_1"}],"author":[{"embeddable":true,"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/users\/16"}],"replies":[{"embeddable":true,"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/comments?post=14752"}],"version-history":[{"count":87,"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/epkb_post_type_1\/14752\/revisions"}],"predecessor-version":[{"id":15113,"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/epkb_post_type_1\/14752\/revisions\/15113"}],"wp:attachment":[{"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/media?parent=14752"}],"wp:term":[{"taxonomy":"epkb_post_type_1_category","embeddable":true,"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/epkb_post_type_1_category?post=14752"},{"taxonomy":"epkb_post_type_1_tag","embeddable":true,"href":"https:\/\/www.snapsurveys.com\/support-snapxmp\/wp-json\/wp\/v2\/epkb_post_type_1_tag?post=14752"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}