# Create response POST https://api.prolific.com/api/v1/surveys/{survey_id}/responses/ Content-Type: application/json Create a Response for a survey. Reference: https://beta-docs.prolific.com/api-reference/surveys/create-response ## OpenAPI Specification ```yaml openapi: 3.1.1 info: title: Create response version: endpoint_surveys.CreateResponse paths: /api/v1/surveys/{survey_id}/responses/: post: operationId: create-response summary: Create response description: Create a Response for a survey. tags: - - subpackage_surveys parameters: - name: survey_id in: path required: true schema: type: string - name: Authorization in: header description: Header authentication of the form `undefined ` required: true schema: type: string responses: '201': description: Successful Response content: application/json: schema: $ref: '#/components/schemas/SurveyResponseOut' '400': description: Error content: {} requestBody: content: application/json: schema: $ref: '#/components/schemas/SurveyResponseIn' components: schemas: SurveyResponseAnswer: type: object properties: answer_id: type: string format: uuid description: The answer ID. value: type: string description: The answer option value selected. required: - answer_id - value SurveyQuestionResponse: type: object properties: answers: type: array items: $ref: '#/components/schemas/SurveyResponseAnswer' description: The answers selected. question_id: type: string format: uuid description: The question ID. question_title: type: string description: The title of the survey question. required: - answers - question_id - question_title SurveyResponseSection: type: object properties: questions: type: array items: $ref: '#/components/schemas/SurveyQuestionResponse' description: The questions for a given section. section_id: type: string format: uuid description: The section ID. required: - questions - section_id SurveyResponseIn: type: object properties: participant_id: type: string description: The Prolific participant ID. sections: type: array items: $ref: '#/components/schemas/SurveyResponseSection' description: An array of sections from the survey, otherwise use `questions`. questions: type: array items: $ref: '#/components/schemas/SurveyQuestionResponse' description: An array of questions from the survey, otherwise use `sections`. submission_id: type: string description: The Prolific submission ID. required: - participant_id - submission_id SurveyResponseOut: type: object properties: _id: type: string date_created: type: string format: date-time description: The date/time the response was created (UTC). date_modified: type: string format: date-time description: The date/time the response was modified (UTC). participant_id: type: string description: The Prolific participant ID. sections: type: array items: $ref: '#/components/schemas/SurveyResponseSection' description: An array of sections from the survey, otherwise `questions`. questions: type: array items: $ref: '#/components/schemas/SurveyQuestionResponse' description: An array of questions from the survey, otherwise `sections`. submission_id: type: string description: The Prolific submission ID. required: - participant_id - submission_id ``` ## SDK Code Examples ```python with_sections import requests url = "https://api.prolific.com/api/v1/surveys/survey_id/responses/" payload = { "participant_id": "62908f0b98a55b36ac68b992", "submission_id": "62908f0b98a55b36ac68b992", "sections": [ { "questions": [ { "answers": [ { "answer_id": "8bde0c5f-235e-41e6-bf82-b73e92852ac8", "value": "Potato" } ], "question_id": "827e810a-4b1a-40f6-8bc2-c3dd6fcedc25", "question_title": "What is your favourite root vegetable?" } ], "section_id": "f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8" } ] } headers = { "Authorization": "", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript with_sections const url = 'https://api.prolific.com/api/v1/surveys/survey_id/responses/'; const options = { method: 'POST', headers: {Authorization: '', 'Content-Type': 'application/json'}, body: '{"participant_id":"62908f0b98a55b36ac68b992","submission_id":"62908f0b98a55b36ac68b992","sections":[{"questions":[{"answers":[{"answer_id":"8bde0c5f-235e-41e6-bf82-b73e92852ac8","value":"Potato"}],"question_id":"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25","question_title":"What is your favourite root vegetable?"}],"section_id":"f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8"}]}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go with_sections package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.prolific.com/api/v1/surveys/survey_id/responses/" payload := strings.NewReader("{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"sections\": [\n {\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ],\n \"section_id\": \"f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8\"\n }\n ]\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby with_sections require 'uri' require 'net/http' url = URI("https://api.prolific.com/api/v1/surveys/survey_id/responses/") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"sections\": [\n {\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ],\n \"section_id\": \"f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8\"\n }\n ]\n}" response = http.request(request) puts response.read_body ``` ```java with_sections HttpResponse response = Unirest.post("https://api.prolific.com/api/v1/surveys/survey_id/responses/") .header("Authorization", "") .header("Content-Type", "application/json") .body("{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"sections\": [\n {\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ],\n \"section_id\": \"f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8\"\n }\n ]\n}") .asString(); ``` ```php with_sections request('POST', 'https://api.prolific.com/api/v1/surveys/survey_id/responses/', [ 'body' => '{ "participant_id": "62908f0b98a55b36ac68b992", "submission_id": "62908f0b98a55b36ac68b992", "sections": [ { "questions": [ { "answers": [ { "answer_id": "8bde0c5f-235e-41e6-bf82-b73e92852ac8", "value": "Potato" } ], "question_id": "827e810a-4b1a-40f6-8bc2-c3dd6fcedc25", "question_title": "What is your favourite root vegetable?" } ], "section_id": "f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8" } ] }', 'headers' => [ 'Authorization' => '', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp with_sections var client = new RestClient("https://api.prolific.com/api/v1/surveys/survey_id/responses/"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", ""); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"sections\": [\n {\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ],\n \"section_id\": \"f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8\"\n }\n ]\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift with_sections import Foundation let headers = [ "Authorization": "", "Content-Type": "application/json" ] let parameters = [ "participant_id": "62908f0b98a55b36ac68b992", "submission_id": "62908f0b98a55b36ac68b992", "sections": [ [ "questions": [ [ "answers": [ [ "answer_id": "8bde0c5f-235e-41e6-bf82-b73e92852ac8", "value": "Potato" ] ], "question_id": "827e810a-4b1a-40f6-8bc2-c3dd6fcedc25", "question_title": "What is your favourite root vegetable?" ] ], "section_id": "f5e5c4dc-7d2e-40f1-a895-9bb2f8703fd8" ] ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.prolific.com/api/v1/surveys/survey_id/responses/")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` ```python without_sections import requests url = "https://api.prolific.com/api/v1/surveys/survey_id/responses/" payload = { "participant_id": "62908f0b98a55b36ac68b992", "submission_id": "62908f0b98a55b36ac68b992", "questions": [ { "answers": [ { "answer_id": "8bde0c5f-235e-41e6-bf82-b73e92852ac8", "value": "Potato" } ], "question_id": "827e810a-4b1a-40f6-8bc2-c3dd6fcedc25", "question_title": "What is your favourite root vegetable?" } ] } headers = { "Authorization": "", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript without_sections const url = 'https://api.prolific.com/api/v1/surveys/survey_id/responses/'; const options = { method: 'POST', headers: {Authorization: '', 'Content-Type': 'application/json'}, body: '{"participant_id":"62908f0b98a55b36ac68b992","submission_id":"62908f0b98a55b36ac68b992","questions":[{"answers":[{"answer_id":"8bde0c5f-235e-41e6-bf82-b73e92852ac8","value":"Potato"}],"question_id":"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25","question_title":"What is your favourite root vegetable?"}]}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go without_sections package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.prolific.com/api/v1/surveys/survey_id/responses/" payload := strings.NewReader("{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ]\n}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby without_sections require 'uri' require 'net/http' url = URI("https://api.prolific.com/api/v1/surveys/survey_id/responses/") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ]\n}" response = http.request(request) puts response.read_body ``` ```java without_sections HttpResponse response = Unirest.post("https://api.prolific.com/api/v1/surveys/survey_id/responses/") .header("Authorization", "") .header("Content-Type", "application/json") .body("{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ]\n}") .asString(); ``` ```php without_sections request('POST', 'https://api.prolific.com/api/v1/surveys/survey_id/responses/', [ 'body' => '{ "participant_id": "62908f0b98a55b36ac68b992", "submission_id": "62908f0b98a55b36ac68b992", "questions": [ { "answers": [ { "answer_id": "8bde0c5f-235e-41e6-bf82-b73e92852ac8", "value": "Potato" } ], "question_id": "827e810a-4b1a-40f6-8bc2-c3dd6fcedc25", "question_title": "What is your favourite root vegetable?" } ] }', 'headers' => [ 'Authorization' => '', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp without_sections var client = new RestClient("https://api.prolific.com/api/v1/surveys/survey_id/responses/"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", ""); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{\n \"participant_id\": \"62908f0b98a55b36ac68b992\",\n \"submission_id\": \"62908f0b98a55b36ac68b992\",\n \"questions\": [\n {\n \"answers\": [\n {\n \"answer_id\": \"8bde0c5f-235e-41e6-bf82-b73e92852ac8\",\n \"value\": \"Potato\"\n }\n ],\n \"question_id\": \"827e810a-4b1a-40f6-8bc2-c3dd6fcedc25\",\n \"question_title\": \"What is your favourite root vegetable?\"\n }\n ]\n}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift without_sections import Foundation let headers = [ "Authorization": "", "Content-Type": "application/json" ] let parameters = [ "participant_id": "62908f0b98a55b36ac68b992", "submission_id": "62908f0b98a55b36ac68b992", "questions": [ [ "answers": [ [ "answer_id": "8bde0c5f-235e-41e6-bf82-b73e92852ac8", "value": "Potato" ] ], "question_id": "827e810a-4b1a-40f6-8bc2-c3dd6fcedc25", "question_title": "What is your favourite root vegetable?" ] ] ] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.prolific.com/api/v1/surveys/survey_id/responses/")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ```