https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/templates?apiKey={{apiKey}}
The value of environment {{env}} variable depends upon your datacenter. Refer to the Environment page for more details.
{
"isGlobal": false,
"title": "Template created via API",
"emailSubject": "Survey Invitation",
"content": "Hello,\r\n\r\nWe would appreciate your feedback in our online survey. All responses will remain confidential and secure. Thank you in advance for your valuable insights. Your input will be used to ensure that we continue to meet your needs. We appreciate your trust and look forward to serving you in the future.\r\n\r\nWe have contracted with QuestionPro, an independent research firm, to field your confidential survey responses. Please click on this link to complete the survey:\r\n\r\n<SURVEY_LINK>\r\n\r\nPlease contact email@domain.com with any questions.\r\n\r\nThank You "
}
curl --request POST \
--url 'https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/templates?apiKey={{apiKey}}' \
--header 'Content-Type: application/json' \
--data '{
"isGlobal": false,
"title": "Template created via API",
"emailSubject": "Survey Invitation",
"content": "Hello,\r\n\r\nWe would appreciate your feedback in our online survey. All responses will remain confidential and secure. Thank you in advance for your valuable insights. Your input will be used to ensure that we continue to meet your needs. We appreciate your trust and look forward to serving you in the future.\r\n\r\nWe have contracted with QuestionPro, an independent research firm, to field your confidential survey responses. Please click on this link to complete the survey:\r\n\r\n<SURVEY_LINK>\r\n\r\nPlease contact email@domain.com with any questions.\r\n\r\nThank You "
}'
import requests
url = "https://{{env}}.questionpro.com/a/api/v2/surveys/{{survey-id}}/templates"
querystring = {"apiKey":"{{apiKey}}"}
payload = "{\n\t\"isGlobal\": \"false\",\n\t\"title\": \"Template created via API\"\n \n\t\"emailSubject\": \"Survey Invitation\",\n\t\"content\": \"Hello,\r\n\r\nWe would appreciate your feedback in our online survey. All responses will remain confidential and secure. Thank you in advance for your valuable insights. Your input will be used to ensure that we continue to meet your needs. We appreciate your trust and look forward to serving you in the future.\r\n\r\nWe have contracted with QuestionPro, an independent research firm, to field your confidential survey responses. Please click on this link to complete the survey:\r\n\r\n<SURVEY_LINK>\r\n\r\nPlease contact email@domain.com with any questions.\r\n\r\nThank You \"\n}"
headers = {'Content-Type': 'application/json'}
response = requests.request("POST", url, data=payload, headers=headers, params=querystring)
print(response.text)
{
"response": {
"emailTemplateID": 100006,
"userID": 1234567,
"surveyID": 9876543,
"type": 2,
"isGlobal": false,
"draft": false,
"title": "Template created via API",
"emailSubject": "Survey Invitation",
"content": "Hello,\r\n\r\nWe would appreciate your feedback in our online survey. All responses will remain confidential and secure. Thank you in advance for your valuable insights. Your input will be used to ensure that we continue to meet your needs. We appreciate your trust and look forward to serving you in the future.\r\n\r\nWe have contracted with QuestionPro, an independent research firm, to field your confidential survey responses. Please click on this link to complete the survey:\r\n\r\n<SURVEY_LINK>\r\n\r\nPlease contact email@domain.com with any questions.\r\n\r\nThank You"
}
}
{
"$schema": "http://json-schema.org/draft-06/schema# ",
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"surveyID": {
"type": "integer"
},
"draft": {
"type": "boolean"
},
"isGlobal": {
"type": "boolean"
},
"emailTemplateID": {
"type": "integer"
},
"type": {
"type": "integer"
},
"title": {
"type": "string"
},
"userID": {
"type": "integer"
},
"emailSubject": {
"type": "string"
},
"content": {
"type": "string"
}
},
"additionalProperties": false,
"required": [
"surveyID",
"draft",
"isGlobal",
"emailTemplateID",
"type",
"title",
"userID",
"emailSubject",
"content"
]
}
},
"additionalProperties": false,
"required": [
"response"
]
}
{
"response": {
"error": {
"docs": www.questionpro.com/api/error-codes.html
"name": "BAD_REQUEST",
"httpStatusCode": 400,
"id" : "1000",
"message": "Invalid URL parameters",
"resourceUrl":"resource_url"
}
}
}
{
"$schema": "http://json-schema.org/draft-06/schema# ",
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"docs": {
"type": "string"
},
"resourceUrl": {
"type": "string"
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"httpStatusCode": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"docs",
"resourceUrl",
"name",
"id",
"message",
"httpStatusCode"
]
}
},
"additionalProperties": false,
"required": [
"error"
]
}
},
"additionalProperties": false,
"required": [
"response"
]
}
{
"response": {
"error": {
"docs": www.questionpro.com/api/error-codes.html
"name": "UNAUTHORIZED",
"httpStatusCode": 401,
"id" : "1010",
"message": "Incorrect API Key",
"resourceUrl":"resource_url"
}
}
}
{
"$schema": "http://json-schema.org/draft-06/schema# ",
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"docs": {
"type": "string"
},
"resourceUrl": {
"type": "string"
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"httpStatusCode": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"docs",
"resourceUrl",
"name",
"id",
"message",
"httpStatusCode"
]
}
},
"additionalProperties": false,
"required": [
"error"
]
}
},
"additionalProperties": false,
"required": [
"response"
]
}
{
"response": {
"error": {
"docs": www.questionpro.com/api/error-codes.html
"name": "FORBIDDEN",
"httpStatusCode": 403,
"id" : "1013",
"message": "The user does not have permission to access the resource",
"resourceUrl":"resource_url"
}
}
}
{
"$schema": "http://json-schema.org/draft-06/schema# ",
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"docs": {
"type": "string"
},
"resourceUrl": {
"type": "string"
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"httpStatusCode": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"docs",
"resourceUrl",
"name",
"id",
"message",
"httpStatusCode"
]
}
},
"additionalProperties": false,
"required": [
"error"
]
}
},
"additionalProperties": false,
"required": [
"response"
]
}
{
"response": {
"error": {
"docs": www.questionpro.com/api/error-codes.html
"name": "NOT_FOUND",
"httpStatusCode": 404,
"id" : "1040",
"message": "The resource that you're trying to access doesn't exist",
"resourceUrl":"resource_url"
}
}
}
{
"$schema": "http://json-schema.org/draft-06/schema# ",
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"docs": {
"type": "string"
},
"resourceUrl": {
"type": "string"
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"httpStatusCode": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"docs",
"resourceUrl",
"name",
"id",
"message",
"httpStatusCode"
]
}
},
"additionalProperties": false,
"required": [
"error"
]
}
},
"additionalProperties": false,
"required": [
"response"
]
}
{
"response": {
"error": {
"docs": www.questionpro.com/api/error-codes.html
"name": "INTERNAL_SERVER_ERROR",
"httpStatusCode": 500,
"id" : "1026",
"message": "We are not able to process your request",
"resourceUrl":"resource_url"
}
}
}
{
"$schema": "http://json-schema.org/draft-06/schema# ",
"type": "object",
"properties": {
"response": {
"type": "object",
"properties": {
"error": {
"type": "object",
"properties": {
"docs": {
"type": "string"
},
"resourceUrl": {
"type": "string"
},
"name": {
"type": "string"
},
"id": {
"type": "string"
},
"message": {
"type": "string"
},
"httpStatusCode": {
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"docs",
"resourceUrl",
"name",
"id",
"message",
"httpStatusCode"
]
}
},
"additionalProperties": false,
"required": [
"error"
]
}
},
"additionalProperties": false,
"required": [
"response"
]
}