Update Survey Settings
curl --request POST \
--url https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update \
--header 'Content-Type: application/json' \
--data '
{
"surveySettings": {
"showSurveyTitle": false,
"showQuestionNumber": false,
"showProgressBar": false,
"progressbarPosition": "Bottom",
"showLogo": "ON",
"showTitle": "CUSTOM",
"customTitle": "Welcome to Tennessee!",
"themeColor": "#1976d2",
"themeTextColor": "#ffffff",
"subject": "Thank you for taking the survey",
"message": "Hi , \nThank you for taking the time to give your inputs on the survey.",
"signature": "Sincerely, \nBMW_Survey \n",
"enableThankyouEmail": true
},
"accessControl": {
"userAccessList": [
{
"userEmail": "abc@test.com",
"role": "viewer"
},
{
"userEmail": "def@test.com",
"delete": true
}
],
"surveyAccess": {
"role": "editor"
}
}
}
'import requests
url = "https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update"
payload = {
"surveySettings": {
"showSurveyTitle": False,
"showQuestionNumber": False,
"showProgressBar": False,
"progressbarPosition": "Bottom",
"showLogo": "ON",
"showTitle": "CUSTOM",
"customTitle": "Welcome to Tennessee!",
"themeColor": "#1976d2",
"themeTextColor": "#ffffff",
"subject": "Thank you for taking the survey",
"message": "Hi ,
Thank you for taking the time to give your inputs on the survey.",
"signature": "Sincerely,
BMW_Survey
",
"enableThankyouEmail": True
},
"accessControl": {
"userAccessList": [
{
"userEmail": "abc@test.com",
"role": "viewer"
},
{
"userEmail": "def@test.com",
"delete": True
}
],
"surveyAccess": { "role": "editor" }
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
surveySettings: {
showSurveyTitle: false,
showQuestionNumber: false,
showProgressBar: false,
progressbarPosition: 'Bottom',
showLogo: 'ON',
showTitle: 'CUSTOM',
customTitle: 'Welcome to Tennessee!',
themeColor: '#1976d2',
themeTextColor: '#ffffff',
subject: 'Thank you for taking the survey',
message: 'Hi , \nThank you for taking the time to give your inputs on the survey.',
signature: 'Sincerely, \nBMW_Survey \n',
enableThankyouEmail: true
},
accessControl: {
userAccessList: [
{userEmail: 'abc@test.com', role: 'viewer'},
{userEmail: 'def@test.com', delete: true}
],
surveyAccess: {role: 'editor'}
}
})
};
fetch('https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'surveySettings' => [
'showSurveyTitle' => false,
'showQuestionNumber' => false,
'showProgressBar' => false,
'progressbarPosition' => 'Bottom',
'showLogo' => 'ON',
'showTitle' => 'CUSTOM',
'customTitle' => 'Welcome to Tennessee!',
'themeColor' => '#1976d2',
'themeTextColor' => '#ffffff',
'subject' => 'Thank you for taking the survey',
'message' => 'Hi ,
Thank you for taking the time to give your inputs on the survey.',
'signature' => 'Sincerely,
BMW_Survey
',
'enableThankyouEmail' => true
],
'accessControl' => [
'userAccessList' => [
[
'userEmail' => 'abc@test.com',
'role' => 'viewer'
],
[
'userEmail' => 'def@test.com',
'delete' => true
]
],
'surveyAccess' => [
'role' => 'editor'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update"
payload := strings.NewReader("{\n \"surveySettings\": {\n \"showSurveyTitle\": false,\n \"showQuestionNumber\": false,\n \"showProgressBar\": false,\n \"progressbarPosition\": \"Bottom\",\n \"showLogo\": \"ON\",\n \"showTitle\": \"CUSTOM\",\n \"customTitle\": \"Welcome to Tennessee!\",\n \"themeColor\": \"#1976d2\",\n \"themeTextColor\": \"#ffffff\",\n \"subject\": \"Thank you for taking the survey\",\n \"message\": \"Hi , \\nThank you for taking the time to give your inputs on the survey.\",\n \"signature\": \"Sincerely, \\nBMW_Survey \\n\",\n \"enableThankyouEmail\": true\n },\n \"accessControl\": {\n \"userAccessList\": [\n {\n \"userEmail\": \"abc@test.com\",\n \"role\": \"viewer\"\n },\n {\n \"userEmail\": \"def@test.com\",\n \"delete\": true\n }\n ],\n \"surveyAccess\": {\n \"role\": \"editor\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update")
.header("Content-Type", "application/json")
.body("{\n \"surveySettings\": {\n \"showSurveyTitle\": false,\n \"showQuestionNumber\": false,\n \"showProgressBar\": false,\n \"progressbarPosition\": \"Bottom\",\n \"showLogo\": \"ON\",\n \"showTitle\": \"CUSTOM\",\n \"customTitle\": \"Welcome to Tennessee!\",\n \"themeColor\": \"#1976d2\",\n \"themeTextColor\": \"#ffffff\",\n \"subject\": \"Thank you for taking the survey\",\n \"message\": \"Hi , \\nThank you for taking the time to give your inputs on the survey.\",\n \"signature\": \"Sincerely, \\nBMW_Survey \\n\",\n \"enableThankyouEmail\": true\n },\n \"accessControl\": {\n \"userAccessList\": [\n {\n \"userEmail\": \"abc@test.com\",\n \"role\": \"viewer\"\n },\n {\n \"userEmail\": \"def@test.com\",\n \"delete\": true\n }\n ],\n \"surveyAccess\": {\n \"role\": \"editor\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"surveySettings\": {\n \"showSurveyTitle\": false,\n \"showQuestionNumber\": false,\n \"showProgressBar\": false,\n \"progressbarPosition\": \"Bottom\",\n \"showLogo\": \"ON\",\n \"showTitle\": \"CUSTOM\",\n \"customTitle\": \"Welcome to Tennessee!\",\n \"themeColor\": \"#1976d2\",\n \"themeTextColor\": \"#ffffff\",\n \"subject\": \"Thank you for taking the survey\",\n \"message\": \"Hi , \\nThank you for taking the time to give your inputs on the survey.\",\n \"signature\": \"Sincerely, \\nBMW_Survey \\n\",\n \"enableThankyouEmail\": true\n },\n \"accessControl\": {\n \"userAccessList\": [\n {\n \"userEmail\": \"abc@test.com\",\n \"role\": \"viewer\"\n },\n {\n \"userEmail\": \"def@test.com\",\n \"delete\": true\n }\n ],\n \"surveyAccess\": {\n \"role\": \"editor\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"surveyId": 1234,
"suveySettingId": 12345
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 1380,
"message": "Api key or session token missing"
}{
"code": 1161,
"message": "Invalid API key"
}Survey
Update Settings
Update Survey Settings helps update the survey page appearance settings like Logo, Title, ProgessBar setting, Theme Colour, User Acess, and many more.
Note
- In user-access request, if multiple entries are detected for a user, they will be assigned the highest role among all the different roles specified. If the entries are conflicting (e.g. delete + update), the API will return with exception
POST
/
v1
/
survey
/
{surveyId}
/
settings
/
update
Update Survey Settings
curl --request POST \
--url https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update \
--header 'Content-Type: application/json' \
--data '
{
"surveySettings": {
"showSurveyTitle": false,
"showQuestionNumber": false,
"showProgressBar": false,
"progressbarPosition": "Bottom",
"showLogo": "ON",
"showTitle": "CUSTOM",
"customTitle": "Welcome to Tennessee!",
"themeColor": "#1976d2",
"themeTextColor": "#ffffff",
"subject": "Thank you for taking the survey",
"message": "Hi , \nThank you for taking the time to give your inputs on the survey.",
"signature": "Sincerely, \nBMW_Survey \n",
"enableThankyouEmail": true
},
"accessControl": {
"userAccessList": [
{
"userEmail": "abc@test.com",
"role": "viewer"
},
{
"userEmail": "def@test.com",
"delete": true
}
],
"surveyAccess": {
"role": "editor"
}
}
}
'import requests
url = "https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update"
payload = {
"surveySettings": {
"showSurveyTitle": False,
"showQuestionNumber": False,
"showProgressBar": False,
"progressbarPosition": "Bottom",
"showLogo": "ON",
"showTitle": "CUSTOM",
"customTitle": "Welcome to Tennessee!",
"themeColor": "#1976d2",
"themeTextColor": "#ffffff",
"subject": "Thank you for taking the survey",
"message": "Hi ,
Thank you for taking the time to give your inputs on the survey.",
"signature": "Sincerely,
BMW_Survey
",
"enableThankyouEmail": True
},
"accessControl": {
"userAccessList": [
{
"userEmail": "abc@test.com",
"role": "viewer"
},
{
"userEmail": "def@test.com",
"delete": True
}
],
"surveyAccess": { "role": "editor" }
}
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
surveySettings: {
showSurveyTitle: false,
showQuestionNumber: false,
showProgressBar: false,
progressbarPosition: 'Bottom',
showLogo: 'ON',
showTitle: 'CUSTOM',
customTitle: 'Welcome to Tennessee!',
themeColor: '#1976d2',
themeTextColor: '#ffffff',
subject: 'Thank you for taking the survey',
message: 'Hi , \nThank you for taking the time to give your inputs on the survey.',
signature: 'Sincerely, \nBMW_Survey \n',
enableThankyouEmail: true
},
accessControl: {
userAccessList: [
{userEmail: 'abc@test.com', role: 'viewer'},
{userEmail: 'def@test.com', delete: true}
],
surveyAccess: {role: 'editor'}
}
})
};
fetch('https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'surveySettings' => [
'showSurveyTitle' => false,
'showQuestionNumber' => false,
'showProgressBar' => false,
'progressbarPosition' => 'Bottom',
'showLogo' => 'ON',
'showTitle' => 'CUSTOM',
'customTitle' => 'Welcome to Tennessee!',
'themeColor' => '#1976d2',
'themeTextColor' => '#ffffff',
'subject' => 'Thank you for taking the survey',
'message' => 'Hi ,
Thank you for taking the time to give your inputs on the survey.',
'signature' => 'Sincerely,
BMW_Survey
',
'enableThankyouEmail' => true
],
'accessControl' => [
'userAccessList' => [
[
'userEmail' => 'abc@test.com',
'role' => 'viewer'
],
[
'userEmail' => 'def@test.com',
'delete' => true
]
],
'surveyAccess' => [
'role' => 'editor'
]
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update"
payload := strings.NewReader("{\n \"surveySettings\": {\n \"showSurveyTitle\": false,\n \"showQuestionNumber\": false,\n \"showProgressBar\": false,\n \"progressbarPosition\": \"Bottom\",\n \"showLogo\": \"ON\",\n \"showTitle\": \"CUSTOM\",\n \"customTitle\": \"Welcome to Tennessee!\",\n \"themeColor\": \"#1976d2\",\n \"themeTextColor\": \"#ffffff\",\n \"subject\": \"Thank you for taking the survey\",\n \"message\": \"Hi , \\nThank you for taking the time to give your inputs on the survey.\",\n \"signature\": \"Sincerely, \\nBMW_Survey \\n\",\n \"enableThankyouEmail\": true\n },\n \"accessControl\": {\n \"userAccessList\": [\n {\n \"userEmail\": \"abc@test.com\",\n \"role\": \"viewer\"\n },\n {\n \"userEmail\": \"def@test.com\",\n \"delete\": true\n }\n ],\n \"surveyAccess\": {\n \"role\": \"editor\"\n }\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update")
.header("Content-Type", "application/json")
.body("{\n \"surveySettings\": {\n \"showSurveyTitle\": false,\n \"showQuestionNumber\": false,\n \"showProgressBar\": false,\n \"progressbarPosition\": \"Bottom\",\n \"showLogo\": \"ON\",\n \"showTitle\": \"CUSTOM\",\n \"customTitle\": \"Welcome to Tennessee!\",\n \"themeColor\": \"#1976d2\",\n \"themeTextColor\": \"#ffffff\",\n \"subject\": \"Thank you for taking the survey\",\n \"message\": \"Hi , \\nThank you for taking the time to give your inputs on the survey.\",\n \"signature\": \"Sincerely, \\nBMW_Survey \\n\",\n \"enableThankyouEmail\": true\n },\n \"accessControl\": {\n \"userAccessList\": [\n {\n \"userEmail\": \"abc@test.com\",\n \"role\": \"viewer\"\n },\n {\n \"userEmail\": \"def@test.com\",\n \"delete\": true\n }\n ],\n \"surveyAccess\": {\n \"role\": \"editor\"\n }\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.birdeye.com/resources/v1/survey/{surveyId}/settings/update")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"surveySettings\": {\n \"showSurveyTitle\": false,\n \"showQuestionNumber\": false,\n \"showProgressBar\": false,\n \"progressbarPosition\": \"Bottom\",\n \"showLogo\": \"ON\",\n \"showTitle\": \"CUSTOM\",\n \"customTitle\": \"Welcome to Tennessee!\",\n \"themeColor\": \"#1976d2\",\n \"themeTextColor\": \"#ffffff\",\n \"subject\": \"Thank you for taking the survey\",\n \"message\": \"Hi , \\nThank you for taking the time to give your inputs on the survey.\",\n \"signature\": \"Sincerely, \\nBMW_Survey \\n\",\n \"enableThankyouEmail\": true\n },\n \"accessControl\": {\n \"userAccessList\": [\n {\n \"userEmail\": \"abc@test.com\",\n \"role\": \"viewer\"\n },\n {\n \"userEmail\": \"def@test.com\",\n \"delete\": true\n }\n ],\n \"surveyAccess\": {\n \"role\": \"editor\"\n }\n }\n}"
response = http.request(request)
puts response.read_body{
"surveyId": 1234,
"suveySettingId": 12345
}{
"code": 1011,
"message": "Business id is invalid"
}{
"code": 1380,
"message": "Api key or session token missing"
}{
"code": 1161,
"message": "Invalid API key"
}Headers
e.g. application/json
e.g. [Required] Partner specific API key provided by Birdeye for data exchange.
Media type of the JSON request body.
Path Parameters
Survey ID
Query Parameters
Id of the Business.
Body
application/json
Response
OK
⌘I