# Overview


Welcome to the Dropthought Platform API.

DropThought Platform uses API key to allow access to their Platform via API.

You can request a new API key from our Customer Support Team.

Notice

This document, including all contents herein, and the Dropthought Platform API are the confidential information and the intellectual property of Dropthought and are not to be distributed or otherwise made available to any third party. The Dropthought Platform API, and your use of the Dropthought Platform API, is governed by and subject to the Dropthought Services Terms of Use.

# Considerations


The Dropthought Platform API is REST based and uses the JSON format for requests and responses.

Where a dynamic value is required in the examples below, the {token} format is used, suggesting that the caller needs to supply the appropriate value of the token in question (without including the { or } characters).

Where curl examples are given, the –d @filename.json approach is used, indicating that the request body should be placed into a file named filename.json in the current directory. Each of the curl examples in this document should be considered a single line on the command-line, regardless of how they appear in print.

# Authentication


POST /api/authenticate/login

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
email String false email account of the registered user
password String false password associated with the registered email in the platform

# Response fields

Path Type Description
result.accessToken string token to be used in header as authorization bearer for api
result.refreshToken string token to renew the access token
success boolean true (or) false

# Example Request

curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/authenticate/login' \
-H 'Content-Type: application/json' \
-d '{"email": "{email}", "password": "{password}"'

# Example Response

{
  "result": {
    "accessToken": "abcdefZYXg",
    "refreshToken": "abcdefZYXgwerwe"
  },
  "success": true
}

Once Dropthought backoffice staff have added your organization as a payor within the Dropthought platform sandbox, they will create you a payor Id, an API key and an API secret and share these with you in a secure manner.

You will need to use these values to authenticate with the Dropthought platform in order to gain access to the APIs. The steps to take are explained in the following:

create a string comprising the API key (e.g. abcdef) and API secret (e.g. 123456) with a colon between them. E.g. abcdef:123456

base64 encode this string. E.g.: YWJjZGVmOjEyMzQ1Ngo=

create an HTTP Authorization header with the value set to e.g. Basic YWJjZGVmOjEyMzQ1Ngo=

perform the Dropthought authentication REST call using the HTTP header created above e.g. via curl:

# Token Management

# Renew


POST /api/token/renew

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
refreshToken String false refresh token to renew the access token

# Response fields

Path Type Description
accessToken string token to be used in header as authorization bearer for api
refreshToken string token to renew the access token

# Example Request

curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/token/renew' \
-H 'Content-Type: application/json' \
-d '{"refreshToken": "{abcdefZYXgwerwe}"'

# Example Response

{
    "accessToken": "abcdefZYXg",
    "refreshToken": "abcdefZYXgwerwe"
}

# Account

# Reset Password


POST /api/authenticate/resetpassword

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
password string false the new password for the user
modifiedBy string false unique id of the user

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' -d '{ \
 	"password": "Dropthou**&&**12", \
 	"modifiedBy": "d9be090a-****-****-bda1-be94eac6b401" \
 }' 'https://{environment}/dtapp/api/authenticate/resetpassword'

# Example Response

{
  "success": true
}

# Get Access Token Details


GET /api/account/accesstoken

# Path Parameters


No Parameters

# Query Parameters

No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result authentication authentication object

# Authentication object

Path Type Description
roleId int role id of the user (1-admin, 2-read only, 3-read write)
eulaStatus int eula status
userUUID string unique id of the user
businessUUID string unique id of the business

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' 'https://{environment}/dtapp/api/account/accesstoken'

# Example Response

{
	"result": {
		"roleId": 1,
		"eulaStatus": 1,
		"userUUID": "820b175e-****-****-acfe-b0e55ed6904f",
		"businessUUID": "34f48e9a-****-****-b9a5-89d947196a2e"
	},
	"success": true
}

# Get User Account


GET /api/user/:userUniqueId

# Path Parameters

Path Type Description
userUniqueId string Unique identifier of user

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result user user object

# User object

Path Type Description
user_id int unique id of the user
country_id int unique id of the country
username string username
first_name string first name of the user
last _name string last name of the user
user_email string email of the user
phone string phone number of the user
confirmation_status string flag indicating confirmation status
push_notification string flag indicating push notification status
created_time datetime user creation date and time
modified_time datetime user updation date and time
user_uuid string unique id of the user
eula_status string flag indicating the eula status
business_id int business id of the user
profile_type string profile type of the user

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/user/ab7e4d4d-***-****-b659-6676ee3fa87c'

# Example Response

{
	"result": [{
		"user_id": 7,
		"country_id": 4,
		"first_name": "A***e",
		"last_name": "A******i",
		"username": "a***@dropthought.com",
		"user_email": "a***@dropthought.com",
		"phone": "4*********5",
		"confirmation_status": "1",
		"push_notification": "0",
		"created_time": "2019-06-10 06:28:39",
		"modified_time": "2019-11-21 11:36:33",
		"user_uuid": "ab7e4d4d-****-****-b659-6676ee3fa87c",
		"eula_status": "1",
		"business_id": 7,
		"profile_type": "Admin"
	}],
	"success": true
}

# Update User Account


PUT /api/user/:userUniqueId

# Path Parameters

Path Type Description
userUniqueId string Unique identifier of user

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
firstName string true first name of the user
lastName string true last name of the user
pushNotification string true push notification setting (1-enable, 0-disable )
userEmail string true user email of the user
username string true user name of the user
roleId int true user role (1-admin, 2-read only, 3-read write )
modifiedBy string true unique id of the user who is updating the user

# Response fields

Path Type Description
success boolean true (or) false
result user user object

# User object

Path Type Description
user_id int unique id of the user
country_id int unique id of the country
username string username
first_name string first name of the user
last _name string last name of the user
user_email string email of the user
phone string phone number of the user
confirmation_status string flag indicating confirmation status
push_notification string flag indicating push notification status
created_time datetime user creation date and time
modified_time datetime user updation date and time
user_uuid string unique id of the user
eula_status string flag indicating the eula status
business_id int business id of the user
profile_type string profile type of the user

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \ 
 	"firstName": "A***e", \ 
 	"lastName": "A****", \ 
 	"userEmail": "a***e%40yopmail.com", \ 
 	"username": "a***%40yopmail.com", \ 
	"pushNotification": 1, \ 
 	"roleId": 1, \ 
 	"modifiedBy": "a9b65e9b-****-****-bd88-2cd04c25c82b" \ 
 }' 'https://{environment}/dtapp/api/user/a9b65e9b-****-****-bd88-2cd04c25c82b'


# Example Response

{
	"success": true,
	"result": [{
		"user_id": 115,
		"country_id": 4,
		"full_name": "A***",
		"first_name": "******",
		"last_name": "A***",
		"username": "a***@yopmail.com",
		"user_email": "a**@yopmail.com",
		"phone": "408*******0",
		"confirmation_status": "1",
		"push_notification": "1",
		"created_time": "2019-06-10 06:28:39",
		"modified_time": "2019-11-21 11:36:33",
		"user_uuid": "a9b65e9b-5c93-****-****-2cd04c25c82b",
		"eula_status": "1",
		"business_id": 70,
		"profile_type": "Admin"

	}]
}

# Get Account Settings


GET /api/settings/business/:businessUniqueId

# Path Parameters

Path Type Description
businessUniqueId string Unique identifier of business

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result settings settings object

# Settings object

Path Type Description
email string 1 - enable email notifications, 0 - disable email notifications
sms string 1 - enable sms notifications, 0 - disable sms notifications
qrcode string 1 - display qrcode, 0 - hide qrcode
logic string 1 - enable skip logic, 0 - disable skip logic
respondent string 1 - enable respondents screen, 0 - disable respondents screen
segment string 1 - enable respondents screen, 0 - disable respondents screen
shareLink string 1 - enable respondents screen, 0 - disable respondents screen
textAnalytics string 1 - enable respondents screen, 0 - disable respondents screen
businessLogo string business Logo as base64 string
businessTheme string hexadecimal color theme for the end user
businessRatings string business ratings which were enabled
businessEmailAlert string 1 - send emails for account users, 0 - prevent emails for business users

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/settings/business/54aa0a2e-****-****-8ed7-a329bce02199'


# Example Response

{
	"success": true,
	"result": [{
		"email": "1",
		"sms": "1",
		"qrcode": "1",
		"logic": "0",
		"respondent": "1",
		"segment": "1",
		"shareLink": "1",
		"textAnalytics": "0",
		"businessLogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAA",
		"businessTheme": "#6f5bb7",
		"businessRatings": "4:5:6:7:8:9:10",
		"businessEmailAlert": "0"
	}]
}

# Update Account Settings


PUT /api/settings/business/:businessUniqueId

# Path Parameters

Path Type Description
businessUniqueId string Unique identifier of business

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
email string true 1 - enable email notifications, 0 - disable email notifications
sms string true 1 - enable sms notifications, 0 - disable sms notifications
qrcode string true 1 - display qrcode, 0 - hide qrcode
logic string true 1 - enable skip logic, 0 - disable skip logic
respondent string true 1 - enable respondents screen, 0 - disable respondents screen
segment string true 1 - enable respondents screen, 0 - disable respondents screen
shareLink string true 1 - enable respondents screen, 0 - disable respondents screen
textAnalytics string true 1 - enable respondents screen, 0 - disable respondents screen
businessLogo string true business Logo as base64 string
businessTheme string true hexadecimal color theme for the end user
businessRatings string true business ratings which were enabled
businessEmailAlert string true 1 - send emails for account users, 0 - prevent emails for business users

# Response fields

Path Type Description
success boolean true (or) false
result settings settings object

# Settings object

Path Type Description
email string 1 - enable email notifications, 0 - disable email notifications
sms string 1 - enable sms notifications, 0 - disable sms notifications
qrcode string 1 - display qrcode, 0 - hide qrcode
logic string 1 - enable skip logic, 0 - disable skip logic
respondent string 1 - enable respondents screen, 0 - disable respondents screen
segment string 1 - enable respondents screen, 0 - disable respondents screen
shareLink string 1 - enable respondents screen, 0 - disable respondents screen
textAnalytics string 1 - enable respondents screen, 0 - disable respondents screen
businessLogo string business Logo as url
businessTheme string hexadecimal color theme for the end user
businessRatings string business ratings which were enabled
businessEmailAlert string 1 - send emails for account users, 0 - prevent emails for business users

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \ 
       "email": "1", \ 
       "sms": "1", \ 
       "qrcode": "1", \ 
       "logic": "0", \ 
       "respondent": "1", \ 
       "segment": "1", \ 
       "shareLink": "1", \ 
       "textAnalytics": "0", \ 
       "businessLogo": "data:image/png;base64,iVBORw0KGgoAA", \ 
       "businessTheme": "#6f5bb7", \ 
       "businessRatings": "4:5:6:7:8:9:10", \ 
       "businessEmailAlert": "0" \ 
     }' 'https://{environment}/dtapp/api/settings/business/54aa0a2e-****-****-8ed7-a329bce02199'


# Example Response

{
	"success": true,
	"result": [{
		"email": "1",
		"sms": "1",
		"qrcode": "1",
		"logic": "0",
		"respondent": "1",
		"segment": "1",
		"shareLink": "1",
		"textAnalytics": "0",
		"businessLogo": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAGQAA",
		"businessTheme": "#6f5bb7",
		"businessRatings": "4:5:6:7:8:9:10",
		"businessEmailAlert": "0"
	}]
}

# Get Business Configurations


GET /businessconfig/business/:businessId

# Path Parameters

Path Type Description
businessId string unique identifier of business

# Query Parameters


No Parameters

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result result map containing business config
# result object
Path Type Description
email string 1 - enable email publish , 0 - disable email publish
sms string 1 - enable sms publish , 0 - disable sms publish
qrcode string 1 - enable qrcode publish , 0 - disable qrcode publish
shareLink string 1 - enable shareabe link publish , 0 - disable shareable link publish
kiosk string 1 - enable kiosk publish , 0 - disable kiosk publish
logic string 1 - enable skip logic, 0 - disable skip logic
respondent string 1 - enable respondents screen, 0 - disable respondents screen
segment string 1 - enable segments , 0 - disable segments
textAnalytics string 1 - enable text analytics , 0 - disable text analytics
metadataQuestion string 1 - enable metadata question , 0 - disable metadata question
contractStartDate string business contract start date
contractEndDate string business contract end date
businessConfigId string unique identifier of business config

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/businessconfig/business/d2960650-****-****-94b8-91243f780e13'

# Example Response

{
  "result": {
    "email": "1",
    "sms": "1",
    "qrcode": "1",
    "logic": "1",
    "respondent": "1",
    "segment": "1",
    "kiosk": "1",
    "businessConfigId": "8636a5e4-****-****-90f3-c7b25a3c6d6c",
    "businessId": 21,
    "sharableLink": "1",
    "textAnalytics": "1",
    "metadataQuestion": "1",
    "contractStartDate": "2020-05-25 21:02:30.0",
    "contractEndDate": ""
  },
  "success": true
}

# Program

# Get Programs


GET /api/programs

# Path Parameters


No Parameters

# Query Parameters

Path Type Description
state string active (or) drafts (or) scheduled

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[program] array of program objects
# program object
Path Type Description
anonymous boolean indicates whether user can provide feedback anonymously
language en current language of program object
languages array[language] list of language the program is authored
pages array[page] page objects
rules rule rule object
state string current state of program
surveyEndDate datetime program expires at the given date & time
surveyId string unique id of program entity
surveyName string name of the program
surveyProperty object describes the program properties like logo and color
timezone string timezone of the program to be triggered
surveyStartDate datetime program gets activated at the given date & time
thankYouText string thank you note for the program
welcomeText string welcome message for the program
# survey property object
Path Type Description
image string byte array of logo to be displayed in the program header
hexCode string hex color code of the program header
# language object
Name Type Description
en string english
ar string arabic
# page object
Name Type Description
pageId string unique id of the page
pageTitle string title of the page in the program
questions array[question] question objects
# rules object
Name Type Description
id string unique id of rule ( purely for UI)
toPageId string unique page id
condition string unique question id + operator(ansr , nasr , answ , nasw)
mode string noChange ( purely for UI )
# operators object
Name Type Description
ansr string answered
nasr string not answered
answ string answered with index answ.
nasw string not answered with index answ.
# question object
Name Type Description
category string create the question against a category
mandatory boolean question is mandatory in the page of program
options array[string] string answer labels for question
questionBrand string indicate brand name in NPS question or indicate multiple choice question taking "other" responses
questionId string unique id of the page
questionTitle string the question for which an answer is expected
scale string scale of the rating or slider
subType string applicable only for rating question (smiley or slider)
type string type of question ( rating , multiChoice , singleChoice , open)

# Example Request

curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/programs?state=all' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \

# Example Response

{
	"result": [{
			"anonymous": false,
			"language": "en",
			"languages": [
				"en"
			],
			"pageOrder": [
				"b5d37ea6-9dbc-4f47-a918-cd61c2d4699b"
			],
			"pages": [{
				"pageId": "b5d37ea6-9dbc-4f47-a918-cd61c2d4699b",
				"pageTitle": "Mandatory Questions",
				"questions": [{
						"category": "metric 5",
						"mandatory": false,
						"options": [
							"Strongly Disagree",
							"Disagree",
							"Neutral",
							"Agree",
							"Strongly Agree"
						],
						"questionBrand": "",
						"questionId": "2a6c8366-43a6-4a59-af26-e98311809d47",
						"questionTitle": "Rating question",
						"scale": "5",
						"subType": "slider",
						"type": "rating"
					},
					{
						"mandatory": false,
						"questionBrand": "",
						"questionId": "ca1486d9-ec64-4f4f-9192-67105e68689a",
						"questionTitle": "open question",
						"scale": "0",
						"type": "open"
					}
				]
			}],
			"rules": {},
			"state": "active",
			"surveyEndDate": "2020-10-08 07:25:47",
			"surveyId": "898b0023-27c0-40ea-8cda-3234396767b6",
			"surveyName": "Test source of the feedback",
			"surveyProperty": {
				"image": "data:image/png;base64,iVBORw0KGgoAAAANS",
				"hexCode": "#6f5ba7"
			},
			"surveyStartDate": "2019-10-08 07:25:47",
			"surveyStatus": "active",
			"thankYouText": "",
			"timezone": "America/Los_Angeles",
			"welcomeText": ""
		},
		{
			"anonymous": false,
			"language": "en",
			"languages": [
				"en"
			],
			"pageOrder": [
				"507365c9-118c-4ca1-bcc7-c3451ef3614f"
			],
			"pages": [{
				"pageId": "507365c9-118c-4ca1-bcc7-c3451ef3614f",
				"pageTitle": "Mandatory Questions",
				"questions": [{
						"mandatory": false,
						"options": [
							"Poor",
							"Fair",
							"Good",
							"Excellent"
						],
						"questionId": "a56145da-b3c7-47c0-9ebd-b2c3367ad463",
						"questionTitle": "rating question",
						"scale": "4",
						"subType": "slider",
						"type": "rating"
					},
					{
						"mandatory": false,
						"questionBrand": "",
						"questionId": "99a684a8-a27f-4697-b88e-0958c58f4cb1",
						"questionTitle": "open question",
						"scale": "0",
						"type": "open"
					},
					{
						"mandatory": false,
						"options": [
							"Not at all Likely",
							"Extremely Likely"
						],
						"questionBrand": "Company A",
						"questionId": "638106f6-a2e2-47f5-8bad-6dec61a9bb14",
						"questionTitle": "On a scale of 0-10, how likely are you to recommend our business to a friend or colleague?",
						"scale": "11",
						"subType": "slider",
						"type": "nps"
					}, {
						"mandatory": true,
						"metaDataType": null,
						"options": [
							"A",
							"B",
							"C"
						],
						"questionBrand": "other",
						"questionId": "aec40991-ba7e-4027-aada-55788c72f072",
						"questionTitle": "Multiple choice",
						"scale": "3",
						"type": "multiChoice"
					}
				]
			}],
			"rules": {},
			"state": "active",
			"surveyEndDate": "2020-09-30 03:48:21",
			"surveyId": "48e04f7b-8e1e-430d-99b9-b8e592f92082",
			"surveyName": "test anonymous with nps",
			"surveyProperty": {
				"image": "data:image/png;base64,iVBORw0",
				"hexCode": "#6f5ba7"
			},
			"surveyStartDate": "2019-09-30 03:48:21",
			"surveyStatus": "active",
			"thankYouText": "",
			"timezone": "America/Los_Angeles",
			"welcomeText": ""
		}
	],
	"success": true
}

# Get Program By Id


GET /api/programs/:programUniqueId

# Path Parameters

Path Type Description
programUniqueId string Unique identifier of program

# Query Parameters

Path Type Description
language string en or ar to get respective program object

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result program program object
# survey object
Path Type Description
anonymous boolean indicates whether user can provide feedback anonymously
language string current language of program object
languages array[language] list of language the program is authored
pages array[page] page objects
rules rule rule object
surveyEndDate datetime program expires at the given date & time
surveyId string unique id of program entity
surveyName string name of the program
surveyProperty object describes the program properties like logo and color
timezone string timezone of the program to be triggered
surveyStartDate datetime program gets activated at the given date & time
thankYouText string thank you note for the program
welcomeText string welcome message for the program
# survey property object
Path Type Description
image string byte array of logo to be displayed in the program header
hexCode string hex color code of the program header
# language object
Name Type Description
en string english
ar string arabic
# page object
Name Type Description
pageId string unique id of the page
pageTitle string title of the page in the program
questions array[question] question objects
# rule object
Name Type Description
pageId array[rules] unique id of the page
# rules object
Name Type Description
id string unique id of rule ( purely for UI)
toPageId string unique page id
condition string unique question id + operator(ansr , nasr , answ , nasw)
mode string noChange ( purely for UI )
# operators object
Name Type Description
ansr string answered
nasr string not answered
answ string answered with index answ.
nasw string not answered with index answ.
# question object
Name Type Description
category string create the question against a category
mandatory boolean question is mandatory in the page of program
options array[string] string answer labels for question
questionBrand string indicate brand name in NPS question or indicate multiple choice question taking "other" responses
questionId string unique id of the page
questionTitle string the question for which an answer is expected
scale string scale of the rating or slider
subType string applicable only for rating question (smiley or slider)
type string type of question ( rating , multiChoice , singleChoice , open)

# Example Request

curl -X POST 'https://{environment}-api.dropthought.com/dtapp/api/programs/{programUniqueId}' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}' \

# Example Response

{
  "success": true,
  "result": {
      "anonymous": false,
      "pages": [{
        "pageId": "2a2877b9-c2e2-4418-8068-83f25bb0edf3",
        "pageTitle": "Mandatory Questions",
        "questions": [{
            "category": "6e9355aa-15e3-41de-a796-a79305199bdc",
            "mandatory": true,
            "options": [
              "Poor",
              "Excellent"
            ],
			"questionBrand": "",
            "questionId": "2086a7ff-ff28-4c0e-8f49-93c228c61bab",
            "questionTitle": "Question 1",
            "questionTitle": "2",
            "scale":"2"
            "subType": "slider",
            "type": "rating"
          },
          {
            "mandatory": true,
            "questionId": "ae9c6046-c4a4-4d8c-9360-a3c0a04b68d5",
            "questionTitle": "Question 2",
            "type": "open"
          }
        ]
      }],
      "surveyEndDate": "2019-12-30 23:59:59",
      "surveyId": "5daf5b6f-fe4e-4bb3-8d6b-8b284856f935",
      "surveyName": "Survey 1",
      "surveyProperty": {
        "image": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAK8AAAA",
        "hexCode": "#6f5ba7"
      },
      "surveyStartDate": "2018-12-17 05:22:16",
      "thankYouText": "Thank you for taking the survey",
      "timezone": "America/Los_Angeles",
      "welcomeText": "Welcome to the survey"
    }
}

# Hide Program by Id


PUT /api/program/:programid

# Path Parameters

Path Type Description
programid string unique identifier of program

# Query Parameters

Path Type Optional Description
toValidate boolean true flag to indicate whether to validate the program or not

# Request fields

Path Type Optional Description
hide boolean false flag to indicate whether to hide or unhide program
anonymous boolean false indicates whether survey is anonymous or not
language string false language of the program
surveyId string false unique identifier of program
surveyName string false name of the program
timezone string false timezone of the program
surveyProperty object false describes the program properties like logo and color
# survey property object
Path Type Description
image string url of logo to be displayed in the program header
hexCode string hex color code of the program header
fileName string file name of the logo

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
 	"anonymous": true, \
 	"hide": true, \
    "language": "en", \
 	"surveyId" : "9220f9b4-****-****-ac69-b85310996297", \
 	"surveyName": "Employee Management", \
 	"surveyProperty": { \
 		"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/94e8cc24-62cf-44fc-bcfc-e0e24d067fb8-image.png", \
 		"hexCode": "#6abeae", \
 		"fileName": "image (11).png", \
 		"imageBase64": "" \
 	}, \
 	"timezone": "Asia/Calcutta" \
 }' 'https://test.dropthought.com/dtapp/api/program/9220f9b4-****-****-ac69-b85310996297?toValidate=false'

# Example Response

{
  "success": true,
  "result": []
}

# Get Programs Summary


GET /api/v2/programs/summary

# Path Parameters


No Parameters

# Query Parameters

Path Type Optional Description
state string true query programs of a particular state (drafts, scheduled, active, expired, all)
pageId int true page number for retrieving the programs. -1 if all programs needs to be listed
timeZone string true timezone of the user (America/Los_Angeles)
sort string true sort the programs in a particular order (dateCreated, responses, recentFeedback, score)
search string true search term to look for in a program name
language string true language of the program (en)
hide string true indicates flag to return non-hidden/hidden/both hidden & non-hidden surveys (0/1/2 Default - 0). 0 - returns non-hidden surveys, 1 - returns hidden surveys. 2 - returns both hidded & non-hidden surveys
channel string true holds the value of channel based on which the programs will be returned. By default it will be empty and all the programs will returned irrespective of channel
# Sample value for channel parameter
Sample Value Description
kiosk returns programs which has kiosk as a channel
uniqueLinks returns programs which has unique links as a channel
kiosk|email returns programs which has kiosk (or) emails as a channel
email|link|sms returns programs which has email (or) sms (or) sharable link as a channel
email|link|sms|qr|kiosk returns programs which has email (or) sms (or) sharable link (or) qr code (or) kiosk as a channel

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[program card] array of program card objects
# program card object
Path Type Description
surveyUUID string unique uuid of the program
surveyId int unique id of the program
endDate datetime program expires at the given date & time
programName string name of the program
feedbackCount int total number of responses in the program
currentDate datetime current date & time
startDate datetime program gets activated at the given date & time
status string current status of the program (active/expired)
channels array[string] channels that are enabled for that program
qrEnabled boolean specifies whether qrcode is enabled/disabled
linkEnabled boolean specifies whether sharable link is enabled/disabled
pastWeekResponses int number of responses collected in the previous week
currentWeekResponses int number of responses collected in the current week
averageCompletionTime string average time taken to complete the survey
languages array[string] available languages of the program
surveyFilterUUID string data filter applied to the survey
advanceScheduleMode boolean indicates whether the survey has been published as 'journey'
preferredMetric string name of the preferred metric set (nps/driven metric)
metricScore double metric score of the preferred metric (nps/driver metric)
metricPercentageChange double precentage change of preferred metric (nps/driver metric)
metricTrend array[trends] metric trend of preferred metric (nps/driver metric)
# metricTrend object
Path Type Description
metricTrend array[string] first object in the array will be the timestamp in the format (yy-mmm-yyyy), the second object will be the actual metric score (nps/driver metric)
# metric properties behavior
Condition Active program Expired Program
Responses present for the current week and past week metricScore : score for present week, metricTrend : trend for present week, metricPercentage : change will be present metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A
Responses present for the past week and no response for the current week metricScore : score for past week, metricTrend : N/A, metricPercentage : N/A metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A
Responses present for the present week and no response for the past week metricScore : score for present week, metricTrend : trend for present week, metricPercentage : change will be present metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A
No responses for the current and past week (Overall feeback count > 0) metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A metricScore : score for entire duration, metricTrend : N/A, metricPercentage : N/A

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'http://localhost:8080/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0'

# Example Request (Hide)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'http://localhost:8080/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=1'

# Example Request (with Channel(1))

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIs' 'https://stage-api.dropthought.com/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0&channel=kiosk'

# Example Request (with Channel(2))

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIs' 'https://stage-api.dropthought.com/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0&channel=kiosk|email'

# Example Request (with Channel(3))

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIs' 'https://stage-api.dropthought.com/dtapp/api/v2/programs/summary?state=active&pageId=1&timezone=Asia%2FCalcutta&sort=dateCreated&language=en&hide=0&channel=link|sms|qr|kiosk|email|uniqueLinks'

# Example Response

{
  "result": [
    {
      "surveyUUID": "f23f863b-****-493d-8043-e635a71c1302",
      "surveyId": 212,
      "pastWeekResponses": 0,
      "metricScore": 50,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-03-10 23:59:59",
      "preferredMetric": "NPS - Dropthought",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 2,
      "metricPercentageChange": 50,
      "linkEnabled": true,
      "channels": [
        "link",
        "email"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "Single NPS Test",
      "feedbackCount": 2,
      "metricTrend": [
        [
          "Timestamp",
          "NPS - Dropthought Score"
        ],
        [
          "10-Mar-2021",
          50
        ]
      ],
      "averageCompletionTime": "3-5 m",
      "startDate": "2021-03-10 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "68ceb7d9-****-4ccd-9978-5703aaffb22c",
      "surveyId": 206,
      "pastWeekResponses": 0,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-03-03 23:59:59",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 0,
      "linkEnabled": true,
      "channels": [
        "link"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "Feedbacks",
      "feedbackCount": 0,
      "averageCompletionTime": "2 m",
      "startDate": "2021-03-03 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "2e45e54d-****-4d2c-bc09-8820f41de386",
      "surveyId": 204,
      "pastWeekResponses": 0,
      "metricScore": 0,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-03-03 23:59:59",
      "preferredMetric": "NPS",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 1,
      "metricPercentageChange": 0,
      "linkEnabled": true,
      "channels": [
        "link",
        "email"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "Overview Test",
      "feedbackCount": 1,
      "metricTrend": [
        [
          "Timestamp",
          "NPS Score"
        ],
        [
          "03-Mar-2021",
          0
        ]
      ],
      "averageCompletionTime": "2 m",
      "startDate": "2021-03-03 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "77fb4e92-****-4622-aa10-736fdaed2b46",
      "surveyId": 203,
      "pastWeekResponses": 0,
      "metricScore": 100,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-03-03 23:59:59",
      "preferredMetric": "NPS",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 1,
      "metricPercentageChange": 100,
      "linkEnabled": true,
      "channels": [
        "link",
        "email"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "overview check",
      "feedbackCount": 1,
      "metricTrend": [
        [
          "Timestamp",
          "NPS Score"
        ],
        [
          "03-Mar-2021",
          100
        ]
      ],
      "averageCompletionTime": "2 m",
      "startDate": "2021-03-03 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "4debd346-****-4066-ac2f-9b43059b864a",
      "surveyId": 201,
      "pastWeekResponses": 3,
      "metricScore": 33.4,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-03-02 23:59:59",
      "preferredMetric": "NPS - Product",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 0,
      "linkEnabled": false,
      "channels": [
        "email"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "top bottom check",
      "feedbackCount": 3,
      "averageCompletionTime": "2 m",
      "startDate": "2021-03-02 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "8e95a543-****-4495-b8db-382206c08295",
      "surveyId": 199,
      "pastWeekResponses": 1,
      "metricScore": -100,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-02-26 23:59:59",
      "preferredMetric": "NPS - Product",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 2,
      "metricPercentageChange": -200,
      "linkEnabled": true,
      "channels": [
        "link"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "Employee Feedback",
      "feedbackCount": 3,
      "metricTrend": [
        [
          "Timestamp",
          "NPS - Product Score"
        ],
        [
          "04-Mar-2021",
          -100
        ]
      ],
      "averageCompletionTime": "2 m",
      "startDate": "2021-02-26 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "5e1b91ed-****-42a9-b91b-cd157a2776d9",
      "surveyId": 191,
      "pastWeekResponses": 1,
      "metricScore": 0,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-02-26 23:59:59",
      "preferredMetric": "NPS - Product",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 2,
      "metricPercentageChange": -100,
      "linkEnabled": true,
      "channels": [
        "link"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "Store Feedback",
      "feedbackCount": 3,
      "metricTrend": [
        [
          "Timestamp",
          "NPS - Product Score"
        ],
        [
          "04-Mar-2021",
          0
        ]
      ],
      "averageCompletionTime": "2 m",
      "startDate": "2021-02-26 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "c9e980cb-****-4fdb-8bcc-2e9b310d74e6",
      "surveyId": 190,
      "pastWeekResponses": 3,
      "metricScore": 33.4,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-02-25 23:59:59",
      "preferredMetric": "NPS",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 0,
      "linkEnabled": true,
      "channels": [
        "link"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "MCQ questions",
      "feedbackCount": 3,
      "averageCompletionTime": "2 m",
      "startDate": "2021-02-25 00:00:00",
      "status": "Active"
    },
    {
      "surveyUUID": "1673203f-****-4d4f-bef8-d592e80facc3",
      "surveyId": 188,
      "pastWeekResponses": 2,
      "metricScore": 3,
      "enableCard": true,
      "languages": [
        "en"
      ],
      "endDate": "2022-02-25 23:59:59",
      "preferredMetric": "dispatch",
      "surveyFilterUUID": "",
      "currentDate": "2021-03-10 16:33:32",
      "currentWeekResponses": 1,
      "metricPercentageChange": 66.7,
      "linkEnabled": true,
      "channels": [
        "link"
      ],
      "surveyFilters": [],
      "advanceScheduleMode": false,
      "programName": "Metric Test",
      "feedbackCount": 3,
      "metricTrend": [
        [
          "Timestamp",
          "dispatch"
        ],
        [
          "05-Mar-2021",
          3
        ]
      ],
      "metricScale": 3,
      "averageCompletionTime": "2 m",
      "startDate": "2021-02-25 00:00:00",
      "status": "Active"
    }
  ],
  "success": true
}

# Get Program Snapshot By Id


GET /program/:programid/snapshot

# Path Parameters

Path Type Description
programid string Unique identifier of program

# Query Parameters

Path Type Description (default)
language string language to get respective program object (en)
timezone string timezone of the request (America/Los_Angeles)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result program map map of program details
# program map
Path Type Description
anonymous boolean indicates whether survey is anonymous
surveyStatus string indicates whether survey is active
language string requested language of the program
languages array[language] list of language the program is authored
surveyEndDate datetime program expires at the given date & time
surveyId string unique id of program entity
surveyName string name of the program
surveyProperty object describes the program properties like logo and color
timezone string timezone of the program to be triggered
surveyStartDate datetime program gets activated at the given date & time
completionTime string average time taken for completion of survey
channels list list of channels through which program is published (link/sms/email/kiosk/qr)
skipLogic boolean indicates whether skip logic is present
metrics list[metrics] details of metrics present in the program
# survey property object
Path Type Description
image string aws url of the logo to be displayed in the program header
hexCode string hex color code of the program header
fileName string file name of the logo uploaded
# metrics object
Name Type Description
metricScore double indicates score for that particular metric
metricName string indicates metric name
metricScale int indicates metric scale
metricPercentageChange double indicates metric percentage change
# metric properties behavior
Condition Active program Expired program Draft/Scheduled program
Responses present for the current week and past week metricScore : score for present week, metricPercentageChange : change will be present N/A metricScore : -, metricPercentageChange : N/A
Responses present for the past week and no response for the current week metricScore : score for past week, metricPercentageChange : N/A N/A metricScore : -, metricPercentageChange : N/A
Responses present for the present week and no response for the past week metricScore : score for present week, metricPercentageChange : change will be present N/A metricScore : -, metricPercentageChange : N/A
No responses for the current and past week (Overall feeback count > 0) metricScore : score for entire duration, metricPercentageChange : N/A metricScore : score for entire duration, metricPercentageChange : N/A metricScore : -, metricPercentageChange : N/A

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/158f6edb-****-****-9d66-63e91cde0acb/snapshot?language=en&timezone=Asia%2FCalcutta'

# Example Response (Active program)

{
  "result": {
    "surveyStatus": "active",
    "surveyId": "158f6edb-****-****-9d66-63e91cde0acb",
    "languages": [
      "en"
    ],
    "timezone": "Asia/Calcutta",
    "language": "en",
    "surveyStartDate": "2021-07-09 10:54:48",
    "surveyProperty": {
      "image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
      "imageBase64": "",
      "fileName": "logo.png",
      "hexCode": "#6f5ba7"
    },
    "completionTime": "2",
    "surveyName": "Feedback survey",
    "channels": [
      "link"
    ],
    "skipLogic": false,
    "anonymous": false,
    "metrics": [
      {
        "metricScore": -25,
        "metricName": "NPS - BCT",
        "metricScale": 11,
        "metricPercentageChange": -25
      },
      {
        "metricScore": 0,
        "metricName": "NPS - DT",
        "metricScale": 11,
        "metricPercentageChange": 0
      },
      {
        "metricScore": 2,
        "metricName": "Booking",
        "metricScale": "5",
        "metricPercentageChange": 40
      },
      {
        "metricScore": 3.8,
        "metricName": "Employee Needs",
        "metricScale": "5",
        "metricPercentageChange": 76
      },
      {
        "metricScore": 3.8,
        "metricName": "Leadership and Management",
        "metricScale": "5",
        "metricPercentageChange": 76
      },
      {
        "metricScore": 4,
        "metricName": "Online Presence",
        "metricScale": "5",
        "metricPercentageChange": 80
      }
    ],
    "surveyEndDate": "2022-07-09 10:54:48"
  },
  "success": true
}

# Example Response (Draft program)

{
  "result": {
    "surveyStatus": "drafts",
    "surveyId": "4a6ceb7e-****-****-ae5d-bc30c3ed9e2c",
    "languages": [
      "en"
    ],
    "timezone": "Asia/Calcutta",
    "language": "en",
    "surveyStartDate": "2021-07-09 11:47:47",
    "surveyProperty": {
      "image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
      "imageBase64": "",
      "fileName": "logo.png",
      "hexCode": "#6f5ba7"
    },
    "completionTime": "2",
    "surveyName": "Feedback survey Copy 1",
    "channels": [],
    "skipLogic": false,
    "anonymous": false,
    "metrics": [
      {
        "metricScore": "-",
        "metricName": "NPS - DT",
        "metricScale": 11
      },
      {
        "metricScore": "-",
        "metricName": "NPS - BCT",
        "metricScale": 11
      },
      {
        "metricScore": "-",
        "metricName": "Booking",
        "metricScale": "5"
      },
      {
        "metricScore": "-",
        "metricName": "Employee Needs",
        "metricScale": "5"
      },
      {
        "metricScore": "-",
        "metricName": "Leadership and Management",
        "metricScale": "5"
      },
      {
        "metricScore": "-",
        "metricName": "Online Presence",
        "metricScale": "5"
      }
    ],
    "surveyEndDate": "2022-07-09 11:47:47"
  },
  "success": true
}

# Program Filter

# Create Program Filter


POST /api/surveyFilter

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
created_by string false unique id of the user
survey_id string false unique id of the program
filter_query string false filter query object
readable_query string false readable query object
filter_name string false name of the program filter
temporary_filter string false check for dynamic filter ("0"/"1")

# Response fields

Path Type Description
success boolean true (or) false
result result object array of program objects
Path Type Description
filterId string unique id of the program filter

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9lDEReSTRNa3dp7CpGTQnIJxMw' -d '{ \ 
 	"created_by": "31db4b0b-2c26-49ef-88f1-ea52bd3b501b", \ 
 	"survey_id": "d4640a9d-a243-4fa9-a369-ffae0a30ee8b", \ 
 	"filter_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni", \ 
 	"readable_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni", \ 
 	"filter_name": "Name filter", \
 	"temporary_filter": "0" \
 }' 'https://{env}/dtapp/api/surveyFilter'

# Example Response

{
  "result": {
    "filterId": "5a0732ca-25b8-44c5-be42-02fe42ceb81d"
  },
  "success": true
}

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' -d '{ \
    "created_by": "0e3becae-44f2-4da2-bc3e-14ebc9504096", \
    "survey_id": "7027053f-f2d1-4ec3-9042-86160c639f37", \
    "filter_query": "question.7027053f-f2d1-4ec3-9042-86160c639f37.8b5e7067-217a-4a13-906e-73d237ab6add.response>0", \
    "readable_query": "question.7027053f-f2d1-4ec3-9042-86160c639f37.8b5e7067-217a-4a13-906e-73d237ab6add.response>0", \
    "filter_name": "9EB-NzfPRP0aicj1", \
    "temporary_filter": "1" \
}' 'https: //test.dropthought.com/dtapp/api/surveyFilter'

# Example Response

{
  "result": {
    "filterId": "427fecdf-06da-4a3b-9f6a-a0cf14d111d1"
  },
  "success": true
}

# Update Program Filter


PUT /api/surveyFilter/:surveyFilterUniqueId

# Path Parameters

Path Type Description
surveyFilterUniqueId string unique id of the survey filter

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
modified_by string false unique id of the user
survey_id string false unique id of the program
filter_query string false filter query object
readable_query string false readable query object
filter_name string false name of the survey filter
filter_id string false unique id of the program filter

# Response fields

Path Type Description
success boolean true (or) false
filter_id string unique id of the program filter

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9bUvlDEReSTRNa3dp7CpGTQnIJxMw' -d '{ \ 
 	"modified_by": "31db4b0b-2c26-49ef-88f1-ea52bd3b501b", \ 
 	"survey_id": "d4640a9d-a243-4fa9-a369-ffae0a30ee8b", \ 
 	"filter_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Joe", \ 
 	"readable_query": "9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=John||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Jeni||9ba0ef2b-7401-42b5-b36b-7c9ef8386876.1726cdde-7ed4-4932-962f-5132f47be431.Name=Joe", \ 
 	"filter_name": "Name filter", \ 
 	"filter_id": "07b297db-948e-475e-8f67-350bb261ec7b" \ 
 } \ 
 ' 'https://{env}/dtapp/api/surveyFilter/07b297db-948e-475e-8f67-350bb261ec7b'

# Example Response

{
  "filterId": "07b297db-948e-475e-8f67-350bb261ec7b",
  "success": true
}

# Delete Program Filter


Delete /api/surveyFilter/:surveyFilterUniqueId

# Path Parameters

Path Type Description
surveyFilterUniqueId string unique id of the survey filter

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X DELETE --header 'Accept: text/html' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/surveyFilter/07b297db-948e-475e-8f67-350bb261ec7b'

# Example Response

{
  "success": true
}

# Tags

# Get Tags


GET /tag/user/:userId

# Path Parameters

Path Type Description
userId string unique id of the user

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result array[tag] array containing user tags

# tag object

Path Type Description
id integer unique id of the tag
tag_name String tag name
created_time datetime tag created date time
participant_groups array list of participant groups in tag
modified_time datetime tag modified date time
tag_uuid integer user identifier of the tag

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/tag/user/0ed3864a-****-****-85c1-2a5db49c1fee'

# Example Response

{
	"result": [{
			"id": 81,
			"tag_name": "ABC_data",
			"created_time": "2020-06-24 01:34:00.0",
			"participant_groups": "[149, 150, 151, 152]",
			"modified_time": "2020-06-24 01:34:00.0",
			"tag_uuid": "0fa7691f-****-4**0-8644-5d35654418f0"
		},
		{
			"id": 80,
			"tag_name": "locust_check",
			"created_time": "2020-06-24 00:39:53.0",
			"participant_groups": "[148]",
			"modified_time": "2020-06-24 00:39:53.0",
			"tag_uuid": "4a94de9e-a**c-4**0-8005-490c75574bc4"
		}
	]
}

# Get Tag Headers


GET /tag/:tagId/uploadheaders

# Path Parameters

Path Type Description
tagId string unique identifier of tag

# Query Parameters


No Parameters

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[tag headers] array containing tag headers
# headers object
Path Type Description
result array[string] indicates list headers associated with the tag

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/tag/cfe7d127-****-****-9026-dcef670a45db/uploadheaders'

# Example Response

{
  "result": [
    "Email",
    "First Name",
    "Last Name",
    "ID",
    "Status",
    "Location",
    "Job Title",
    "Seniority Years",
    "Supervisor Name"
    ],
  "success": true
}

# Get Tag Headers Based on Metadata Type


GET /participant/group/tag/:taguuid/metadata

# Path Parameters

Path Type Description
taguuid string Unique identifier of tag

# Query Parameters

Path Type Optional Description
type string true type of metadata (DATE)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[tag headers] array containing tag headers of mentioned type
# headers object
Path Type Description
result array[string] indicates list headers associated with the tag of specified metadata type

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/participant/group/tag/98af4beb-****-****-aa95-22bb53d09496/metadata?type=DATE'

# Example Response

{
  "result": {
    "DATE": [
      "Joining date"
    ]
  },
  "success": true
}

# Get Programs Based on Tag


GET /tag/:taguuid/surveys

# Path Parameters

Path Type Description
taguuid string Unique identifier of tag

# Query Parameters

Path Type Optional Description
language string true language of request

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[program names] array containing programs associated with the tag

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/tag/852a40bc-****-****-b858-8fcda212d7f7/surveys?language=en'

# Example Response

{
  "result": [
    "Covid 19 Survey",
    "Employee Engagement Survey",
    "Mood meter Survey",
    "Excel upload Program"
  ],
  "success": true
}

# Get Tag Details By Program


GET /tag/survey/:surveyId

# Path Parameters

Path Type Description
surveyId string Unique identifier of program

# Query Parameters

Path Type Optional Description
channel string true(email) type of distribution channel (email/sms)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[tag details] array containing details associated with the tag
# tag details
Path Type Description
sentDate string kickoff date of the program
sentParticipantGroupsIds array[int] group ids of tags associated with the program
additionalContacts int denotes number of additional contacts added to list
tagUUID string unique identifier of the tag
tagName string name of the tag
type string indicates distribution type (publish/journey/none)
newTagContacts map details of new contacts added in list {size: denotes number of new contacts, participantGroupId: group id of newly added tag}

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/tag/survey/fbd9c0af-****-4fa4-a64d-aaefe6419648?channel=email'

# Example Response

{
  "result": [
    {
      "sentDate": "2020-10-19 16:01:59",
      "sentParticipantGroupsIds": [
        471,
        455
      ],
      "additionalContacts": 1,
      "tagUUID": "852a40bc-****-4280-b858-8fcda212d7f7",
      "newTagContacts": {
        "size": 1,
        "participantGroupId": 473
      },
      "tagName": "Employee List",
      "type": "publish"
    }
  ],
  "success": true
}

# Participant

# Create Participant Group


POST v2/participant/group

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
participant object false object with participant details
participantGroup object true object with participant group details
tagId object false tag id or tag uuid of the list
# participant object
Path Type Optional Description
id int true id representing the participant
data array[string] true details of the participant
header array[string] true header values of the list
metadata array[string] true meta data mapping for the header
participantUUID string true indicates participant uuid
# participant group object
Path Type Optional Description
id int true id representing the participant group
active int false status of the participant group
name string false name of the participant group
participantGroupUUID string true participant group uuid

# Response fields

Path Type Description
success boolean true (or) false
result array[participant group] participant group details

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
 	"participant": { \
 		"data": [ \
 			["John", "john%40dropthought.com", "Chennai"] \
 		], \
 		"header": ["Name", "Email", "Location"], \
 		"metadata": ["NAME", "EMAIL", "String"], \
 		"cc": "DT" \
 	}, \
 	"participantGroup": { \
 		"active": 1, \
 		"name": "Store data" \
 	}, \
 	"tagId": "7" \
 }' 'https://test.dropthought.com/dtapp/api/v2/participant/group'

# Example Response

{
  "result": [
    {
      "id": 7,
      "tagName": "Store Data",
      "tagUUID": "a98fac6b-****-****-****-870af282b214",
      "active": 1,
      "participantGroups": "[7]",
      "createdBy": 18,
      "createdTime": "2020-07-13 11:01:25.0",
      "modifiedBy": 0,
      "modifiedTime": "2020-07-13 11:01:25.0",
      "partcipantGroupUUID": "029b6d1b-****-****-****-cc492750dd92"
    }
  ],
  "success": true
}

# Create Participant


POST v2/participant/

# Query Parameters

Path Type Optional Description
participantGroupUUID string false Unique identifier of particiant group

# Request fields

Path Type Optional Description
participant object false object with participant details

# participant object

Path Type Optional Description
id int true id representing the participant
data array[string] true details of the participant
header array[string] true header values of the list
metadata array[string] true meta data mapping for the header
participantUUID string true indicates participant uuid

# Response fields

Path Type Description
success boolean true (or) false
result array[participant] participant details

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: text/html' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \ 
  \ 
   "data": [ \ 
      "Akshara","Email@email.com","Chennai" \ 
   ], \ 
   "header": [ \ 
      "Name","Email","Location" \ 
   ], \ 
    \ 
   "metadata": [ \ 
      "Name","Email","String" \ 
   ], \ 
  \ 
 }' 'http://test.dropthought.com/dtapp/api/v2/participant?participantGroupUUID=18c7a20f-****-****-****-86157035a423'

# Example Response

{
  "result": [
    {
      "id": 2,
      "data": [
        "Akshara",
        "Email@email.com",
        "Chennai"
      ],
      "header": [
        "Name",
        "Email",
        "Location"
      ],
      "metaData": [
        "Name",
        "Email",
        "String"
      ],
      "questionMetadata": null,
      "participantUUID": "23e017a2-****-****-****-68dd1fd19e41",
      "createdBy": 7,
      "createdTime": "2020-07-21 17:44:14.0",
      "modifiedBy": null,
      "modifiedTime": null
    }
  ],
  "success": true
}

# Update Participant


PUT v2/participant/:participantuuid

# Path Parameters

Path Type Optional Description
participantUUID string false Unique identifier of particiant

# Query Parameters

Path Type Optional Description
participantGroupUUID string false Unique identifier of particiant group

# Request fields

Path Type Optional Description
participant object false object with participant details
# participant object
Path Type Optional Description
id int true id representing the participant
data array[string] true details of the participant
header array[string] true header values of the list
metadata array[string] true meta data mapping for the header
participantUUID string true indicates participant uuid

# Response fields

Path Type Description
success boolean true (or) false
result int 0 (or) 1

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \ 
    "data":[ \ 
       "meda3", \ 
       "meda3%40dropthought.com", \ 
       "1234566", \ 
       "Female", \ 
       "Alabama", \ 
       "SUV", \ 
       "Hyundai", \ 
       "Credit" \ 
    ], \ 
    "participantUUID":"3b34e503-****-****-****-9f82210a0ced", \ 
    "cc":"DT" \ 
 }' 'https://test.dropthought.com/dtapp/api/v2/participant/3b34e503-****-****-****-9f82210a0ced?participantGroupUUID=f4034907-****-****-****-3d8e3fe16b76'

# Example Response

{
  "result": 1,
  "success": true
}

# Template

# Get template by type


GET /templates

# Path Parameters

No path parameters

# Query Parameters

Path Type Mandatory Description
type string false type of the template (company, personal, dropthought)
language string false language of the template (en, ar, ml, ta)
timezone string false timezone of the request (America/Los_Angles)
pageid string false page number for retrieving the templates

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[template] templates list of same type
totalPages integer total pages count
# template object
Path Type Description
active string indicates template status(active)
anonymous boolean indicates whether user can provide feedback anonymously
averageCompletionTime string average completion time on template card
businessId string unique identifier of the business
language string current language of template object
languages array[language] list of languages the template is designed
pageOrder array[pageId] list of page Id
pages array[page] page objects
questionsCount integer total questions count in template
rules rule rule object
state string template state (company, personal, dropthought)
status string indicates template status (active)
templateId string unique id of the template
templateName string template name
templateProperty object describes the template properties like logo and color
templateUUID string unique identifier of template
thankYouText string thank you note for the template
timezone string timezone of the template
usedCount integer template used count
welcomeText string welcome message for the template
# language object
Name Type Description
en string english
ar string arabic
ta string tamil
ml string malayalam
# page object
Name Type Description
pageId string unique id of the page
pageTitle string title of the page in the template
questions array[question] question objects
# rules object
Name Type Description
id string unique id of rule ( purely for UI)
toPageId string unique page id
condition string unique question id + operator(ansr , nasr , answ , nasw)
mode string noChange ( purely for UI )
# operators object
Name Type Description
ansr string answered
nasr string not answered
answ string answered with index answ.
nasw string not answered with index answ.
# question object
Name Type Description
category string create the question against a category
mandatory boolean question is mandatory in the page of program
options array[string] string answer labels for question
questionBrand string indicate brand name in NPS question or indicate multiple choice question taking "other" responses
questionId string unique id of the page
questionTitle string the question for which an answer is expected
scale string scale of the rating or slider
subType string applicable only for rating question (smiley or slider)
type string type of question ( rating , multiChoice , singleChoice , open)
# template property object
Path Type Description
image string byte array of logo to be displayed in the template header
hexCode string hex color code of the program header

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/template/12270d2a-****-****-aafb-40b10a58c820?type=company&language=en&timezone=Asia%2FCalcutta'

# Example Response

{
	"success": true,
	"result": [{
		"active": "active",
		"anonymous": false,
		"averageCompletionTime": ">8 m",
		"businessId": "d2960650-e***-4**b-94b8-91243f780e13",
		"language": "en",
		"languages": [
			"en"
		],
		"pageOrder": [
			"c928e977-db83-4d32-86ca-3c5d79765d4b"
		],
		"pages": [{
			"pageId": "c928e977-db83-4d32-86ca-3c5d79765d4b",
			"pageTitle": "First Page",
			"questions": [{
					"mandatory": true,
					"metaDataType": null,
					"options": [
						"Not at all Likely",
						"Extremely Likely"
					],
					"questionBrand": "BCT",
					"questionId": "48b580f3-75fc-4017-91e5-4fd76558c4ca",
					"questionTitle": "On a scale of 0 - 10, how likely are you to recommend BCT to a friend or colleague?",
					"scale": "11",
					"subType": "slider",
					"type": "nps"
				},
				{
					"mandatory": true,
					"metaDataType": "Name",
					"questionBrand": "Type in your answer here",
					"questionId": "67707107-34ff-452f-beb0-9a84a7b3dd2c",
					"questionTitle": "Enter your name?",
					"scale": "0",
					"type": "open"
				}
			]
		}],
		"questionsCount": 3,
		"rules": {
			"6e266679-71dd-4631-9624-13f80119db05": [{
				"id": "e1w2e3sw-7991-46f8-9bd9-2b4958eb19ao",
				"toPageId": "thank-you-page",
				"condition": "e1b7e7b1-7991-46f8-9bd9-2b4958eb19a6.answ.9",
				"ruleIndex": 0
			}]
		},
		"state": "company",
		"status": "active",
		"templateId": "35",
		"templateName": "Template one",
		"templateProperty": {
			"image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
			"hexCode": "#6f5ba7"
		},
		"templateUUID": "12270d2a-****-4**c-aafb-40b10a58c820",
		"thankYouText": null,
		"timezone": "Asia/Calcutta",
		"usedCount": 0,
		"welcomeText": null
	}],
	"totalPages": 1
}

# Get Template Summary


GET /api/templates/summary

# Path Parameters


No Parameters

# Query Parameters

Path Type Optional Description
search string true template name
templateType string true type of template (personal, company, dropthought, all)
sortString string true sorting order (createdTime, modifiedTime)
pageNo int true numeric value of the page, -1 for listing all records
exactMatch boolean true exact string match or retrieve all records with matching string
language string true language of the program (en)
timeZone string true timezone of the request (America/Los_Angles)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[template] array of program objects
# template object
Path Type Description
state string template type (personal/company/dropthought)
questionsCount int number of questions in the template
averageCompletionTime string template completion estimate
languages array[string] list of languages supported by the template
templateUUID string unique identifier of the template
language string language requested
templateName string name of the template in the language
isEnabled string (true/false) indicating the template available in the language
status string status of the template (active/inactive)

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'http://{env}/dtapp/api/templates/summary?templateType=all&sortString=createdTime&pageNo=-1&exactMatch=false&language=en&timezone=America%2FLos_Angeles'

# Example Response

{
	"result": [{
			"active": "active",
			"state": "dropthought",
			"questionsCount": 2,
			"averageCompletionTime": "2",
			"languages": [
				"en"
			],
			"templateUUID": "fbb06de6-b**2-4**b-9eeb-58786dd46b61",
			"language": "en",
			"templateName": "Dropthought template",
			"isEnabled": "true",
			"createdBy": "ab7e4d4d-6**3-4**5-b659-6676ee3fa87c",
			"status": "active"
		},
		{
			"active": "active",
			"state": "company",
			"questionsCount": 2,
			"averageCompletionTime": "2",
			"languages": [
				"en"
			],
			"templateUUID": "fbb06de6-b**2-4**b-9eeb-58786dd46b62",
			"language": "en",
			"templateName": "performance",
			"isEnabled": "true",
			"createdBy": "ab7e4d4d-****-4**5-b**9-6676ee3fa87c",
			"status": "active"
		},
		{
			"active": "active",
			"state": "personal",
			"questionsCount": 2,
			"averageCompletionTime": "2",
			"languages": [
				"en"
			],
			"templateUUID": "33dadaa8-c**3-4**8-8b42-ea5d3d0ac48e",
			"language": "en",
			"templateName": "sample template",
			"isEnabled": "true",
			"createdBy": "ab7e4d4d-6**3-4ef5-b**9-6676ee3fa87c",
			"status": "active"
		}
	],
	"totalRecords": 3,
	"currentPageRecords": 3,
	"totalPages": 1
}

# Get template by Id


GET /template/:templateuuid

# Path Parameters

Path Type Description
templateuuid string Unique identifier of template

# Query Parameters

Path Type Mandatory Description
type string false type of the template (company, personal, dropthought)
language string false language of the template (en, ar, ml, ta)
timezone string false timezone of the request (America/Los_Angles)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result template template object
# template object
Path Type Description
active string indicates template status(active)
anonymous boolean indicates whether user can provide feedback anonymously
averageCompletionTime string average completion time on template card
businessId string unique identifier of the business
language string current language of template object
languages array[language] list of languages the template is designed
pageOrder array[pageId] list of page Id
pages array[page] page objects
questionsCount integer total questions count in template
rules rule rule object
state string template state (company, personal, dropthought)
status string indicates template status (active)
templateId string unique id of the template
templateName string template name
templateProperty object describes the template properties like logo and color
templateUUID string unique identifier of template
thankYouText string thank you note for the template
timezone string timezone of the template
usedCount integer template used count
welcomeText string welcome message for the template
# language object
Name Type Description
en string english
ar string arabic
ta string tamil
ml string malayalam
# page object
Name Type Description
pageId string unique id of the page
pageTitle string title of the page in the template
questions array[question] question objects
# rules object
Name Type Description
id string unique id of rule ( purely for UI)
toPageId string unique page id
condition string unique question id + operator(ansr , nasr , answ , nasw)
mode string noChange ( purely for UI )
# operators object
Name Type Description
ansr string answered
nasr string not answered
answ string answered with index answ.
nasw string not answered with index answ.
# question object
Name Type Description
category string create the question against a category
mandatory boolean question is mandatory in the page of program
options array[string] string answer labels for question
questionBrand string indicate brand name in NPS question or indicate multiple choice question taking "other" responses
questionId string unique id of the page
questionTitle string the question for which an answer is expected
scale string scale of the rating or slider
subType string applicable only for rating question (smiley or slider)
type string type of question ( rating , multiChoice , singleChoice , open)
# template property object
Path Type Description
image string byte array of logo to be displayed in the template header
hexCode string hex color code of the program header

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/template/12270d2a-****-****-aafb-40b10a58c820?type=company&language=en&timezone=Asia%2FCalcutta'

# Example Response

{
  "success": true,
  "result": {
    "active": "active",
    "anonymous": false,
    "averageCompletionTime": ">8 m",
    "businessId": "d2960650-e**3-**4b-94b8-91243f780e13",
    "language": "en",
    "languages": [
      "en"
    ],
    "pageOrder": [
      "c928e977-db83-4d32-86ca-3c5d79765d4b"
    ],
    "pages": [
      {
        "pageId": "c928e977-db83-4d32-86ca-3c5d79765d4b",
        "pageTitle": "First Page",
        "questions": [
          {
            "mandatory": true,
            "metaDataType": null,
            "options": [
              "Not at all Likely",
              "Extremely Likely"
            ],
            "questionBrand": "BCT",
            "questionId": "48b580f3-75fc-4017-91e5-4fd76558c4ca",
            "questionTitle": "On a scale of 0 - 10, how likely are you to recommend BCT to a friend or colleague?",
            "scale": "11",
            "subType": "slider",
            "type": "nps"
          },
          {
            "mandatory": true,
            "metaDataType": "Name",
            "questionBrand": "Type in your answer here",
            "questionId": "67707107-34ff-452f-beb0-9a84a7b3dd2c",
            "questionTitle": "Enter your name?",
            "scale": "0",
            "type": "open"
          }
        ]
      }
    ],
    "questionsCount": 3,
    "rules": { 
      "6e266679-71dd-4631-9624-13f80119db05": [{
        "id": "e1w2e3sw-7991-46f8-9bd9-2b4958eb19ao",
        "toPageId": "thank-you-page",
        "condition": "e1b7e7b1-7991-46f8-9bd9-2b4958eb19a6.answ.9",
        "ruleIndex": 0
        }] 
    },
    "state": "company",
    "status": "active",
    "templateId": "35",
    "templateName": "Template one",
    "templateProperty": {
      "image": "https://dt-program-banner.s3.us-west-1.amazonaws.com/a597f131-1cfe-4382-9780-2189425da87d-image.png",
      "hexCode": "#6f5ba7"
    },
    "templateUUID": "12270d2a-6***-4**c-aafb-40b10a58c820",
    "thankYouText": "",
    "timezone": "Asia/Calcutta",
    "usedCount": 0,
    "welcomeText": ""
  }
}

# Create Program From Template


POST /api/template/program

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
language string true language code (en, ar)
programName string false name for the program
templateType string true template type (dropthought, personal, company)
templateUUID string true unique id of the template
timezone string true timezone of the request

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \ 
 	"templateUUID": "42fff0d7-9**a-4**d-ac61-6564b1b7332b", \ 
 	"templateType": "dropthought", \ 
 	"language": "en", \ 
 	"timezone": "America/Los_Angeles", \ 
 	"programName": "Compensation And Benefits" \ 
 }' 'https://{env}/dtapp/api/template/program'

# Example Response

{
  "success": true,
  "programId": "3656668b-c**4-4**f-a64a-4dd46f2dd2f9"
}

# Preferred Metric

# Get Preferred Metric


GET /api/preferred/metric

# Path Parameters


No Path Parameters

# Query Parameters

Path Type Optional Description
language string true language of request

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result preferred metric [array] preferred metirc object
# preferred metric object
Path Type Description
metrics array[metrics] details of metrics associated with the program
programId string unique id of program entity
programName string name of the program
preferredMetric int indicates the metric id of the chosen preferred metric
preferredMetricName string indicates the metric name of the chosen preferred metric
# metrics object
Path Type Description
id int indicates the unique id of the metric
name string indicates the name of the metric

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/preferred/metric?language=en'

# Example Response

{
	"result": [{
			"metrics": [{
					"id": 5,
					"name": "Overall Rating"
				},
				{
					"id": 6,
					"name": "Ambience"
				},
				{
					"id": 7,
					"name": "Service Quality"
				},
				{
					"id": 8,
					"name": "Product Quality"
				}
			],
			"programId": "22875639-****-****-8ae0-f1e90bf53e23",
			"programName": "King's Bakery Feedback Survey",
			"preferredMetric": 7,
			"preferredMetricName": "Service Quality"
		},
		{
			"metrics": [{
					"id": 20,
					"name": "Appointment Follow-up"
				},
				{
					"id": "565c95c4-a0f7-****-af1d-fdef5ab2b6ea",
					"name": "NPS - Dropthought"
				}
			],
			"programId": "f23f863b-****-493d-8043-e635a71c1302",
			"programName": "Single NPS Test.",
			"surveyState": "active",
			"preferredMetric": "565c95c4-a0f7-****-af1d-fdef5ab2b6ea",
			"preferredMetricName": "NPS - Dropthought"
		},
		{
			"metrics": [{
					"id": "6978495b-da6c-****-ac45-5716dd953d64",
					"name": "NPS - Dropthought"
				},
				{
					"id": "0f9520fb-06d5-****-8f5a-adb1ea28ec28",
					"name": "NPS - Segments"
				},
				{
					"id": "7c170dc1-****-****-8222-144f3841ce78",
					"name": "NPS - Triggers"
				}
			],
			"programId": "8dd02d97-****-4b67-9ee5-9a40636024f8",
			"programName": "Multi NPS test",
			"surveyState": "active",
			"preferredMetric": "7c170dc1-****-****-8222-144f3841ce78",
			"preferredMetricName": "NPS - Triggers"
		}
	],
	"success": true
}

# Get Preferred Metric By Program Id


GET /preferred/metric/program/:programId

# Path Parameters

Path Type Description
programId string unique identifier of program

# Query Parameters

Path Type Description
language string en or ar to get respective program object

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result preferred metric preferred metric object
# preferred metric object
Path Type Description
metrics array[metrics] details of metrics associated with the program
programId string unique id of program entity
programName string name of the program
preferredMetric int indicates the metric id of the chosen preferred metric
preferredMetricName string indicates the metric name of the chosen preferred metric
# metrics object
Path Type Description
id int indicates the unique id of the metric
name string indicates the name of the metric

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/preferred/metric/program/6e86ed97-****-4030-9764-df3c4fcb7f2c?language=en'

# Example Response

{
  "result": {
    "metrics": [
      {
        "id": 6,
        "name": "Ambience"
      },
      {
        "id": 5,
        "name": "Overall Rating"
      },
      {
        "id": 7,
        "name": "Service Quality"
      },
      {
        "id": "d51f391d-****-414f-b8b7-77a6a1f5ca53",
        "name": "NPS - Kings Bakery"
      }
    ],
    "programId": "6e86ed97-****-4030-9764-df3c4fcb7f2c",
    "programName": "King's Bakery Review",
    "surveyState": "active",
    "preferredMetric": "d51f391d-****-414f-b8b7-77a6a1f5ca53",
    "preferredMetricName": "NPS - Kings Bakery"
  },
  "success": true
}

# Update Preferred Metric


PUT /api/preferred/metric

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
preferred metric array[preferred metric] false preferred metric selection info
# preferred metric object
Path Type Optional Description
metricId string false unique identifier of metric
programId string false unique identifier of program

# Example Request (1) - NPS

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[ \
   { \
     "metricId": "d51f391d-****-414f-b8b7-77a6a1f5ca53", \
     "programId": "22875639-****-****-8ae0-f1e90bf53e23" \
   } \
 ]' 'https://test.dropthought.com/dtapp/api/preferred/metric'

# Example Request (2) - Metric

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
 		"metricId": 7, \
 		"programId": "22875639-****-****-8ae0-f1e90bf53e23" \
 	}, \
 	{ \
  \
 		"metricId": 1, \
 		"programId": "ab76b79a-****-****-b956-2b2eb4ea1d29" \
 	} \
 ]' 'https://test.dropthought.com/dtapp/api/preferred/metric'

# Example Response

{
  "success": true
}

# Delete Preferred Metric By Id


DELETE /api/preferred/metric/program/:programId

# Path Parameters

Path Type Description
programId string unique id of the program

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/preferred/metric/program/15834fe9-****-****-a51b-0a567a463fbb'

# Example Response

{
  "success": true
}

# Event

# Post Event


POST /api/event

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
refId string true id representing the survey
data array[data] false array of data objects
metaData object true metadata object
token string true usertoken or survey token
# data object
Path Type Optional Description
dataId string false id representing the question
dataValue array[string] false responses provided as an array of strings. Other responses are available at the last index
otherFlag boolean true true when other responses are present
# metadata object
Path Type Optional Description
name string true survey participant name
email string true survey participant email
source string true (kiosk/qr/email/sms)

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \ 
 	"data": [{ \ 
 		"dataId": "200b6ca8-xxx-xxxx-9614-af118c1a9f5d", \ 
 		"dataValue": [3], \ 
 		"dataType": "rating" \ 
 	}, { \ 
 		"dataId": "ecd104d1-xxxx-xxxx-ab50-f73779501a96", \ 
 		"dataValue": ["good"], \ 
 		"dataType": "open" \ 
 	}, { \ 
 		"dataId": "7938aba8-xxxx-xxxx-8c4b-2867575f8f09", \ 
 		"dataValue": [9], \ 
 		"dataType": "rating" \ 
 	}, { \
		"dataId": "3c36b890-89a5-408d-a429-6bc05d4b9108", \
		"dataValue": ["Sample"], \
		"dataType": "singleChoice", \
		"otherFlag": true \
	}, { \
		"dataId": "aec40991-ba7e-4027-aada-55788c72f072", \
		"dataValue": [0, "Sample B"], \
		"dataType": "multiChoice", \
	    "otherFlag": true \
	}], \ 
 	"metaData": { \ 
 		"source": "api" \ 
 	}, \ 
 	"refId": "11a33f64-xxxx-xxxx-8b85-a06dcccc47e5", \ 
 	"token": "" \ 
 }' 'https://{environment}/dtapp/api/event'

# Example Response

{
  "success": true
}

# Alerts

# Get User Alerts


GET api/notification/user/:userUniqueId

# Path Parameters

Path Type Description
userUniqueId string Unique identifier of the user

# Query Parameters

Path Type Optional Description
language string true language requested (en)

# Request fields


No Request Payload

# Response fields

Path Type Description
result array[alert] array alert object
success boolean true (or) false
# alert object
Path Type Description
active string alerts enabled or disabled for the survey
questions array[questions] array of question alerts
surveyId string unique identifier of the survey
surveyName string name of the survey
# question alert object
Path Type Description
active string alerts enabled or disabled for the question
options array[string] array of ratings for the question
questionId string unique identifier of the question
questionName string name of the question
rule string alert rule
scale string scale of the question

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' 'https://{environment}/dtapp/api/notification/user/ab7****d-****-4ef5-b659-6676*****87c?language=en'

# Example Response

{
	"result": [{
		"active": "1",
		"surveyId": "1ffff17d-f8d8-48cc-9e2e-24f489e409f4",
		"questions": [{
			"rule": ">6",
			"scale": "11",
			"active": "1",
			"options": ["Not at all Likely", "Extremely Likely"],
			"questionId": "e4cc4fdd-3d3a-40c3-8847-5a88a36354a9",
			"questionName": "On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?"
		}],
		"surveyName": "Sample Survey"
	}, {
		"active": "0",
		"surveyId": "a119b547-b869-4070-bcd5-2382d373c21a",
		"questions": [{
			"rule": ">1",
			"scale": "11",
			"active": "0",
			"options": ["Not at all Likely", "Extremely Likely"],
			"questionId": "0213818a-b357-433d-a29a-8d6cdcc0bf4f",
			"questionName": "On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?"
		}],
		"surveyName": "NPS Survey"
	}],
	"success": true
}

# Update User Alerts


PUT api/notification/user/:userUniqueId

# Path Parameters

Path Type Description
userUniqueId string Unique identifier of user

# Query Parameters

Path Type Optional Description
language string true language requested (en)

# Request fields

Path Type Optional Description
alerts array[alert] false first name of the user
# alert object
Path Type Optional Description
active string false alerts enabled or disabled for the survey
questions array[questions] false array of question alerts
surveyId string false unique identifier of the survey
surveyName string false name of the survey
# question alert object
Path Type Optional Description
active string false alerts enabled or disabled for the question
options array[string] false array of ratings for the question
questionId string false unique identifier of the question
questionName string false name of the question
rule string false alert rule
scale string false scale of the question

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \ 
 	"active": "0", \ 
 	"surveyId": "2f046e00-****-4c58-9648-8c71***1f72", \ 
 	"questions": [{ \ 
 		"rule": ">2", \ 
 		"scale": "4", \ 
 		"active": "0", \ 
 		"options": [ \ 
 			"Poor", \ 
 			"Fair", \ 
 			"Good", \ 
 			"Excellent" \ 
 		], \ 
 		"questionId": "be8dca18-3caf-493e-82bd-848eb4fdd1b3", \ 
 		"questionName": "Rating question" \ 
 	}], \ 
 	"surveyName": "New survey" \ 
 }]' 'https://{environment}/dtapp/api/notification/user/ab7e4d4d-****-4ef5-b659-6676***fa87c?language=en'

# Example Response

{
  "success": true
}

# Notifications

# Get Notifications


GET /feedbacknotification/user/:userUniqueId

# Path Parameters

Path Type Description
userUniqueId string Unique identifier of the user

# Query Parameters

Path Type Optional Description
timeZone string true timezone of the user

# Request fields


No Request Payload

# Response fields

Path Type Description
result result result object
success boolean true (or) false
# notification result object
Path Type Description
userId string unique identifier of the user
feedback string array of notification feedback objects
# notification feedback object
Path Type Description
message string notification alert
questions array[question] list of question objects
respondentId string unique identifier of the respondent
respondentName string name of the respondent who provided the feedback
surveyName string name of the survey
surveyId string unique id of the survey
timestamp string time of the feedback
# question object
Path Type Description
answer string answer provided for the question
scale string scale of the question
title string title of the question

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/feedbacknotification/user/ab7e4d4d-****-4ef5-******-6676ee3f***c?timeZone=America%2FLos_Angeles&language=en'

# Example Response

{
	"result": {
		"feedback": [{
			"surveyName": "Notification survey",
			"surveyId": "91692341-f**f-4**9-a621-06f968a55b17",
			"questions": [{
					"scale": "4",
					"title": "Rating question",
					"answer": "4"
				},
				{
					"scale": "10",
					"title": "On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?",
					"answer": "10"
				}
			],
			"respondentName": "",
			"message": "Hi A***e, \\nYou received\\n\\n4 out of 4 for Rating question\\n10 out of 10 for On a scale of 0 - 10, how likely are you to recommend our business to a friend or colleague?\\n",
			"respondentId": "3ic8b4qjt5bpl***0vava73e9",
			"timestamp": "2020-04-14 15:33:06"
		}],
		"userId": "400dff7d-0468-4**1-a***-7cbe144f0320"
	},
	"success": true
}

# Analytics

# Get Questions


GET api/program/{programId}/analytics/questions

# Path Parameters

Path Type Optional Description
programId string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyFilterId string true id representing the survey filter
fromdate string true start date of the feedbacks
todate string true end date of the feedbacks
timeZone string true timezone of the user

# Request fields


No Request Payload

# Response fields

Path Type Description
fromDate string start date of the feedbacks
result array[object] array of analytic question object
surveyFilterId string program filter id
success boolean true (or) false
toDate string end date of the feedbacks
surveyImage string base 64 conversion of image
feedbacksCount int total count of the feedback
# analytic question object
Path Type Description
type string type of question (rating , single choice , multi choie , open text , nps)
scale string scale of the question
options string available label options for the question
subtype string smiley or rating only populated for rating question
questionId string unique identifier of the question
data array[int] aggregated sum of feedback value for each label text
questionText string question label

# Example Request

curl -X GET 'https://{environment}./dtapp/api/program/{programId}/analytics/questions?surveyFilterId=&fromDate=&toDate=&timezone=America/Los_Angeles' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}'  \

# Example Response

{
   "fromDate":"",
   "result":[
      {
         "type":"rating",
         "scale":"5",
         "options":[
            "Overview",
            "Metrics",
            "Questions",
            "Respondants",
            "Segments"
         ],
         "subType":"smiley",
         "questionId":"c27f071c-5e88-4d85-8f72-c67ad699b661",
         "metric":{
            "color":"",
            "name":"Differentiator"
         },
         "data":[
            20,
            19,
            26,
            20,
            21
         ],
         "questionText":"What is your favorite tool or portion of the product or service?"
      }
   ],
   "surveyName":"August Sprint",
   "surveyFilterId":"",
   "success":true,
   "toDate":"",
   "surveyImage":"data:image/png;base64",
   "feedbacksCount":106
}

# Get Respondents


GET api/program/{programId}/analytics/respondents

# Path Parameters

Path Type Optional Description
programId string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyFilterUUID string true id representing the survey filter
fromdate string true start date of the feedbacks
todate string true end date of the feedbacks
timeZone string true timezone of the user

# Request fields


No Request Payload

# Response fields

Path Type Description
result array[respondent] array of analytic respondant object
success boolean true (or) false
totalPages int total pages available , 10 respondants per page
feedbacksCount int total count of the feedback
# analytic respondent object
Path Type Description
metaData string list of metadata associated with the feedback
npsText string response nps category
id string unique id of feedback
tokenType string dynamic or static tokens based on api versus list
responseDate string date time of the feedback
events array[event] array of events
# analytic respondant event object
Path Type Description
questionId string unique identifier of question
answers string responses to the question
category string metric label
questionText string question label
npsText string response nps category

# Example Request

curl -X GET 'https://{environment}./dtapp/api/program/{programId}/analytics/respondents?surveyFilterId=&fromDate=&toDate=&timezone=America/Los_Angeles' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {accessToken}'  \

# Example Response

{
   "result":[
      {
         "metaData":{

         },
         "npsText":"",
         "id":"e2sm5d5h9tqfpi8v19f4skd7t8",
         "tokenType":null,
         "responseDate":"26-Sep-2019 12:00 PM",
         "events":[
            {
               "questionId":"c27f071c-5e88-4d85-8f72-c67ad699b661",
               "answers":"Segments",
               "category":[

               ],
               "questionText":"What is your favorite tool or portion of the product or service?",
               "npsText":""
            },
            {
               "questionId":"e122e19c-9700-4aa5-b97a-a05137116803",
               "answers":"Segments",
               "category":[

               ],
               "questionText":"Do you find that the X feature easy to use?",
               "npsText":""
            },
            {
               "questionId":"0941a89c-372c-406e-ad4d-a247c789b4c8",
               "answers":"Yes",
               "category":[

               ],
               "questionText":"Was the dashboard easy to navigate?",
               "npsText":""
            },
            {
               "questionId":"92448c4f-81af-4138-96f9-352729048fe1",
               "answers":"Yes",
               "category":[

               ],
               "questionText":"Did the website load efficiently?",
               "npsText":""
            },
            {
               "questionId":"83f62027-0528-4629-b6af-b8996d84f410",
               "answers":"No",
               "category":[

               ],
               "questionText":"Would you recommend our services/products to a friend?",
               "npsText":""
            },
            {
               "questionId":"3dd2361f-2ceb-432b-b47a-6b6002c026e8",
               "answers":"No",
               "category":[

               ],
               "questionText":"Will you use our services/products to meet your X needs in the future?",
               "npsText":""
            },
            {
               "questionId":"1d908ad3-3ac9-4f61-8495-e72b5e6ac6c9",
               "answers":"Extremely Likely",
               "category":[

               ],
               "questionText":"Based on recent experince please rate your satisfation of current release",
               "npsText":""
            }
         ]
      }
   ],
   "success":true,
   "totalPages":11,
   "feedbacksCount":106
}

# Get Respondents By Id


GET api/program/{programId}/analytics/respondents/{respondentId}

# Path Parameters

Path Type Optional Description
programId string false unique id of the program
respondentId string false unique id of the respondent

# Query Parameters

Path Type Optional Description
timeZone string true timezone of the user

# Request fields


No Request Payload

# Response fields

Path Type Description
result array[respondent] array of analytic respondant object
success boolean true (or) false
# analytic respondent object
Path Type Description
metaData string list of metadata associated with the feedback
npsText string response nps category
id string unique id of feedback
tokenType string dynamic or static tokens based on api versus list
responseDate string date time of the feedback
events array[event] array of events
# analytic respondant event object
Path Type Description
questionId string unique identifier of question
answers string responses to the question
category string metric label
questionText string question label
npsText string response nps category

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJhcm9uZUBkcm9wdGhvdWdodC5jb20iLCJyb2xlIjoiUk9MRV9VU0VSIiwiZXhwIjoxNjE5NTUxNDQwLCJpc3MiOiJEcm9wVGhvdWdodCwgSW5jIn0.mGBuAH8_Fi0l33OVqYdOvrkwdYEjiRRwGqBlTRanLpfZ6GcKqPIRnipPB2cvLYun3-JvKd0iKiGG1TMq8Q5CxA' 'https://{environment}/dtapp/api/program/91692341-f**f-4**9-a621-06f968a55b17/analytics/respondents/t**58mcaai39f49dju5r8ba**u?timezone=America%2FLos_Angeles&language=en&interval=custom'

# Example Response

{
	"result": [{
		"metaData": {

		},
		"npsText": "",
		"id": "t**58mcaai39f49dju5r8ba**u",
		"tokenType": null,
		"responseDate": "26-Sep-2019 12:00 PM",
		"events": [{
				"questionId": "c27f071c-5e88-4d85-8f72-c67ad699b661",
				"answers": "Segments",
				"category": [],
				"questionText": "What is your favorite tool or portion of the product or service?",
				"npsText": ""
			},
			{
				"questionId": "e122e19c-9700-4aa5-b97a-a05137116803",
				"answers": "Segments",
				"category": [],
				"questionText": "Do you find that the X feature easy to use?",
				"npsText": ""
			},
			{
				"questionId": "0941a89c-372c-406e-ad4d-a247c789b4c8",
				"answers": "Yes",
				"category": [],
				"questionText": "Was the dashboard easy to navigate?",
				"npsText": ""
			},
			{
				"questionId": "92448c4f-81af-4138-96f9-352729048fe1",
				"answers": "Yes",
				"category": [],
				"questionText": "Did the website load efficiently?",
				"npsText": ""
			},
			{
				"questionId": "83f62027-0528-4629-b6af-b8996d84f410",
				"answers": "No",
				"category": [],
				"questionText": "Would you recommend our services/products to a friend?",
				"npsText": ""
			},
			{
				"questionId": "3dd2361f-2ceb-432b-b47a-6b6002c026e8",
				"answers": "No",
				"category": [],
				"questionText": "Will you use our services/products to meet your X needs in the future?",
				"npsText": ""
			},
			{
				"questionId": "1d908ad3-3ac9-4f61-8495-e72b5e6ac6c9",
				"answers": "Extremely Likely",
				"category": [],
				"questionText": "Based on recent experince please rate your satisfation of current release",
				"npsText": ""
			}
		]
	}],
	"success": true
}

# Get Metric Info


GET api/program/{programId}/metric/info

# Path Parameters

Path Type Optional Description
programId string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyFilterId string true id representing the survey filter
fromdate string true start date of the feedbacks
todate string true end date of the feedbacks
timeZone string true timezone of the user
surveyType string true survey publish type (journey/publish) default is 'publish'

# Request fields


No Request Payload

# Response fields

Path Type Description
result array[metric] array of metric objects
success boolean true (or) false
fromDate string from date of the feedbacks used to compute metrics info
toDate string to date of the feedbacks used to compute metrics info
# metric object
Path Type Description
metricScore int metric score
metricName string name of the metric
metricId string id of the metric (for nps its question id)
trend array[metric trend object] array of metric objects
metricScale int scale of the metric
# metric trend object
Path Type Description
metric trend object array[string] first object is the timestamp and the second object is the value of the score

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUz' 'https://{environment}/dtapp/api/program/5e8e3ab8-****-4026-9ba0-f8f7a7d1fad4/metric/info?surveyFilterId=db614d2e-7474-4b6b-89a6-1df5f0638afe&fromDate=2019-01-01%2000%3A00%3A00&toDate=2019-12-31%2023%3A59%3A59&timeZone=America%2FLos_Angeles'

# Example Response (1)

{
  "fromDate": "2021-3-3 00:00:00",
  "result": [
    {
      "metricScore": 4.5,
      "metricName": "Appointment Follow-up",
      "metricId": "20",
      "trend": [
        [
          "Timestamp",
          "Appointment Follow-up"
        ],
        [
          "10-Mar-2021",
          4.5
        ]
      ],
      "metricScale": 5
    },
    {
      "metricScore": 50,
      "metricName": "NPS - Dropthought",
      "metricId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea",
      "trend": [
        [
          "Timestamp",
          "NPS - Dropthought Score"
        ],
        [
          "10-Mar-2021",
          50
        ]
      ],
      "metricScale": 11,
      "npsInfo": [
        [
          "Timestamp",
          "Promoters",
          "Passives",
          "Detractors"
        ],
        [
          "10-Mar-2021",
          "1",
          "1",
          0
        ]
      ]
    }
  ],
  "success": true,
  "toDate": "2021-3-10 23:59:59"
}

# Example Response (2)

{
	"fromDate": "2021-2-24 00:00:00",
	"result": [{
			"metricScore": 1.7,
			"metricName": "Communication",
			"metricId": "56",
			"trend": [
				[
					"Timestamp",
					"Communication"
				],
				[
					"02-Mar-2021",
					1.7
				]
			],
			"metricScale": 4
		},
		{
			"metricScore": -50,
			"metricName": "NPS - Dropthought",
			"metricId": "6978495b-****-4378-ac45-5716dd953d64",
			"trend": [
				[
					"Timestamp",
					"NPS - Dropthought Score"
				],
				[
					"08-Mar-2021",
					-50
				]
			],
			"metricScale": 11,
			"npsInfo": [
				[
					"Timestamp",
					"Promoters",
					"Passives",
					"Detractors"
				],
				[
					"08-Mar-2021",
					0,
					"2",
					"2"
				]
			]
		},
		{
			"metricScore": 0,
			"metricName": "NPS - Segments",
			"metricId": "0f9520fb-****-4338-8f5a-adb1ea28ec28",
			"trend": [
				[
					"Timestamp",
					"NPS - Segments Score"
				],
				[
					"08-Mar-2021",
					0
				]
			],
			"metricScale": 11,
			"npsInfo": [
				[
					"Timestamp",
					"Promoters",
					"Passives",
					"Detractors"
				],
				[
					"08-Mar-2021",
					"1",
					"2",
					"1"
				]
			]
		},
		{
			"metricScore": 25,
			"metricName": "NPS - Triggers",
			"metricId": "7c170dc1-****-4b44-8222-144f3841ce78",
			"trend": [
				[
					"Timestamp",
					"NPS - Triggers Score"
				],
				[
					"08-Mar-2021",
					25
				]
			],
			"metricScale": 11,
			"npsInfo": [
				[
					"Timestamp",
					"Promoters",
					"Passives",
					"Detractors"
				],
				[
					"08-Mar-2021",
					"2",
					"1",
					"1"
				]
			]
		}
	],
	"success": true,
	"toDate": "2021-3-10 23:59:59"
}

# Get Metric By Id


GET api/program/{programId}/metric/{metricId}

# Path Parameters

Path Type Optional Description
programId string false unique id of the program
metricId string false unique id of the metric

# Query Parameters

Path Type Optional Description
surveyFilterId string true id representing the survey filter
fromdate string true start date of the feedbacks
todate string true end date of the feedbacks
timeZone string true timezone of the user
surveyType string true survey publish type (journey/publish) default is 'publish'

# Request fields


No Request Payload

# Response fields

Path Type Description
result array[metric] array of metric objects
success boolean true (or) false
fromDate string from date of the feedbacks used to compute metrics info
toDate string to date of the feedbacks used to compute metrics info
# metric object
Path Type Description
metricScore int metric score
metricName string name of the metric
metricId string id of the metric (for nps its question id)
trend array[metric trend object] array of metric objects
metricScale int scale of the metric
# metric trend object
Path Type Description
metric trend object array[string] first object is the timestamp and the second object is the value of the score

# Example Request (1)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://test.dropthought.com/dtapp/api/program/f23f863b-****-****-8043-e635a71c1302/metric/20?interval=custom&fromDate=2021-3-3%2000%3A00%3A00&toDate=2021-3-10%2023%3A59%3A59&timeZone=America%2FLos_Angeles&surveyType=publish'

# Example Response (1)

{
  "fromDate": "2021-3-3 00:00:00",
  "result": [
    {
      "metricScore": 4.5,
      "metricName": "Appointment Follow-up",
      "metricId": "20",
      "trend": [
        [
          "Timestamp",
          "Appointment Follow-up"
        ],
        [
          "09-Mar-2021",
          4.5
        ]
      ],
      "metricScale": 5
    }
  ],
  "success": true,
  "toDate": "2021-3-10 23:59:59",
  "metricPercentageChange": "N/A"
}

# Example Request (2)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://test.dropthought.com/dtapp/api/program/f23f863b-****-493d-8043-e635a71c1302/metric/565c95c4-****-4cc5-af1d-fdef5ab2b6ea?interval=custom&timeZone=America%2FLos_Angeles&surveyType=publish'```

# Example Response (2)

{
  "fromDate": null,
  "result": [
    {
      "metricScore": 50,
      "metricName": "NPS - Dropthought",
      "metricId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea",
      "trend": [
        [
          "Timestamp",
          "NPS - Dropthought Score"
        ],
        [
          "09-Mar-2021",
          50
        ]
      ],
      "metricScale": "11"
    }
  ],
  "success": true,
  "toDate": null,
  "metricPercentageChange": 50
}

# Get Program Filters


GET api/program/{programId}/filters

# Path Parameters

Path Type Optional Description
programId string false unique id of the program

# Query Parameters

Path Type Optional Description
language string true request language

# Request fields


No Request Payload

# Response fields

Path Type Description
result array[filter] array of filter objects
success boolean true (or) false
message string message to indicate no meta data and no filters
defaultFilter boolean true (or) false
# filter object
Path Type Description
filterName string name of the filter
filterUUID string unique id of the filter
filterQuery string filter query in readable format

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMi' 'https://{environment}/dtapp/api/program/5e8e3ab8-****-****-9ba0-f8f7a7d1fad4/filters'

# Example Response

{
  "result": [
    {
      "filterName": "filter rating = fear",
      "message": "no_meta_data_present",
      "filterUUID": "f12275e2-3618-****-a817-34ac620ee280",
      "filterQuery": "[[{multi questions segments}+(9b618b20-5b33-488c-b4c6-544b5e82bdd1.Rating metric.response==2)]]"
    },
    {
      "filterName": "filter nps <= 8",
      "message": "no_meta_data_present",
      "filterUUID": "8ca68bc7-109b-****-944f-9a764df5ef55",
      "filterQuery": "[[{multi questions segments}+(3ba0eda0-e9f5-4009-bd52-6d9069e3da10.On a scale of 0 - 10, how likely are you to recommend us to your colleagues and friends?.response<=8)]]"
    },
    {
      "filterName": "excited + metadata",
      "filterUUID": "156971c6-4efc-4c4c-****-a47dfb71c544",
      "filterQuery": "[[{store data}+(Name=='Linda')] || [{store data}+(Name=='Elizabeth')] || [{store data}+(Name=='Roland')] && [{multi questions segments}+(dbccccb0-96ed-4d3e-8f8d-76a7bd24f2e9.Single choice + other.response==happy)]]"
    },
    {
      "filterName": "new quest and metadata",
      "filterUUID": "d916d578-4045-4654-****-64b457a249c4",
      "filterQuery": "[[{store data}+(Region=='Alabama')] && [{multi questions segments}+(9b618b20-5b33-488c-b4c6-544b5e82bdd1.Rating metric.response==3)]]"
    },
  ],
  "success": true
}
{
  "result": [
    {
      "defaultFilter": true,
      "filterName": "f2",
      "filterUUID": "b79e4ae3-e167-408b-bf54-7fdb7fb5c82f",
      "filterQuery": "[[{List 1}+(Email=='1853b@yopmail.com')] || [{List 1}+(Email=='1853c@yopmail.com')] && [{List 1}+(Location =='Palo Alto')]]"
    }
  ],
  "success": true
}
{
  "result": [],
  "success": true,
  "message": "no_filters_present"
}
{
  "result": [],
  "success": true,
  "message": "no_meta_data_present"
}

# Get Program Metadata


GET api/program/{programId}/metadata

# Path Parameters

Path Type Optional Description
programId string false unique id of the program

# Query Parameters


No Parameters

# Request fields


No Request Payload

# Response fields

Path Type Description
result result map of participant group uuid and metadata array
success boolean true (or) false
# result object
Path Type Description
participantGroupUUID string unique id of the participant group

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMi' 'https://{environment}/dtapp/api/program/5e8e3ab8-****-****-****-9ba0-f8f7a7d1fad4/metadata'


# Example Response

{
	"result": {
		"aa6cc7de-****-****-b7ec-fa812d423ca7": [
			"Name",
			"Email",
			"Age",
			"Location",
			"Phone"
		]
	},
	"success": true
}

# Get Program Overview


GET api/program/{programId}/analytics/overview

# Path Parameters

Path Type Optional Description
programId string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyFilterId string true unique id of the survey filter
fromDate string true start date to be applied
toDate string true end date to be applied
responseInterval string true interval between dates for the trend (daily/weekly/monthly)
timeZone string true timezone of the request
surveyType string true survey publish type (journey/publish) default is 'publish'
questionId string true nps question id [by default takes first (alphabetical order) nps question id]

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
npsScore string nps score for the program
responseTrend array[trend] array of response trend objects
metrics array[metrics] array of metric objects
segments segment segments object
questions array[questions] array of nps questions
npsQuestionText string nps question text
# trend object
Path Type Description
Timestamp string any date within the date range
Total int total number of responses for the point in date via (email/sms)
Sms int total number of responses for the point in date via sms
Email int total number of responses for the point in date via email
# metric object
Path Type Description
metricScore string metric name
metricName string metric score
# nps object
Path Type Description
bottomSegments array [string] bottom 3 segments
topSegments array [string] top 3 segments
# segment object
Path Type Description
bottomSegments array [string] bottom 3 segments
topSegments array [string] top 3 segments
# npsCategoriesCount object
Path Type Description
data array [data] Detractors, Passives, Promoters
# npsCategoriesPercentage object
Path Type Description
data array [data] Detractors, Passives, Promoters
# questions object
Path Type Description
questionId string nps question id
questionBrand string company/service name of nps question
questionText string nps question title

# Example Request (1)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://{environment}-api.dropthought.com/dtapp/api/program/f23f863b-****-****-8043-e635a71c1302/analytics/overview?fromDate=2021-3-3%2000%3A00%3A00&toDate=2021-3-10%2023%3A59%3A59&responseInterval=daily&timeZone=Asia%2FCalcutta&interval=custom&surveyType=publish'

# Example Response (1)

{
  "success": true,
  "npsQuestionText": "On a scale of 0 - 10, how likely are you to recommend Dropthought to a friend or colleague?",
  "npsCategoriesCount": {
    "data": [
      {
        "data": [
          0
        ],
        "name": "Detractors"
      },
      {
        "data": [
          1
        ],
        "name": "Passives"
      },
      {
        "data": [
          1
        ],
        "name": "Promoters"
      }
    ]
  },
  "questions": [
    {
      "questionId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea",
      "questionBrand": "NPS - Dropthought",
      "questionText": "On a scale of 0 - 10, how likely are you to recommend Dropthought to a friend or colleague?"
    }
  ],
  "responseTrend": [
    [
      "Timestamp",
      "Total",
      "Sms",
      "Email"
    ],
    [
      "10-Mar-2021",
      2,
      0,
      1
    ],
    [
      "11-Mar-2021",
      0,
      0,
      0
    ]
  ],
  "npsScore": "50.0",
  "metrics": [
    {
      "metricScore": 4.5,
      "metricName": "Appointment Follow-up"
    }
  ],
  "npsCategoriesPercentage": {
    "data": [
      {
        "data": [
          "0.0"
        ],
        "name": "Detractors"
      },
      {
        "data": [
          "50.0"
        ],
        "name": "Passives"
      },
      {
        "data": [
          "50.0"
        ],
        "name": "Promoter"
      }
    ]
  },
  "segments": {
    "bottomSegments": [],
    "topSegments": [
      "Course description: Course 2 description",
      "Course name: Course 3",
      "Joining date: 2021-02-16 16:21:00"
    ]
  }
}

# Example Request (2)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5MjlFRHctaEVTNVJYcGE0YmNBNkU5WnNObmZreTVNIn0' 'https://{environment}-api.dropthought.com/dtapp/api/program/8dd02d97-****-4b67-9ee5-9a40636024f8/analytics/overview?fromDate=2021-3-3%2000%3A00%3A00&toDate=2021-3-10%2023%3A59%3A59&responseInterval=daily&timeZone=Asia%2FCalcutta&interval=custom&surveyType=publish&questionId=7c170dc1-****-4b44-8222-144f3841ce78'

# Example Response (2)

{
  "success": true,
  "npsQuestionText": "On a scale of 0 - 10, how likely are you to recommend Triggers to a friend or colleague?",
  "npsCategoriesCount": {
    "data": [
      {
        "data": [
          1
        ],
        "name": "Detractors"
      },
      {
        "data": [
          1
        ],
        "name": "Passives"
      },
      {
        "data": [
          2
        ],
        "name": "Promoters"
      }
    ]
  },
  "questions": [
    {
      "questionId": "83d0089b-****-4f03-9cb6-0aa6df1fca54",
      "questionBrand": "NPS - Account Preference",
      "questionText": "On a scale of 0 - 10, how likely are you to recommend Account Preference to a friend or colleague?"
    },
    {
      "questionId": "6978495b-****-4378-ac45-5716dd953d64",
      "questionBrand": "NPS - Dropthought",
      "questionText": "On a scale of 0 - 10, how likely are you to recommend Dropthought to a friend or colleague?"
    },
    {
      "questionId": "0f9520fb-****-4338-8f5a-adb1ea28ec28",
      "questionBrand": "NPS - Segments",
      "questionText": "On a scale of 0 - 10, how likely are you to recommend Segments to a friend or colleague?"
    },
    {
      "questionId": "7c170dc1-****-4b44-8222-144f3841ce78",
      "questionBrand": "NPS - Triggers",
      "questionText": "On a scale of 0 - 10, how likely are you to recommend Triggers to a friend or colleague?"
    }
  ],
  "responseTrend": [
    [
      "Timestamp",
      "Total",
      "Sms",
      "Email"
    ],
    [
      "08-Mar-2021",
      4,
      0,
      4
    ],
    [
      "09-Mar-2021",
      0,
      0,
      0
    ]
  ],
  "npsScore": "25.0",
  "metrics": [],
  "npsCategoriesPercentage": {
    "data": [
      {
        "data": [
          "25.0"
        ],
        "name": "Detractors"
      },
      {
        "data": [
          "25.0"
        ],
        "name": "Passives"
      },
      {
        "data": [
          "50.0"
        ],
        "name": "Promoter"
      }
    ]
  },
  "segments": {
    "bottomSegments": [
      "Joining date: 2021-02-06 16:21:00",
      "Value: -32",
      "Zip: 123"
    ],
    "topSegments": [
      "Course description: Course 2 description",
      "Course name: Course 2",
      "Course name: Course 3"
    ]
  }
}

# Get Program Qrcode


GET api/dtsurvey/qr/surveyuuid/{surveyuuid}/{filetype}/{useruuid}

# Path Parameters

Path Type Optional Description
surveyuuid string false unique id of the program
filetype string false file type (png/jpg/pdf)
useruuid string false unique id of the user

# Query Parameters

Path Type Optional Description
cc string true unique identifier of database (DT)
hkey string true unique identifier of host (https://app.dropthought.com)
language string true language identifier (en)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[result] result object
# result object
Path Type Description
surveyId string unique id of the string
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/dtsurvey/qr/surveyuuid/bb45b912-****-48d5-9**0-afb76c***da8/png/ab7e4d4d-****-4**5-b659-6676ee****7c?cc=DT&hKey=https%3A%2F%2F{environment}&language=en'


# Example Response

{
	"result": [{
		"surveyId": 151,
		"qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAA",
		"qrByteArray": [
			-119,
			80,
			78,
			71
		]
	}],
	"success": true
}

# Get Program Segments


GET /api/survey/{surveyId}/segmentsinfo

# Path Parameters

Path Type Optional Description
surveyId string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyFilterId string true unique identifier of the survey filter
fromDate string true start date to be applied
toDate string true end date to be applied
metaData string true meta data values to view Ex: Location
metricName string true metric name to view Ex: Cleanliness
timezone string true timezone of the request
surveyType string true survey publish type (journey/publish) default is 'publish'
questionUUID string true nps question id [by default takes first (alphabetical order) nps question id]
interval string true date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) default is 'custom'

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[result] result object
# result object
Path Type Description
fromDate string start date applied
toDate string end date applied
metaDataList array[string] list of meta data to choose (Location, Age)
metaDataValue array[string] list of meta data values in each chosen meta data (Santa Clara, Taipei)
metaDataValueList array[metaData] list of data values for the meta data
metaDataListCount array[string] count of values in each meta data
metrics array[string] list of metrics available to choose (Cleanliness, Performance)
metricValue array[metric] list of data values for metrics
totalMetricScore string metric score
metricScaleList array[int] list of scales for the different metrics in the program (4, 5)
metaDataValueCategory array[string] default headers for the segments (Population, Responses, NPS)
metaData string current meta data applied
surveyFilterId string unique identifier of the survey filter applied
metricScale string metric scale chosen
npsQuestions array[map] list of nps questions in the program
# meta data object
Path Type Description
name string name of the meta data
data array[string] data values for the meta data
# metric object
Path Type Description
name string name of the metric
data array[string] data values for the metric
# nps questions object
Path Type Description
questionBrand string company/service name of nps question
questionId string nps question id
index string nps question index

# Example Request (1)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJy' 'https://{environment}-api.dropthought.com/api/survey/0d698392-08e0-4b58-b098-617c910a6102/segmentsinfo?interval=custom&surveyFilterId=&fromDate=2021-01-24%2000%3A00%3A00&toDate=2021-03-28%2023%3A59%3A59&timezone=Asia/Calcutta&metaData=Course%20name&metricName=Appointment Follow-up&surveyType=publish'

# Example Response (1)

{
    "result": {
        "metaDataList": [
            "Course description",
            "Course name",
            "Joining date",
            "Value",
            "Zip"
        ],
        "totalMetricScore": [
            "5.0"
        ],
        "metricScaleList": [
            5
        ],
        "npsQuestions": [
            {
                "index": 1,
                "questionBrand": "NPS - Dropthought",
                "questionId": "565c95c4-****-4cc5-af1d-fdef5ab2b6ea"
            }
        ],
        "toDate": "2021-03-28 18:29:59",
        "metricValue": [
            {
                "data": [
                    "5.0",
                    0,
                    0,
                    "5.0"
                ],
                "name": "Appointment Follow-up"
            }
        ],
        "metaDataValueCategory": [
            "Population",
            "Responses",
            "NPS - Dropthought"
        ],
        "fromDate": "2021-01-23 18:30:00",
        "metaData": "Course name",
        "metaDataValueList": [
            {
                "data": [
                    9,
                    1,
                    "0.0"
                ],
                "name": "All Course name"
            },
            {
                "data": [
                    4,
                    0,
                    "0.0"
                ],
                "name": "Course 1"
            },
            {
                "data": [
                    2,
                    0,
                    "0.0"
                ],
                "name": "Course 2"
            },
            {
                "data": [
                    3,
                    1,
                    "0.0"
                ],
                "name": "Course 3"
            }
        ],
        "surveyFilterId": "",
        "metaDataValue": [
            "All Course name",
            "Course 1",
            "Course 2",
            "Course 3"
        ],
        "metaDataListCount": [
            "3",
            "3",
            "5",
            "7",
            "7"
        ],
        "metricScale": "5",
        "metrics": [
            "Appointment Follow-up"
        ]
    },
    "feedbacksCount": 2,
    "success": true
}

# Example Request (2)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJy' 'https://{environment}-api.dropthought.com/api/survey/0d698392-08e0-4b58-b098-617c910a6102/segmentsinfo?interval=custom&surveyFilterId=&fromDate=2021-01-24%2000%3A00%3A00&toDate=2021-03-28%2023%3A59%3A59&timezone=Asia/Calcutta&metaData=Course%20name&questionUUID=7c170dc1-****-4b44-8222-144f3841ce78&surveyType=publish'

# Example Response (2)

{
    "result": {
        "metaDataList": [
            "Course description",
            "Course name",
            "Joining date",
            "Value",
            "Zip"
        ],
        "metricScaleList": [],
        "npsQuestions": [
            {
                "index": 3,
                "questionBrand": "NPS - Account Preference",
                "questionId": "83d0089b-****-4f03-9cb6-0aa6df1fca54"
            },
            {
                "index": 2,
                "questionBrand": "NPS - Dropthought",
                "questionId": "6978495b-****-4378-ac45-5716dd953d64"
            },
            {
                "index": 1,
                "questionBrand": "NPS - Segments",
                "questionId": "0f9520fb-****-4338-8f5a-adb1ea28ec28"
            },
            {
                "index": 0,
                "questionBrand": "NPS - Triggers",
                "questionId": "7c170dc1-****-4b44-8222-144f3841ce78"
            }
        ],
        "toDate": "2021-03-28 18:29:59",
        "metricValue": [],
        "metaDataValueCategory": [
            "Population",
            "Responses",
            "Triggers"
        ],
        "fromDate": "2021-01-23 18:30:00",
        "metaData": "Course name",
        "metaDataValueList": [
            {
                "data": [
                    9,
                    4,
                    "25.0"
                ],
                "name": "All Course name"
            },
            {
                "data": [
                    4,
                    2,
                    "-50.0"
                ],
                "name": "Course 1"
            },
            {
                "data": [
                    2,
                    1,
                    "100.0"
                ],
                "name": "Course 2"
            },
            {
                "data": [
                    3,
                    1,
                    "100.0"
                ],
                "name": "Course 3"
            }
        ],
        "surveyFilterId": "",
        "metaDataValue": [
            "All Course name",
            "Course 1",
            "Course 2",
            "Course 3"
        ],
        "metaDataListCount": [
            "3",
            "3",
            "5",
            "7",
            "7"
        ],
        "metricScale": ""
    },
    "feedbacksCount": 4,
    "success": true
}

# Get Program Static Token


GET /dtsurvey/generateToken/surveyuuid/:surveyuuid

# Path Parameters

Path Type Description
surveyuuid string Unique identifier of program

# Query Parameters

Path Type Optional Description
cc string true company code (DT)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[token] array containing token object
# token object
Path Type Description
token string indicates the static token associated with the survey

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/dtsurvey/generateToken/surveyuuid/bf5fe6e3-****-****-a466-924fbb1f2593?cc=DT'

# Example Response

{
  "success": true,
  "result": [
    {
      "token": "v83eo2t****fih181kgaqscc7n~~MTYxZDY4ZWMtM2I0MC00ZjQ4LWE4MWYtOTc5NGE4NWFiNzIz$RFQ1"
    }
  ]
}

# Get Program Participant Metadata


GET /dtsurvey/:surveyId/participantMetaData

# Path Parameters

Path Type Description
surveyId string Unique identifier of program

# Query Parameters

Path Type Optional Description
cc string false company code (DT)
surveyFilterUUID string true unique identifier of the survey filter applied

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[metadata] array containing participant metadata object
# participant metadata object
Path Type Description
metadata array[metadata] indicates participant metadata details
# metadata object
Path Type Description
name string indicates the name of the header
values array[values] indicates the values corresponding to the header
meta_data_type string indicates the metadata type of the header
cc string company code (DT)
ids array[ids] indicates taguuid.participantgroupuuid

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/dtsurvey/61fa3878-****-****-a4dd-f0019035489f/participantMetaData?cc=DT'

# Example Response

{
  "success": true,
  "result": [
    {
      "metadata": [
        {
          "name": "Name",
          "values": [
            "Aisha",
            "Barakat",
            "Fahad",
            "Fatima",
            "Hameed",
            "Hamid"
          ],
          "meta_data_type": "NAME",
          "cc": "DT",
          "ids": [
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
          ]
        },
        {
          "name": "Email",
          "values": [
            "doctor10@yopmail.com",
            "doctor11@yopmail.com",
            "doctor12@yopmail.com",
            "doctor13@yopmail.com",
            "doctor14@yopmail.com",
            "doctor15@yopmail.com",
          ],
          "meta_data_type": "EMAIL",
          "cc": "DT",
          "ids": [
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
          ]
        },
        {
          "name": "Region",
          "values": [
            "Bur Dubai",
            "Dubai Marina",
            "Sharjah"
          ],
          "meta_data_type": "STRING",
          "cc": "DT",
          "ids": [
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
          ]
        },
        {
          "name": "Practice",
          "values": [
            "Cardiology",
            "Dermatology"
          ],
          "meta_data_type": "STRING",
          "cc": "DT",
          "ids": [
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
          ]
        },
        {
          "name": "Doctor Type",
          "values": [
            "Practitioner",
            "Researcher"
          ],
          "meta_data_type": "STRING",
          "cc": "DT",
          "ids": [
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466",
            "bc2cf616-f16a-45a0-96eb-0dc4f63d1bea.29c91fbe-307a-46e2-9fd3-ee577d9b1466"
          ]
        }
      ]
    }
  ]
}

# Get Program Participants By Tag


GET /program/:programid/taguuid/:taguuid/participants

# Path Parameters

Path Type Description
programid string Unique identifier of program
taguuid string Unique identifier of tag

# Query Parameters

Path Type Optional Description
pageId int true page number for retrieving the participants (default -> -1 fetches all participants)
language string true language of request en/ar (default - en)
answered boolean true flag which indicates if answered/non-answered participants needs to be fetched (default - false [non-answered participants])
timezone string true indicates requested timezone (default - America/Los_Angeles)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[participant information] array containing participant's information
totalCount int indicates the count of participants fetched
surveyStartDate string indicates start date of the survey (based on the timezone of request)
surveyEndDate string indicates end date of the survey (based on the timezone of request)
# participant information object
Path Type Description
participantId int indicates unique id of the participant
url string survey url link of the participant
token string indicates unique id of the respondent
participantInfo map[participant metadata] map containing participant metadata info
# participant metadata object
Path Type Description
header array[header] indicates the name of the headers
data array[data] indicates the values corresponding to the header
metadata array[metadata] indicates the metadata type of the headers

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/5b3ae7a0-****-****-bdc4-8f2c2ee86e69/taguuid/6a211918-****-****-b6fe-d9fbd11d93e0/participants?answered=false&pageId=1&language=en&timezone=America%2FLos_Angeles'

# Example Response (Non Anonymous Survey)

{
  "result": [
    {
      "participantId": 4,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Naveen",
          "naveen123@yopmail.com",
          "2020-04-06 16:21:00",
          "Course 2",
          "Course 2 description",
          "+1234567890",
          "13",
          "111"
        ]
      },
      "token": "76p82b3hd98l8i2v9sr7bjimsr"
    },
    {
      "participantId": 5,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Aravind",
          "aravind123@yopmail.com",
          "2020-09-06 16:21:00",
          "Course 1",
          "Course 1 description",
          "+1234567890",
          "76",
          "222"
        ]
      },
      "token": "9jn7ujdphdpln72ihvu3c96ovg"
    },
    {
      "participantId": 6,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Arone",
          "arone123@yopmail.com",
          "2021-09-06 16:21:00",
          "Course 3",
          "Course 3 description",
          "+1234567890",
          "0.53",
          "333"
        ]
      },
      "token": "c95v85cjsahjp7kg9k3gic9plh"
    },
    {
      "participantId": 2,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Venkat",
          "venkat123@yopmail.com",
          "2020-04-06 16:21:00",
          "Course 3",
          "Course 2 description",
          "+1234567890",
          "22.9",
          "456"
        ]
      },
      "token": "ulg40vr9nec1ete7bqb9l779s2"
    },
    {
      "participantId": 3,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Akhil",
          "akhil123@yopmail.com",
          "2020-01-06 16:21:00",
          "Course 1",
          "Course 1 description",
          "+1234567890",
          "-56.2",
          "789"
        ]
      },
      "token": "d1ue3pghp716aedsisadkkuhi1"
    }
  ],
  "success": true,
  "surveyStartDate": "2021-11-01 05:09:30",
  "totalCount": 5,
  "surveyEndDate": "2022-11-01 05:09:30"
}

# Example Response (Anonymous Survey)

{
  "result": [
    {
      "participantId": 4,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "76p82b3hd98l8i2v9sr7bjimsr"
    },
    {
      "participantId": 5,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "9jn7ujdphdpln72ihvu3c96ovg"
    },
    {
      "participantId": 6,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "c95v85cjsahjp7kg9k3gic9plh"
    },
    {
      "participantId": 2,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "ulg40vr9nec1ete7bqb9l779s2"
    },
    {
      "participantId": 3,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "d1ue3pghp716aedsisadkkuhi1"
    }
  ],
  "success": true,
  "surveyStartDate": "2021-11-01 05:09:30",
  "totalCount": 5,
  "surveyEndDate": "2022-11-01 05:09:30"
}

# Get Program Participants By Program Id


GET /program/:programid/participants

# Path Parameters

Path Type Description
programid string Unique identifier of program

# Query Parameters

Path Type Optional Description
pageId int true page number for retrieving the participants (default -> -1 fetches all participants)
language string true language of request en/ar (default - en)
answered boolean true flag which indicates if answered/non-answered participants needs to be fetched (default - false [non-answered participants])
timezone string true indicates requested timezone (default - America/Los_Angeles)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result array[participant information] array containing participant's information
totalCount int indicates the count of participants fetched
surveyStartDate string indicates start date of the survey (based on the timezone of request)
surveyEndDate string indicates end date of the survey (based on the timezone of request)
# participant information object
Path Type Description
participantId int indicates unique id of the participant
url string survey url link of the participant
token string indicates unique id of the respondent
participantInfo map[participant metadata] map containing participant metadata info
# participant metadata object
Path Type Description
header array[header] indicates the name of the headers
data array[data] indicates the values corresponding to the header
metadata array[metadata] indicates the metadata type of the headers

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/5b3ae7a0-****-****-bdc4-8f2c2ee86e69/participants?answered=false&pageId=-1&language=en&timezone=America%2FLos_Angeles'

# Example Response (Non Anonymous Survey)

{
  "result": [
    {
      "participantId": 4,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Naveen",
          "naveen123@yopmail.com",
          "2020-04-06 16:21:00",
          "Course 2",
          "Course 2 description",
          "+1234567890",
          "13",
          "111"
        ]
      },
      "token": "76p82b3hd98l8i2v9sr7bjimsr"
    },
    {
      "participantId": 5,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Aravind",
          "aravind123@yopmail.com",
          "2020-09-06 16:21:00",
          "Course 1",
          "Course 1 description",
          "+1234567890",
          "76",
          "222"
        ]
      },
      "token": "9jn7ujdphdpln72ihvu3c96ovg"
    },
    {
      "participantId": 6,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Arone",
          "arone123@yopmail.com",
          "2021-09-06 16:21:00",
          "Course 3",
          "Course 3 description",
          "+1234567890",
          "0.53",
          "333"
        ]
      },
      "token": "c95v85cjsahjp7kg9k3gic9plh"
    },
    {
      "participantId": 2,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Venkat",
          "venkat123@yopmail.com",
          "2020-04-06 16:21:00",
          "Course 3",
          "Course 2 description",
          "+1234567890",
          "22.9",
          "456"
        ]
      },
      "token": "ulg40vr9nec1ete7bqb9l779s2"
    },
    {
      "participantId": 3,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "participantInfo": {
        "header": [
          "Name",
          "Email",
          "Joining date",
          "Course name",
          "Course description",
          "Phone",
          "Value",
          "Zip"
        ],
        "metadata": [
          "NAME",
          "EMAIL",
          "DATE",
          "String",
          "String",
          "PHONE",
          "NUMBER",
          "ZIP"
        ],
        "data": [
          "Akhil",
          "akhil123@yopmail.com",
          "2020-01-06 16:21:00",
          "Course 1",
          "Course 1 description",
          "+1234567890",
          "-56.2",
          "789"
        ]
      },
      "token": "d1ue3pghp716aedsisadkkuhi1"
    }
  ],
  "success": true,
  "surveyStartDate": "2021-11-01 05:09:30",
  "totalCount": 5,
  "surveyEndDate": "2022-11-01 05:09:30"
}

# Example Response (Anonymous Survey)

{
  "result": [
    {
      "participantId": 4,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/76p82b3hd98l8i2v9sr7bjimsr~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "76p82b3hd98l8i2v9sr7bjimsr"
    },
    {
      "participantId": 5,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/9jn7ujdphdpln72ihvu3c96ovg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "9jn7ujdphdpln72ihvu3c96ovg"
    },
    {
      "participantId": 6,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/c95v85cjsahjp7kg9k3gic9plh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "c95v85cjsahjp7kg9k3gic9plh"
    },
    {
      "participantId": 2,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/ulg40vr9nec1ete7bqb9l779s2~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "ulg40vr9nec1ete7bqb9l779s2"
    },
    {
      "participantId": 3,
      "url": "https://stage-eux.dropthought.com/en/dt/survey/d1ue3pghp716aedsisadkkuhi1~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz$RFQ1?source=email",
      "token": "d1ue3pghp716aedsisadkkuhi1"
    }
  ],
  "success": true,
  "surveyStartDate": "2021-11-01 05:09:30",
  "totalCount": 5,
  "surveyEndDate": "2022-11-01 05:09:30"
}

# Get Program Performance Rate By Program Id


GET /program/:programId/analytics/rate

# Path Parameters

Path Type Description
programId string Unique identifier of program

# Query Parameters

Path Type Optional Description
fromDate string false start date which has to be applied to compute program performance rate info
toDate string false end date which has to be applied to compute program performance rate info
surveyFilterId string true unique id of the survey filter applied
timezone string true timezone of the request (default 'America/Los_Angeles')
interval string true date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear) default is 'custom'
surveyType string true survey publish type (journey/publish) default is 'publish'

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result map[performance rate analysis] map containing performance rate analysis of the program
# performance rate analysis object
Path Type Description
email map[performance rate of email] performance rate analysis of email
sms map[performance rate of sms] performance rate analysis of sms
static map[performance rate of static link] performance rate analysis of static link
qr map[performance rate of qr code] performance rate analysis of qr code
kiosk map[performance rate of kiosk] performance rate analysis of kiosk
total map[performance rate of all channels] performance rate analysis of all channels
# performance rate of email and sms
Path Type Description
surveysSent string indicates the count of emails/sms sent respectively
surveysOpened string indicates the count of surveys opened via email/sms respectively
responsesReceived string indicates the count of responses received via email/sms respectively
responseRate string indicates percentage of respondents who have answered the survey
abandonmentRate string indicates the percentage of respondents who have not answered after opening the survey
# performance rate of static, qr and kiosk
Path Type Description
surveysSent string always "N/A"
surveysOpened string always "N/A"
responsesReceived string indicates the count of responses received via static link/qr/kiosk respectively
responseRate string always 100%
abandonmentRate string always "N/A"
# performance rate of all channels (total)
Path Type Description
surveysSent string indicates the total count of emails and sms sent
surveysOpened string indicates the total count of surveys opened via email and sms
responsesReceived string indicates the total count of responses received via email/sms/kiosk/qr/static link
responseRate string indicates percentage of respondents who have answered the survey via email and sms (Total number of surveys users responded to/Total number of surveys sent to end users)
abandonmentRate string indicates the percentage of respondents who have not answered after opening the survey via email and sms (Total number of surveys users responded to/Total number of surveys opened by end users)

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/5e1608f8-****-****-b6fa-f50d4b933694/analytics/rate?fromDate=2021-8-05%2000%3A00%3A00&toDate=2021-8-12%2023%3A59%3A59&timezone=Asia%2FCalcutta&interval=custom&surveyType=publish'

# Example Response

{
  "result": {
    "qr": {
      "surveysSent": "N/A",
      "surveysOpened": "N/A",
      "responsesReceived": "0",
      "responseRate": "N/A",
      "abandonmentRate": "N/A"
    },
    "total": {
      "surveysSent": "6.0",
      "surveysOpened": "2",
      "responsesReceived": "4",
      "responseRate": "33.3",
      "abandonmentRate": "100.0"
    },
    "static": {
      "surveysSent": "N/A",
      "surveysOpened": "N/A",
      "responsesReceived": "2",
      "responseRate": "100.0",
      "abandonmentRate": "N/A"
    },
    "sms": {
      "surveysSent": "N/A",
      "surveysOpened": "N/A",
      "responsesReceived": "N/A",
      "responseRate": "N/A",
      "abandonmentRate": "N/A"
    },
    "kiosk": {
      "surveysSent": "N/A",
      "surveysOpened": "N/A",
      "responsesReceived": "0",
      "responseRate": "N/A",
      "abandonmentRate": "N/A"
    },
    "email": {
      "surveysSent": "6",
      "surveysOpened": "2",
      "responsesReceived": "2",
      "responseRate": "33.3",
      "abandonmentRate": "100.0"
    }
  },
  "success": true
}

# Publish Program

# Get Published Program


GET /publish/program/:programid

# Path Parameters

Path Type Description
programid string Unique identifier of program

# Query Parameters

Path Type Optional Description
language string true language of the program (en)
timezone string true timezone of the request (America/Los_Angles)

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false
result publish program object publish program object
# published program object
Path Type Description
surveyId string unique id of program entity
tagId array[string] unique ids of tags associated with the program
surveyStartDate string program activates at the given date & time
surveyEndDate string program expires at the given date & time
channels array[string] number of questions in the template
language string current language of published program
type string indicates distribution type (publish/journey/none)
anonymous boolean indicates whether user can provide feedback anonymously
timezone string timezone of the program to be triggered
surveyName string name of the program
host string indicates the host from which program is published
recipientId array[int] participantGroupId of the lists published
subject string subject of the email to be sent
reminderOneSubject string subject of the 1st reminder
reminderTwoSubject string subject of the 2nd reminder
reminderOneMessage string email body of 1st reminder
reminderTwoMessage string email body of 2nd reminder
smsMessage string message to be included in sms
fromEmail string indicates sender email
imageUrl string url of image attached to the email body
fromName string indicated sender name
kickOffConfig array[json] indicates the publish details in journey scenario
kickoff string indicates the date when the program needs to be published
kickOffTime string indicates the time when the program needs to be published
businessUUID string Unique identifier of business
reminderConfig array[json] indicates reminder details
message string indicates the message in email body
fromDate string program activates at the given date & time
toDate string program expires at the given date & time
# kickOffConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
metaDataHeader string columns in the list that has metadata type date
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered
# reminderConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' 'https://{environment}/dtapp/api/publish/program/bf5fe6e3-****-****-a466-924fbb1f2593?timezone=America%2FLos_Angeles&language=en'

# Example Response

{
  "result": {
    "reminderTwoMessage": "This is second reminder message",
    "surveyId": "bf5fe6e3-****-****-a466-924fbb1f2593",
    "smsMessage": "This is sms message",
    "tagId": [
      "cfe7d127-****-****-9026-dcef670a45db"
    ],
    "subject": "Just drop a thought!",
    "timezone": "America/Los_Angeles",
    "language": "en",
    "type": "publish",
    "fromEmail": "john@dropthought.com",
    "kickOffConfig": null,
    "surveyName": "E-commerce survey",
    "imageUrl": "https://dt-program-banner.s3.us-west-1.amazonaws.com/d2988a5e-****-****-ba00-21651e4319a5-myimage.png",
    "fromName": "Dropthought",
    "host": "https://test.dropthought.com",
    "recipientId": [
      1
    ],
    "reminderOneMessage": "This is first reminder message",
    "kickOffTime": "23:46:46",
    "businessUUID": "161d68ec-****-****-a81f-9794a85ab723",
    "kickoff": "2020-06-23 23:46:46",
    "reminderConfig": [
      {
        "intervalType": "days",
        "timezone": "America/Los_Angeles",
        "metaDataHeader": null,
        "interval": 1,
        "kickOffTime": "12:17:28"
      },
      {
        "intervalType": "days",
        "timezone": "America/Los_Angeles",
        "metaDataHeader": null,
        "interval": 1,
        "kickOffTime": "12:17:39"
      }
    ],
    "toDate": "2021-06-23 23:45:29",
    "banner": "",
    "message": "This is email body",
    "surveyStartDate": "2020-06-23 23:45:29",
    "fromDate": "2020-06-23 23:45:29",
    "reminderOneSubject": "Reminder 1 - Just drop a thought!",
    "channels": [
      "email",
      "sms",
      "link"
    ],
    "anonymous": false,
    "reminderTwoSubject": "Final Reminder - Just drop a thought!",
    "surveyEndDate": "2021-06-23 23:45:29"
  },
  "success": true
}

# Create Publish


POST /publish/v2

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
fromEmail string false indicates sender email
fromName string false indicates sender name
channels array[string] false indicates medium of distribution (sms/email/link/uniqueLinks)
surveyId string false unique id of the program
timezone string true timezone of the request
businessId int false unique id of the business
userId string false unique id of the user
fromDate string false program activates at the given time & date
toDate string false program expires at the given time & date
surveyStartDate string false program creation time & date
surveyEndDate string false program expires at the given time & date
anonymous boolean false indicates whether user can provide feedback anonymously
tagId array[string] false indicates the unique id of tags
participantGroupId int false indicates the unique id of participant group
kickoff string false indicates the date when the survey needs to be published
type string false indicates distribution type (publish/journey/none/links)
kickOffConfig json false indicates the publishing details in journey scenario
subject string true subject of the email
reminderOneSubject string true subject of the 1st reminder
reminderTwoSubject string true subject of the 2nd reminder
host string true indicates the host from which program is published
cc string true indicates company code (DT)
language string true current language of program to be published
reminderConfig array[json] true indicates reminder details
reminderOneMessage string true email body of 1st reminder
reminderTwoMessage string true email body of 2nd reminder
message string true indicates the message in email body
smsMessage string false message to be included in sms
# kickOffConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
metaDataHeader string columns in the list that has metadata type date
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered
# reminderConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered

# Example Request (Publish Type)

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
 	"fromEmail": "arone%40dropthought.com", \ 
 	"fromName": "Dropthought", \ 
 	"channels": ["none", "link"], \ 
 	"surveyId": "66986e09-****-****-9f77-94ab48ebdc32", \
 	"timezone": "America/Los_Angeles", \ 
 	"businessId": 1, \ 
 	"userId": "31db4b0b-****-****-88f1-ea52bd3b501b", \
 	"fromDate": "2020-6-26 17:31:58", \ 
 	"toDate": "2021-06-26 17:31:57", \ 
 	"surveyStartDate": "2020-06-26 17:31:57", \ 
 	"surveyEndDate": "2021-06-26 17:31:57", \ 
 	"anonymous": false, \ 
 	"tagId": [], \ 
 	"participantGroupId": 0, \ 
 	"kickoff": "2020-06-26 17:32:11", \ 
 	"type": "none", \ 
 	"kickOffConfig": null, \ 
 	"subject": "Just drop a thought&#33;", \ 
 	"reminderOneSubject": "Reminder 1 - Just drop a thought!", \ 
 	"reminderTwoSubject": "Final Reminder - Just drop a thought!", \ 
 	"reminders": [null, null], \ 
 	"host": "https://test.dropthought.com", \ 
 	"cc": "DT", \ 
 	"language": "en", \ 
 	"reminderConfig": [] \ 
 }' 'https://test.dropthought.com/dtapp/api/publish/v2'

# Example Response

{
  "Message": "Survey sent successfully",
  "success": true
}

# Example Request (Journey Type)

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
 	"fromEmail": "akshara%40dropthought.com", \
 	"fromName": "Dropthought", \
 	"channels": ["email"], \
 	"surveyId": "fefbacc5-****-****-ba0b-0a903eb7d483", \
 	"timezone": "Asia/Calcutta", \
 	"businessId": 16, \
 	"userId": "0e3becae-****-****-bc3e-14ebc9504096", \
 	"fromDate": "2020-7-30 12:57:29", \
 	"toDate": "2021-07-30 12:57:27", \
 	"surveyStartDate": "2020-07-30 12:57:27", \
 	"surveyEndDate": "2021-07-30 12:57:27", \
 	"anonymous": false, \
 	"tagId": ["98af4beb-****-****-aa95-22bb53d09496"], \
 	"participantGroupId": 10, \
 	"kickoff": "2020-7-30 12:57:29", \
 	"type": "journey", \
 	"kickOffConfig": { \
 		"timezone": "Asia/Calcutta", \
 		"interval": 1, \
 		"intervalType": "days", \
 		"kickOffTime": "12:57:00", \
 		"metaDataHeader": "Joining date" \
 	}, \
 	"subject": "Just drop a thought&#33;", \
 	"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
 	"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
 	"reminders": [null, null], \
 	"host": "https://test.dropthought.com", \
 	"cc": "DT", \
 	"language": "en", \
 	"reminderConfig": [{ \
 		"timezone": "Asia/Calcutta", \
 		"interval": 1, \
 		"intervalType": "days", \
 		"kickOffTime": "12:58:02" \
 	}], \
 	"reminderOneMessage": "Gentle reminder to take your survey! We value your feedback!" \
 }' 'https://test.dropthought.com/dtapp/api/publish/v2'

# Example Response

{
  "Message": "Survey sent successfully",
  "success": true
}
curl --location --request POST 'https://test-api.dropthought.com/dtapp/api/publish/v2' \
--header 'Authorization: Bearer eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJYUVhaR0tOR2RIckN5' \
--header 'Content-Type: application/json' \
--data-raw '{
    "fromEmail": "akshara@dropthought",
    "fromName": "Dropthought",
    "channels": [
        "uniqueLinks"
    ],
    "surveyId": "75007bdd-****-4d0e-bc87-0448aa7db4ba",
    "timezone": "Asia/Calcutta",
    "businessId": 16,
    "userId": "bd06685e-****-467d-abbc-53c773681249",
    "fromDate": "2021-09-14 11:57:03",
    "toDate": "2024-12-30 23:59:59",
    "surveyStartDate": "2021-09-14 11:57:03",
    "surveyEndDate": "2022-09-14 11:56:58",
    "anonymous": false,
    "tagId": [
        "48580413-****-49b4-80c9-4a9f0c310e59"
    ],
    "participantGroupId": 199,
    "type": "links",
    "host": "https://stage.dropthought.com",
    "cc": "DT",
    "language": "en"
}'

# Example Response

{
  "Message": "Survey sent successfully",
  "success": true
}

# Save Publish Program


POST /publish/draft

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
fromEmail string false indicates sender email
fromName string false indicates sender name
channels array[string] false indicates medium of distribution (sms/email/link)
surveyId string false unique id of the program
timezone string true timezone of the request
businessId int false unique id of the business
userId string false unique id of the user
fromDate string false program activates at the given time & date
toDate string false program expires at the given time & date
surveyStartDate string false program creation time & date
surveyEndDate string false program expires at the given time & date
anonymous boolean false indicates whether user can provide feedback anonymously
tagId array[string] false indicates the unique id of tags
participantGroupId int false indicates the unique id of participant group
kickoff string false indicates the date when the survey needs to be published
type string false indicates distribution type (publish/journey/none)
kickOffConfig json false indicates the publishing details in journey scenario
subject string true subject of the email
reminderOneSubject string true subject of the 1st reminder
reminderTwoSubject string true subject of the 2nd reminder
host string true indicates the host from which program is published
cc string true indicates company code (DT)
language string true current language of program to be published
reminderConfig array[json] true indicates reminder details
reminderOneMessage string true email body of 1st reminder
reminderTwoMessage string true email body of 2nd reminder
message string true indicates the message in email body
smsMessage string false message to be included in sms
# kickOffConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
metaDataHeader string columns in the list that has metadata type date
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered
# reminderConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered

# Example Request (Publish Type)

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.' -d '{ \
 	"fromEmail": "akshara%40dropthought.com", \
 	"fromName": "Dropthought", \
 	"channels": ["email", "link", "sms"], \
 	"surveyId": "8c393e67-****-****-969d-34941ece280e", \
 	"timezone": "Asia/Calcutta", \
 	"businessId": 16, \
 	"userId": "0e3becae-****-****-bc3e-14ebc9504096", \
 	"fromDate": "2020-8-4 11:18:34", \
 	"toDate": "2021-08-04 11:18:20", \
 	"surveyStartDate": "2020-08-04 11:18:20", \
 	"surveyEndDate": "2021-08-04 11:18:20", \
 	"anonymous": false, \
 	"tagId": ["98af4beb-****-****-aa95-22bb53d09496"], \
 	"participantGroupId": 10, \
 	"kickoff": "2020-8-4 11:18:34", \
 	"type": "publish", \
 	"kickOffConfig": null, \
 	"subject": "Just drop a thought&#33;", \
 	"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
 	"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
 	"reminders": [null, null], \
 	"host": "https://test.dropthought.com", \
 	"cc": "DT", \
 	"language": "en", \
 	"reminderConfig": [{ \
 		"timezone": "Asia/Calcutta", \
 		"interval": 1, \
 		"intervalType": "days", \
 		"kickOffTime": "11:18:44" \
 	}], \
 	"message": "Hi *( Name )*! We value your opinion! ", \
 	"reminderOneMessage": "Hi *( Name )*, Gentle reminder to complete your survey!", \
 	"smsMessage": "Hi *( Name )*! We value your opinion! " \
 }' 'https://test.dropthought.com/dtapp/api/publish/draft'

# Example Response

{
  "success": true
}

# Example Request (Journey Type)

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '{ \
 	"fromEmail": "aksharasridhar97%40gmail.com", \
 	"fromName": "Dropthought", \
 	"channels": ["email", "link", "sms"], \
 	"surveyId": "8c393e67-****-****-969d-34941ece280e", \
 	"timezone": "Asia/Calcutta", \
 	"businessId": 16, \
 	"userId": "0e3becae-44f2-****-****-14ebc9504096", \
 	"fromDate": "2020-8-4 11:18:34", \
 	"toDate": "2021-08-04 11:18:20", \
 	"surveyStartDate": "2020-08-04 11:18:20", \
 	"surveyEndDate": "2021-08-04 11:18:20", \
 	"anonymous": false, \
 	"tagId": ["98af4beb-****-****-aa95-22bb53d09496"], \
 	"participantGroupId": 10, \
 	"kickoff": "2020-8-4 11:18:34", \
 	"type": "journey", \
 	"kickOffConfig": { \
 		"timezone": "Asia/Calcutta", \
 		"interval": 1, \
 		"intervalType": "days", \
 		"kickOffTime": "11:18:00", \
 		"metaDataHeader": "Joining date" \
 	}, \
 	"subject": "Just drop a thought&#33;", \
 	"reminderOneSubject": "Reminder 1 - Just drop a thought!", \
 	"reminderTwoSubject": "Final Reminder - Just drop a thought!", \
 	"reminders": [null, null], \
 	"host": "https://test.dropthought.com", \
 	"cc": "DT", \
 	"language": "en", \
 	"reminderConfig": [{ \
 		"timezone": "Asia/Calcutta", \
 		"interval": 1, \
 		"intervalType": "days", \
 		"kickOffTime": "11:18:44" \
 	}], \
 	"message": "Hi *( Name )*! We value your opinion! ", \
 	"reminderOneMessage": "Hi *( Name )*, Gentle reminder to complete your survey!", \
 	"smsMessage": "Hi *( Name )*! We value your opinion! " \
 }' 'https://test.dropthought.com/dtapp/api/publish/draft'

# Example Response

{
  "success": true
}

# Get Saved Program


GET /publish/draft/survey/:surveyuuid

# Path Parameters

Path Type Description
surveyuuid string unique identifier of program

# Query Parameters

Path Type Optional Description
language string true language of the program (en)
timezone string true timezone of the request (America/Los_Angles)

# Response fields

Path Type Description
success boolean true (or) false
result save publish program array of publish program objects
# save publish program object
Path Type Description
surveyId string unique id of program entity
tagId array[string] unique ids of tags associated with the program
surveyStartDate string program activates at the given date & time
surveyEndDate string program expires at the given date & time
channels array[string] number of questions in the template
language string current language of published program
type string indicates distribution type (publish/journey/none)
anonymous boolean indicates whether user can provide feedback anonymously
timezone string timezone of the program to be triggered
surveyName string name of the program
host string indicates the host from which program is published
recipientId array[int] participantGroupId of the lists published
subject string subject of the email to be sent
reminderOneSubject string subject of the 1st reminder
reminderTwoSubject string subject of the 2nd reminder
reminderOneMessage string email body of 1st reminder
reminderTwoMessage string email body of 2nd reminder
smsMessage string message to be included in sms
fromEmail string indicates sender email
imageUrl string url of image attached to the email body
fromName string indicated sender name
kickOffConfig array[json] indicates the publish details in journey scenario
kickoff string indicates the date when the program needs to be published
kickOffTime string indicates the time when the program needs to be published
businessUUID string Unique identifier of business
reminderConfig array[json] indicates reminder details
message string indicates the message in email body
fromDate string program activates at the given date & time
toDate string program expires at the given date & time
# kickOffConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
metaDataHeader string columns in the list that has metadata type date
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered
# reminderConfig
Path Type Description
intervalType string indicates the interval type for the trigger (minutes/hours/days/weeks/months)
timezone string timezone of the program to be triggered
interval string indicates the numerical value for interval
kickOffTime string indicates the time when the program needs to be triggered

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/publish/draft/survey/8c393e67-****-****-969d-34941ece280e?timezone=Asia%2FCalcutta&language=en'

# Example Response

{
  "result": {
    "reminderTwoMessage": "",
    "surveyId": "8c393e67-****-****-969d-34941ece280e",
    "smsMessage": "Hi *( Name )*! We value your opinion! ",
    "tagId": [
      "98af4beb-****-****-aa95-22bb53d09496"
    ],
    "subject": "Just drop a thought!",
    "timezone": "Asia/Calcutta",
    "language": "en",
    "type": "publish",
    "fromEmail": "akshara@dropthought.com",
    "kickOffConfig": {
      "intervalType": "days",
      "timezone": "Asia/Calcutta",
      "metaDataHeader": "Joining date",
      "interval": 1,
      "kickOffTime": "11:18:00"
    },
    "surveyName": "",
    "imageUrl": "",
    "fromName": "Dropthought",
    "host": "https://test.dropthought.com",
    "reminderOneMessage": "Hi *( Name )*, Gentle reminder to complete your survey!",
    "kickOffTime": "11:18:34",
    "businessUUID": "161d68ec-****-****-a81f-9794a85ab723",
    "participantGroupId": 10,
    "kickoff": "2020-08-04 11:18:34",
    "reminderConfig": [
      {
        "intervalType": "days",
        "timezone": "Asia/Calcutta",
        "metaDataHeader": null,
        "interval": 1,
        "kickOffTime": "11:18:44"
      }
    ],
    "toDate": "2021-08-04 11:18:20",
    "banner": "",
    "message": "Hi *( Name )*! We value your opinion! ",
    "surveyStartDate": "2020-08-04 11:18:20",
    "fromDate": "2020-08-04 11:18:20",
    "reminderOneSubject": "Reminder 1 - Just drop a thought!",
    "channels": [
      "email",
      "link",
      "sms"
    ],
    "anonymous": "false",
    "reminderTwoSubject": "Final Reminder - Just drop a thought!",
    "surveyEndDate": "2021-08-04 11:18:20"
  },
  "success": true
}

# Review Publish Program


GET /publish/review/programid/:programid

# Path Parameters

Path Type Description
programid string unique identifier of program

# Query Parameters

Path Type Optional Description
language string true language of the program (en)
timezone string true timezone of the request (America/Los_Angles)

# Response fields

Path Type Description
success boolean true (or) false
result review program object review program objects
# review program object
Path Type Description
nps boolean indicates whether nps question is present in program
surveyName string indicates name of the program
anonymous boolean indicates whether user can provide feedback anonymously
metrics array[metrics] metrics used in the program
startDate string program gets activated at the given date & time
endDate string program expires at the given date & time
# metrics object
Path Type Description
metricName string indicates name of the metric
metricId int unique identifier of the metric
questionsCount int number of questions the metric is associated with

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' 'https://test.dropthought.com/dtapp/api/publish/review/programid/8c393e67-****-****-969d-34941ece280e?timezone=America%2FLos_Angeles&language=en'

# Example Response

{
  "result": {
    "nps": true,
    "surveyName": "Program 1",
    "endDate": "2021-08-03 22:48:20",
    "anonymous": false,
    "metrics": [
      {
        "metricName": "HR",
        "metricId": 1,
        "questionsCount": 1
      }
    ],
    "startDate": "2020-08-03 22:48:20"
  },
  "success": true
}

# Text Analytics

# Get Text Analytics Summary Data for Program (deprecated)


GET /eliza/data/summary/api/v1/:company_uuid/:program_uuid

# Path Parameters

Path Type Optional Description (sample value)
program_uuid string false unique id of the program (43408826_****_4f3f_85de_c3ae5c0ddcda)
company_uuid string false unique id of the business (0c904c4b-****-45bd-b252-bc81eee2c98c)

# Query Parameters

Path Type Optional Value Description
sort string false high, low, positive, negative, cat-sent-score the categories will be sorted based on the value provided. high = sort by highest # of feedback, low = sort by lowest # of feedback, positive = sort by most positive, negative = sort by most negative, cat-sent-score = sort by category sentiment score, otherwise default will sort by alphabetical
surveyQuestionId string false survey question uuid the results will match this survey question uuid
toDate string false YYYY-MM-DD the results will be before this date (inclusive)
fromDate string false YYYY-MM-DD the results will be after this date (inclusive)
timezone string false javascript timezone eg America/Los_Angeles the toDate and fromDate values will be converted to UTC based on the timezone provided
filterQuery string false key/value pair expressions which must be URL encoded eg key1=value1 && key2=value2 the results will match what is in the application data

# Response fields

Path Type Description
averageCategoryNegativePercentage number the average of all the negative percentages for all the categories
averageCategoryPositivePercentage number the average of all the positive percentages for all the categories
averageCategorySentimentScore number the average category sentiment score, which is calculated by averageCategoryPositivePercentage - averageCategoryNegativePercentage
bestCategory string the best category based on positive sentiment percentage, followed by positive sentiment count if the positive sentiment percentage is the same. If there is no category with a positive sentiment percentage, then the value is "-"
bestCategoryDataList array of category object a list of the 3 highest categories whose category sentiment score are above the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-".
categories array of category object a list of all the categories
totalCount number the total count of analyzed text
totalNegativeCount number the total count of analyzed text with a negative sentiment
totalNegativePercentage number the total % of analyzed text with a negative sentiment
totalNeutralCount number the total count of analyzed text with a neutral sentiment
totalNeutralPercentage number the total % of analyzed text with a neutral sentiment
totalPositiveCount number the total count of analyzed text with a positive sentiment
totalPositivePercentage number the total % of analyzed text with a positive sentiment
worstCategory string the worst category based on negative sentiment percentage, followed by negative sentiment count if the negative sentiment percentage is the same. If there is no category with a negative sentiment percentage, then the value is "-"
worstCategoryDataList array of category object a list of the 3 lowest categories whose category sentiment score are below the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-".
# Category Object
Path Type Description
categoryCount number the total count for the category
categoryName string the name of the category
categoryNegativeCount number the negative sentiment count for the category
categoryNegativePercentage number the negative sentiment % for the category
categoryNeutralCount number the neutral sentiment count for the category
categoryNeutralPercentage number the neutral sentiment % for the category
categoryPositiveCount number the positive sentiment count for the category
categoryPositivePercentage number the positive sentiment % for the category
categorySentimentScore number The category sentiment score, which is calculated by categoryPositivePercentage - categoryNegativePercentage. Note: This parameter only appears for the bestCategoryDataList and worstCategoryDataList parameters.

# Example Request

curl --location --request GET 'https://app.dropthought.com/eliza/data/summary/api/v1/1681f5ac-****-46c8-b0c8-7b27d3579f78/659a49f6_****_4f9d_acc2_de45e868ffe6?fromDate=2020-6-22&toDate=2020-6-29&surveyQuestionId=c1674d35-6ad7-4289-806c-7f856f918476&timezone=Asia/Calcutta%0A&filterQuery'

# Example Response

{
    "averageCategoryNegativePercentage": 76.1,
    "averageCategoryPositivePercentage": 8.83,
    "averageCategorySentimentScore": -67.26,
    "bestCategory": "Product Price",
    "bestCategoryDataList": [
        {
            "categoryCount": 10401,
            "categoryName": "Product Price",
            "categoryNegativeCount": 3469,
            "categoryNegativePercentage": 33.35,
            "categoryNeutralCount": 6066,
            "categoryNeutralPercentage": 58.32,
            "categoryPositiveCount": 866,
            "categoryPositivePercentage": 8.33,
            "categorySentimentScore": -25.02
        },
        {
            "categoryCount": 3416,
            "categoryName": "Nook",
            "categoryNegativeCount": 2180,
            "categoryNegativePercentage": 63.82,
            "categoryNeutralCount": 436,
            "categoryNeutralPercentage": 12.76,
            "categoryPositiveCount": 800,
            "categoryPositivePercentage": 23.42,
            "categorySentimentScore": -40.4
        },
        {
            "categoryCount": 2619,
            "categoryName": "Product",
            "categoryNegativeCount": 1905,
            "categoryNegativePercentage": 72.74,
            "categoryNeutralCount": 248,
            "categoryNeutralPercentage": 9.47,
            "categoryPositiveCount": 466,
            "categoryPositivePercentage": 17.79,
            "categorySentimentScore": -54.95
        }
    ],
    "categories": [
        {
            "categoryCount": 1823,
            "categoryName": "Advertisement Positions",
            "categoryNegativeCount": 1426,
            "categoryNegativePercentage": 78.22,
            "categoryNeutralCount": 265,
            "categoryNeutralPercentage": 14.54,
            "categoryPositiveCount": 132,
            "categoryPositivePercentage": 7.24
        },
        {
            "categoryCount": 4020,
            "categoryName": "Website Design",
            "categoryNegativeCount": 2961,
            "categoryNegativePercentage": 73.66,
            "categoryNeutralCount": 586,
            "categoryNeutralPercentage": 14.58,
            "categoryPositiveCount": 473,
            "categoryPositivePercentage": 11.77
        },
        {
            "categoryCount": 2967,
            "categoryName": "Website Functionality",
            "categoryNegativeCount": 2578,
            "categoryNegativePercentage": 86.89,
            "categoryNeutralCount": 296,
            "categoryNeutralPercentage": 9.98,
            "categoryPositiveCount": 93,
            "categoryPositivePercentage": 3.13
        },
        {
            "categoryCount": 6521,
            "categoryName": "Website Navigation",
            "categoryNegativeCount": 5146,
            "categoryNegativePercentage": 78.91,
            "categoryNeutralCount": 689,
            "categoryNeutralPercentage": 10.57,
            "categoryPositiveCount": 686,
            "categoryPositivePercentage": 10.52
        },
        {
            "categoryCount": 2340,
            "categoryName": "Uncategorized",
            "categoryNegativeCount": 1724,
            "categoryNegativePercentage": 73.68,
            "categoryNeutralCount": 217,
            "categoryNeutralPercentage": 9.27,
            "categoryPositiveCount": 399,
            "categoryPositivePercentage": 17.05
        }
    ],
    "totalCount": 77457,
    "totalNegativeCount": 55344,
    "totalNegativePercentage": 71.45,
    "totalNeutralCount": 14382,
    "totalNeutralPercentage": 18.57,
    "totalPositiveCount": 7731,
    "totalPositivePercentage": 9.98,
    "worstCategory": "Nook Availability",
    "worstCategoryDataList": [
        {
            "categoryCount": 1780,
            "categoryName": "Nook Availability",
            "categoryNegativeCount": 1589,
            "categoryNegativePercentage": 89.27,
            "categoryNeutralCount": 141,
            "categoryNeutralPercentage": 7.92,
            "categoryPositiveCount": 50,
            "categoryPositivePercentage": 2.81,
            "categorySentimentScore": -86.46
        },
        {
            "categoryCount": 4063,
            "categoryName": "Product Functionality",
            "categoryNegativeCount": 3578,
            "categoryNegativePercentage": 88.06,
            "categoryNeutralCount": 352,
            "categoryNeutralPercentage": 8.66,
            "categoryPositiveCount": 133,
            "categoryPositivePercentage": 3.27,
            "categorySentimentScore": -84.79
        },
        {
            "categoryCount": 1538,
            "categoryName": "Page Loading",
            "categoryNegativeCount": 1349,
            "categoryNegativePercentage": 87.71,
            "categoryNeutralCount": 130,
            "categoryNeutralPercentage": 8.45,
            "categoryPositiveCount": 59,
            "categoryPositivePercentage": 3.84,
            "categorySentimentScore": -83.87
        }
    ]

# Get Text Analytics Program Word Cloud


GET /api/eliza/wordcloud/surveyid/:surveyuuid

# Path Parameters

Path Type Optional Description (sample value)
surveyuuid string false unique id of the program

# Query Parameters

Path Type Optional Description
wcMinCount string true only return words that have at least this many occurences
wcMaxCount string true only return words that have at most this many occurences
surveyQuestionId string true the results will match this survey question uuid
toDate string true the results will be before this date (inclusive)
fromDate string true the results will be after this date (inclusive)
category string true the results will match this category
textSentiment string true the results will match this textSentiment
timezone string true the toDate and fromDate values will be converted to UTC based on the timezone provided
surveyFilterId string true the results will match what is in the application data
type string true indicates type of plan

# Response fields

Parameter Type Description
companyId string company uuid
surveyId string program uuid
wordCloudDataList array of word cloud data object a list of word cloud data in descending order of number of occurrences
wordCloudMaxCount number maximum number of occurrences for a word in the the word cloud
wordCloudMinCount number minimum number of occurrences for a word in the the word cloud
wordCloudPartsOfSpeech array of parts of speech a list of parts of speech that are used to match words in the word cloud
wordCloudSize number number of words in the word cloud

# Word Cloud Data Object

Parameter Type Description
count number the number of occurrences for the word in the the word cloud
word string the word (in lemma form) in the word cloud

# Example Request

curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/wordcloud/surveyid/17a7fcf4-****-****-8178-b9a03007e866?wcMinCount=1&wcMaxCount=1500&fromDate=2020-12-22&toDate=2020-12-29&surveyQuestionId=&timezone=Asia/Calcutta&surveyFilterId=' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.'

# Example Response

{
    "companyId": "727f3559-****-****-b0e3-7efc0a5f2841",
    "surveyId": "17a7fcf4_****_****_8178_b9a03007e866",
    "wordCloudDataList": [
        {
            "count": 10,
            "word": "guy"
        },
        {
            "count": 6,
            "word": "power"
        },
        {
            "count": 5,
            "word": "pg&e"
        },
        {
            "count": 4,
            "word": "day"
        },
        {
            "count": 4,
            "word": "community"
        },
        {
            "count": 4,
            "word": "company"
        },
        {
            "count": 3,
            "word": "resources"
        },
        {
            "count": 3,
            "word": "jobs"
        },
        {
            "count": 3,
            "word": "website"
        },
        {
            "count": 3,
            "word": "phone"
        },
        {
            "count": 3,
            "word": "information"
        },
        {
            "count": 3,
            "word": "time"
        },
        {
            "count": 2,
            "word": "text"
        },
        {
            "count": 2,
            "word": "kind"
        },
        {
            "count": 2,
            "word": "people"
        },
        {
            "count": 2,
            "word": "internet"
        },
        {
            "count": 2,
            "word": "reason"
        },
        {
            "count": 2,
            "word": "services"
        },
        {
            "count": 2,
            "word": "site"
        },
        {
            "count": 2,
            "word": "outreach"
        },
        {
            "count": 2,
            "word": "alert"
        },
        {
            "count": 1,
            "word": "roi"
        },
        {
            "count": 1,
            "word": "public safety power"
        },
        {
            "count": 1,
            "word": "negligence"
        },
        {
            "count": 1,
            "word": "rest"
        },
        {
            "count": 1,
            "word": "recent month"
        },
        {
            "count": 1,
            "word": "facilities"
        },
        {
            "count": 1,
            "word": "someone"
        },
        {
            "count": 1,
            "word": "around"
        },
        {
            "count": 1,
            "word": "means"
        },
        {
            "count": 1,
            "word": "emergency services"
        },
        {
            "count": 1,
            "word": "reliable source"
        },
        {
            "count": 1,
            "word": "credit"
        },
        {
            "count": 1,
            "word": "little bit"
        },
        {
            "count": 1,
            "word": "order"
        }
    ],
    "wordCloudMaxCount": 1500,
    "wordCloudMinCount": 1,
    "wordCloudPartsOfSpeech": [
        "n",
        "v",
        "adj",
        "adv",
        "pr"
    ],
    "wordCloudSize": 201
}

# Get Text Analytics Program Summary


GET /api/eliza/summary/surveyid/:surveyuuid

# Path Parameters

Path Type Optional Description
surveyuuid string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyQuestionId string true the results will match this survey question uuid
toDate string true the results will be before this date (inclusive)
fromDate string true the results will be after this date (inclusive)
category string true the results will match this category
textSentiment string true the results will match this textSentiment
timezone string true the toDate and fromDate values will be converted to UTC based on the timezone provided
surveyFilterId string true the results will match what is in the application data
type string true indicates type of plan

# Response fields

Path Type Description
averageCategoryNegativePercentage number the average of all the negative percentages for all the categories
averageCategoryPositivePercentage number the average of all the positive percentages for all the categories
averageCategorySentimentScore number the average category sentiment score, which is calculated by averageCategoryPositivePercentage - averageCategoryNegativePercentage
bestCategory string the best category based on positive sentiment percentage, followed by positive sentiment count if the positive sentiment percentage is the same. If there is no category with a positive sentiment percentage, then the value is "-"
bestCategoryDataList array of category object a list of the 3 highest categories whose category sentiment score are above the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-".
categories array of category object a list of all the categories
totalCount number the total count of analyzed text
totalNegativeCount number the total count of analyzed text with a negative sentiment
totalNegativePercentage number the total % of analyzed text with a negative sentiment
totalNeutralCount number the total count of analyzed text with a neutral sentiment
totalNeutralPercentage number the total % of analyzed text with a neutral sentiment
totalPositiveCount number the total count of analyzed text with a positive sentiment
totalPositivePercentage number the total % of analyzed text with a positive sentiment
worstCategory string the worst category based on negative sentiment percentage, followed by negative sentiment count if the negative sentiment percentage is the same. If there is no category with a negative sentiment percentage, then the value is "-"
worstCategoryDataList array of category object a list of the 3 lowest categories whose category sentiment score are below the average category sentiment score. If less than 3 categories meet these requirements, then the list is padded with dummy dictionaries where the category name is "-".
# Category Object
Path Type Description
categoryCount number the total count for the category
categoryName string the name of the category
categoryNegativeCount number the negative sentiment count for the category
categoryNegativePercentage number the negative sentiment % for the category
categoryNeutralCount number the neutral sentiment count for the category
categoryNeutralPercentage number the neutral sentiment % for the category
categoryPositiveCount number the positive sentiment count for the category
categoryPositivePercentage number the positive sentiment % for the category
categorySentimentScore number The category sentiment score, which is calculated by categoryPositivePercentage - categoryNegativePercentage. Note: This parameter only appears for the bestCategoryDataList and worstCategoryDataList parameters.

# Example Request

curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/summary/surveyid/17a7fcf4-****-****-8178-b9a03007e866?timezone=Asia/Calcutta&surveyFilterId=&fromDate=2020-11-29%2000:00:00&toDate=2020-12-29%2023:59:59' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9'

# Example Response

{{
     "averageCategoryNegativePercentage": 48.84,
     "averageCategoryPositivePercentage": 42.6,
     "averageCategorySentimentScore": -6.24,
     "bestCategory": "Evacuation",
     "bestCategoryDataList": [
         {
             "categoryCount": 1,
             "categoryName": "Evacuation",
             "categoryNegativeCount": 0,
             "categoryNegativePercentage": 0,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 1,
             "categoryPositivePercentage": 100,
             "categorySentimentScore": 100
         },
         {
             "categoryCount": 4,
             "categoryName": "Service Timeliness",
             "categoryNegativeCount": 1,
             "categoryNegativePercentage": 25,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 3,
             "categoryPositivePercentage": 75,
             "categorySentimentScore": 50
         },
         {
             "categoryCount": 6,
             "categoryName": "Professionalism",
             "categoryNegativeCount": 1,
             "categoryNegativePercentage": 16.67,
             "categoryNeutralCount": 1,
             "categoryNeutralPercentage": 16.67,
             "categoryPositiveCount": 4,
             "categoryPositivePercentage": 66.67,
             "categorySentimentScore": 50
         }
     ],
     "categories": [
         {
             "categoryCount": 19,
             "categoryName": "Communication",
             "categoryNegativeCount": 9,
             "categoryNegativePercentage": 47.37,
             "categoryNeutralCount": 7,
             "categoryNeutralPercentage": 36.84,
             "categoryPositiveCount": 3,
             "categoryPositivePercentage": 15.79
         },
         {
             "categoryCount": 20,
             "categoryName": "Customer satisfaction",
             "categoryNegativeCount": 7,
             "categoryNegativePercentage": 35,
             "categoryNeutralCount": 3,
             "categoryNeutralPercentage": 15,
             "categoryPositiveCount": 10,
             "categoryPositivePercentage": 50
         },
         {
             "categoryCount": 4,
             "categoryName": "Disaster affect",
             "categoryNegativeCount": 4,
             "categoryNegativePercentage": 100,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 0,
             "categoryPositivePercentage": 0
         },
         {
             "categoryCount": 1,
             "categoryName": "Evacuation",
             "categoryNegativeCount": 0,
             "categoryNegativePercentage": 0,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 1,
             "categoryPositivePercentage": 100
         },
         {
             "categoryCount": 1,
             "categoryName": "Infrastructure",
             "categoryNegativeCount": 1,
             "categoryNegativePercentage": 100,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 0,
             "categoryPositivePercentage": 0
         },
         {
             "categoryCount": 6,
             "categoryName": "Professionalism",
             "categoryNegativeCount": 1,
             "categoryNegativePercentage": 16.67,
             "categoryNeutralCount": 1,
             "categoryNeutralPercentage": 16.67,
             "categoryPositiveCount": 4,
             "categoryPositivePercentage": 66.67
         },
         {
             "categoryCount": 3,
             "categoryName": "Safety protocols",
             "categoryNegativeCount": 2,
             "categoryNegativePercentage": 66.67,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 1,
             "categoryPositivePercentage": 33.33
         },
         {
             "categoryCount": 4,
             "categoryName": "Service Timeliness",
             "categoryNegativeCount": 1,
             "categoryNegativePercentage": 25,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 3,
             "categoryPositivePercentage": 75
         },
         {
             "categoryCount": 9,
             "categoryName": "Uncategorized",
             "categoryNegativeCount": 2,
             "categoryNegativePercentage": 22.22,
             "categoryNeutralCount": 5,
             "categoryNeutralPercentage": 55.56,
             "categoryPositiveCount": 2,
             "categoryPositivePercentage": 22.22
         }
     ],
     "totalCount": 67,
     "totalNegativeCount": 27,
     "totalNegativePercentage": 40.3,
     "totalNeutralCount": 16,
     "totalNeutralPercentage": 23.88,
     "totalPositiveCount": 24,
     "totalPositivePercentage": 35.82,
     "worstCategory": "Disaster affect",
     "worstCategoryDataList": [
         {
             "categoryCount": 4,
             "categoryName": "Disaster affect",
             "categoryNegativeCount": 4,
             "categoryNegativePercentage": 100,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 0,
             "categoryPositivePercentage": 0,
             "categorySentimentScore": -100
         },
         {
             "categoryCount": 1,
             "categoryName": "Infrastructure",
             "categoryNegativeCount": 1,
             "categoryNegativePercentage": 100,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 0,
             "categoryPositivePercentage": 0,
             "categorySentimentScore": -100
         },
         {
             "categoryCount": 3,
             "categoryName": "Safety protocols",
             "categoryNegativeCount": 2,
             "categoryNegativePercentage": 66.67,
             "categoryNeutralCount": 0,
             "categoryNeutralPercentage": 0,
             "categoryPositiveCount": 1,
             "categoryPositivePercentage": 33.33,
             "categorySentimentScore": -33.34
         }
     ]
 }

# Get Text Analytics Program Data


GET /api/eliza/data/surveyid/:surveyuuid

# Path Parameters

Path Type Optional Description
surveyuuid string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyQuestionId string true the results will match this survey question uuid
toDate string true the results will be before this date (inclusive)
fromDate string true the results will be after this date (inclusive)
category string true the results will match this category
textSentiment string true the results will match this textSentiment
timezone string true the toDate and fromDate values will be converted to UTC based on the timezone provided
surveyFilterId string true the results will match what is in the application data
type string true indicates type of plan
offset string true the results will be offset by this value
limit string true the number of results will not execeed this value

# Response fields

Parameter Type Description
categoryName string name of the category
companyId string company uuid
feedbackList array of feedback object a list of all the feedback for the given company uuid, program uuid, and category name
surveyId string program uuid

# Feedback Object

Parameter Type Description
customerFeedbackText string customer feedback response
dateTimestamp string date timestamp of the feedback
questionText string feedback question
surveyQuestionId string survey question uuid
textSentiment string sentiment of the feedback: positive, negative, or neutral

# Example Request

curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/data/surveyid/17a7fcf4-****-****-8178-b9a03007e866?fromDate=2020-11-29&toDate=2020-12-29&textSentiment=Positive&limit=3&offset=0&timezone=Asia/Calcutta&surveyFilterId=&category=Communication' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9'

# Example Response

{
    "categoryName": "Communication",
    "companyId": "727f3559-****-****-b0e3-7efc0a5f2841",
    "feedbackList": [
        {
            "customerFeedbackText": "Definitely a good communicative foundation to build on, to try and better tackle company outreach.",
            "dateTimestamp": "Fri, 11 Dec 2020 09:19:00 GMT",
            "questionText": "Please tell us how we can improve",
            "surveyQuestionId": "4e1fbbad-****-****-b33b-996313642900",
            "textSentiment": "Positive"
        },
        {
            "customerFeedbackText": "I get inconsistent text and phone notification regarding Public Safety Power Shutoffs, but I have found the associated website to be pretty informative and helpful.",
            "dateTimestamp": "Fri, 11 Dec 2020 09:19:00 GMT",
            "questionText": "Please tell us how we can improve",
            "surveyQuestionId": "4e1fbbad-****-****-b33b-996313642900",
            "textSentiment": "Positive"
        },
        {
            "customerFeedbackText": "Us community members having more transparency on that really goes a long way toward our perception of your company.",
            "dateTimestamp": "Fri, 11 Dec 2020 09:19:00 GMT",
            "questionText": "Please tell us how we can improve",
            "surveyQuestionId": "4e1fbbad-****-****-b33b-996313642900",
            "textSentiment": "Positive"
        }
    ],
    "surveyId": "17a7fcf4_****_****_8178_b9a03007e866"
}

# Get Text Analytics Program Feedback


GET /api/eliza/data/feedback/surveyid/:surveyuuid

# Path Parameters

Path Type Optional Description
surveyuuid string false unique id of the program

# Query Parameters

Path Type Optional Description
surveyQuestionId string true the results will match this survey question uuid
toDate string true the results will be before this date (inclusive)
fromDate string true the results will be after this date (inclusive)
category string true the results will match this category
textSentiment string true the results will match this textSentiment
timezone string true the toDate and fromDate values will be converted to UTC based on the timezone provided
surveyFilterId string true the results will match what is in the application data
type string true indicates type of plan

# Response fields

Parameter Type Description
companyId string company uuid
surveyId string program uuid
feedbackDataList array of feedback data object a list of feedback data (shown in the same order as the ids query parameter, if provided)

# Feedback Data Object

Parameter Type Description
feedback string the feedback text
submissionToken string the submission token
classifications string A list of classifications for the feedback text that matches the order of the analyzed text. Each classification consists of a key/value pair, where the key is the category and the value is the associated sentiment.
overallSentiment string the overall sentiment of the feedback text based on the sentiment counts

# Example Request

curl --location --request GET 'https://app.dropthought.com/dtapp/api/eliza/data/feedback/surveyid/17a7fcf4-****-****-8178-b9a03007e866?fromDate=2020-11-29&toDate=2020-12-29&timezone=Asia/Calcutta&category=Communication&textSentiment=' \
--header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9'

# Example Response

{
    "companyId": "727f3559-****-****-b0e3-7efc0a5f2841",
    "feedbackDataList": [
        {
            "classifications": [
                {
                    "Communication": "Negative"
                },
                {
                    "Safety protocols": "Negative"
                }
            ],
            "feedback": "I don't think there is enough communication from your company to keep us informed. I feel like your outreach could use significant improvement so local businesses can adjust to power shutoff notices and changes in customer traffic that result from that.",
            "feedbackId": 1,
            "overallSentiment": "Overall Negative",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "dl3raod8au6kani90hkg0ovv8s"
        },
        {
            "classifications": [
                {
                    "Customer satisfaction ": "Negative"
                },
                {
                    "Infrastructure ": "Negative"
                }
            ],
            "feedback": "The falterings in service quality of PG&E come across as negligence and even indifference to the unique needs for the communities it serves. I keep seeing what comes across as bad mismanagement of customer money on the wrong kind of infrastructure, doing more patching up than modernization.",
            "feedbackId": 11,
            "overallSentiment": "Overall Negative",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "49odkfdln6pjg4g4oh9hnki7mg"
        },
        {
            "classifications": [
                {
                    "Safety protocols": "Positive"
                },
                {
                    "Customer satisfaction ": "Negative"
                }
            ],
            "feedback": "There is a wealth of safety information PG&E has provided to prepare for outages and explain why and when they occur, so there does appear to be a degree of thought and care in equipping their customers with information and guidance to prepare contingencies. The outreach and efforts to try and raise awareness of these associate resources does not really feel like it�s there, though, as each company department is seemingly really just providing support on a particular need like billing or service changes or listing helpful safety information and alerts, but that there is a lot of digging needed to take full advantage of the resources available.",
            "feedbackId": 22,
            "overallSentiment": "Overall Neutral",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "eit149j8hpahsosjubf1mi6of8"
        },
        {
            "classifications": [
                {
                    "Customer satisfaction ": "Positive"
                },
                {
                    "Disaster affect": "Negative"
                }
            ],
            "feedback": "I feel PG&E has made a valiant effort to try and keep us posted has best they can, and so it�s definitely appreciated they�re keeping their website updated with the latest news and resources. No one could have foreseen such a strain on the infrastructure that we�ve all experienced.",
            "feedbackId": 28,
            "overallSentiment": "Overall Neutral",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "n6bhi371ao0u95qfqhrsn5o8jk"
        },
        {
            "classifications": [
                {
                    "Communication": "Negative"
                },
                {
                    "Professionalism": "Positive"
                }
            ],
            "feedback": "The problem is, here, that I don�t exactly know who in the company to turn to regarding complaints I need addressed or how I�m to best address them. There are a lot of infrastructural concerns that I know must be taken into account, because I could complain that the servicing of my residence by PG&E technicians leaves a lot to be desired but the communications by company representatives by phone or text are surprisingly attentive and courteous.",
            "feedbackId": 34,
            "overallSentiment": "Overall Neutral",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "llo15cprirne5jvsrd484hr6t"
        },
        {
            "classifications": [
                {
                    "Communication": "Negative"
                },
                {
                    "Communication": "Neutral"
                }
            ],
            "feedback": "In order for us to make the best preparations for our patients and best safeguard their welfare, we cannot reliably do so when there are lapses in your communicativeness towards facilities like ours. That kind of situation can be downright dangerous for the people in our care, and PG&E must be consistent with those communcations.",
            "feedbackId": 40,
            "overallSentiment": "Overall Negative",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "f3ist33vqihbs6k1gmbm44v532"
        },
        {
            "classifications": [
                {
                    "Communication": "Positive"
                },
                {
                    "Communication": "Neutral"
                }
            ],
            "feedback": "I get inconsistent text and phone notification regarding Public Safety Power Shutoffs, but I have found the associated website to be pretty informative and helpful. I love that I now have the means to be able to distinguish between the very helpful component of the solution (the site) and what should be a far more useful but currently much more unreliable component (the text and phone notifications) via my written feedback here, so that has helped with feeling heard.",
            "feedbackId": 49,
            "overallSentiment": "Overall Positive",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "7ocohpvv0o38mgohv1qfps3q2q"
        },
        {
            "classifications": [
                {
                    "Customer satisfaction ": "Positive"
                },
                {
                    "Customer satisfaction ": "Positive"
                }
            ],
            "feedback": "The service accommodations that PG&E have made available to me (though I did have some trouble finding them at first) through Third-Party Notification and the Medical Baseline program to better look after my disabled relatives have been great to utilize. Every little bit helps right now to try and make things easier, so that's definitely appreciated.",
            "feedbackId": 63,
            "overallSentiment": "Overall Positive",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "tbolhvel16bqf3q2ar9uo7q303"
        },
        {
            "classifications": [
                {
                    "Safety protocols": "Negative"
                },
                {
                    "Service Timeliness": "Negative"
                }
            ],
            "feedback": "Why does it always seem that the safety alerts and notifications we get come after the need has already past, if we get any kind of a heads-up at all? We depend on these alerts so badly so we can plan our day around potential service interruptions, so if we don�t get them in a timely fashion then everything gets thrown out of whack!",
            "feedbackId": 67,
            "overallSentiment": "Overall Negative",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "fklquadrumcah08i3v4rhnq2jr"
        },
        {
            "classifications": [
                {
                    "Uncategorized": "Neutral"
                },
                {
                    "Service Timeliness": "Positive"
                },
                {
                    "Customer satisfaction ": "Neutral"
                },
                {
                    "Evacuation": "Positive"
                },
                {
                    "Customer satisfaction ": "Positive"
                }
            ],
            "feedback": "Whelp. I will say this for you, you got the power back on up here pretty quickly after the fire. Also, this one wasn't even your fault! Just kidding ;) It was real nice to come home to power after being evacuated for over 40 days. I know you guys aren't hearing much praise these days, but we do appreciate all your hard work up here.",
            "feedbackId": 73,
            "overallSentiment": "Overall Positive",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "h952psdlv3hh6hsko0f4vgf3g6"
        },
        {
            "classifications": [
                {
                    "Communication": "Neutral"
                },
                {
                    "Disaster affect": "Negative"
                },
                {
                    "Communication": "Neutral"
                }
            ],
            "feedback": "It is imperative that there be a reliable source of information that is easily accessible. This is a rural area, if we don't have power, no internet, no way to contact emergency services, we don't have any real recourse available to us at that point. Please take this opportunity to let me know what you then expect us to do, so you don't keep having to answer the same questions and I can pass the information along.",
            "feedbackId": 96,
            "overallSentiment": "Overall Neutral",
            "questionId": "4e1fbbad-****-****-b33b-996313642900",
            "questionText": "Please tell us how we can improve",
            "submissionToken": "1pjqv03bo372jksq787nb2rlu7"
        }
    ],
    "surveyId": "17a7fcf4_****_****_8178_b9a03007e866"
}


POST /link

# Request fields

Path Type Optional Description
tagLinkName string false unique name of the tag list
createdBy string false user unique id

# Response fields

Path Type Description
success boolean true (or) false
result array[taglink object] generated taglink details
Path Type Description
id integer unique id of the tag link
tagLinkName String tag link name
createBy String unique id of user
linkGroups array list of groups in tag link
createdTime datetime tag created date time
modifiedTime datetime tag modified date time
tagLinkUniqueId integer unique id of the tag link
linkGroupUniqueId String unique id of the link groupId

# Example Request

curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link' -H 'Content-Type: application/json' -H 'Authorization: token here' --data-raw '{
	"tagLinkName": "Tag Link Name1",
	"createdBy": "56bfbb84-****-****-****-39982d8cf7db"
}
'

# Example Response

{
    "result": [
        {
            "id": 5,
            "linkGroups": "[]",
            "linkGroupIds": [],
            "tagLinkName": "Tag Link Name1",
            "tagLinkUniqueId": "a44d5233-****-****-****-4a450c640a8f",
            "createdTime": "2021-08-06 11:53:50.0",
            "createdBy": "56bfbb84-****-****-****-39982d8cf7db",
            "linkGroupUniqueId": ""
        }
    ],
    "success": true
}


GET /link

# Query Parameters

Path Type Optional Description
pageId integer true Page number default -1
businessUniqeId string false business unique Id
sort string true sort by created_time (default) / modified_time
searchTerm string true tag link name to be searched (value should be URL encoded string)

# Response fields

Path Type Description
success boolean true (or) false
result array[taglink object] generated taglink details
totalRecords int count of generated tag link
totalPages int count of total pages (10 tag links per page)

# Example Request

curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link?businessUniqueId=1f987cfc-****-****-****-29f977f97097&pageId=1&sort=modified_time&searchTerm=tag' -H 'Authorization: Bearer token here'

# Example Response

{
    "result": [
        {
            "id": 5,
            "tagLinkName": "Tag Link Name1",
            "tagLinkUniqueId": "a44d5233-****-****-****-4a450c640a8f",
            "linkGroups": [],
            "linkGroupIds": [],
            "createdTime": "2021-08-06 11:53:50.0",
            "modifiedTime": "2021-08-06 11:53:50.0",
            "createdBy": "56bfbb84-****-****-****-39982d8cf7db"
        },
        {
            "id": 3,
            "tagLinkName": "Tag Link Name2",
            "tagLinkUniqueId": "de2bd09f-****-****-****-170bff967e98",
            "linkGroups": [],
            "linkGroupIds": [],
            "createdTime": "2021-05-06 11:39:22.0",
            "modifiedTime": "2021-05-06 11:39:22.0",
            "createdBy": "56bfbb84-****-****-****-39982d8cf7db"
        },
        {
            "id": 1,
            "tagLinkName": "Tag Link Name",
            "tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a",
            "linkGroups": [
                4,
                5,
                6,
                7,
                8,
                9
            ],
            "linkGroupIds": [
                "61d01e94-****-****-****-2aede97940e0",
                "026c557b-****-****-****-0d305a9404b5",
                "6f1e5ffa-****-****-****-094a7a073883",
                "93e6a506-****-****-****-20f466f2fd4b",
                "f32765db-****-****-****-23c86fac142e",
                "843564fa-****-****-****-746b7b355b89"
            ],
            "createdTime": "2021-05-05 14:44:45.0",
            "modifiedTime": "2021-05-05 14:44:45.0",
            "createdBy": "56bfbb84-****-****-****-39982d8cf7db"
        }
    ],
    "totalRecords": 3,
    "success": true,
    "totalPages": 1
}


GET /link/:taglinkuuid/data

# Path Parameters

Path Type Optional Description
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
pageId integer true Page number default -1
sort string true sort by created_time (default) / modified_time
searchTerm string true tag link name to be searched (value should be URL encoded string)

# Response fields

Path Type Description
success boolean true (or) false
result array[linkdata object] generated taglink details
currentPageRecords int count of generated tag link
totalPages int count of total pages (10 tag links per page)
headerList array[String] header name of the list
metaDataList array[String] meta data type of each header
linkGroupId int primary Id of link group
linkGroupUUID String uniqueId of link group

# taglinkdata object

Path Type Description
id int primaryId of link
data array[String] data of the list
header array[String] header name of the list
metaData array[String] meta data type of each header
linkUUID String uniqueId of link
created_by int created user primaryid
created_time String link data created time
modified_time String link data modified time
created_by int modified user pirmaryId

# Example Request

curl -L -X GET 'https://stage-api.dropthought.com/dtapp/api/link/b316cbea-****-****-****-d510278ad09b/data?pageId=1&sort=created_time&searchTerm=fir' -H 'Authorization: Bearer token here'

# Example Response

{
	"result": [{
		"data": ["First name", "Middle name", "Last name", "21", "Male", "Sales Manager"],
		"created_by": 26,
		"created_time": "2021-08-06 12:35:57.0",
		"modified_by": null,
		"modified_time": null,
		"id": 1,
		"metaData": ["NAME", "STRING", "STRING", "STRING", "STRING", "STRING"],
		"header": ["Name", "Mid Name", "last name", "Age", "Gender", "Occupation"],
		"linkUUId": "8ed84ee7-c495-4016-a692-d120b1145964"
	}],
	"headerList": ["Name", "Mid Name", "last name", "Age", "Gender", "Occupation"],
	"metaDataList": ["NAME", "STRING", "STRING", "STRING", "STRING", "STRING"],
	"totalRecords": 1,
	"currentPageRecords": 1,
	"success": true,
	"linkGroupId": 8,
	"linkGroupUUID": "51728dc8-****-****-****-86522705617f",
	"totalPages": 1
}


GET /link/:taglinkuuid

# Path Parameters

Path Type Optional Description
taglinkuuid string false unique id of the tag list

# Response fields

Path Type Description
success boolean true (or) false
result array[taglink object] generated taglink details

# Example Request

curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link/a6a1a1ba-****-****-****-7132b11c4a4a' -H 'Authorization: Bearer token here'

# Example Response

{
    "result": {
        "modifiedTime": null,
        "linkGroups": [
            4,
            5,
            6,
            7,
            8,
            9
        ],
        "linkGroupIds": [
            "61d01e94-****-****-****-2aede97940e0",
            "026c557b-****-****-****-0d305a9404b5",
            "6f1e5ffa-****-****-****-094a7a073883",
            "93e6a506-****-****-****-20f466f2fd4b",
            "f32765db-****-****-****-23c86fac142e",
            "843564fa-****-****-****-746b7b355b89"
        ],
        "createdBy": "56bfbb84-eac8-4288-b501-39982d8cf7db",
        "createdTime": "2021-05-05 14:44:45.0",
        "id": 1,
        "tagLinkName": "Tag Link Name",
        "tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a"
    },
    "success": true
}


PUT /link/:taglinkuuid

# Path Parameters

Path Type Optional Description
taglinkuuid string false unique id of the tag list

# Request fields

Path Type Optional Description
tagLinkName string false unique name of the tag list
modifiedBy string false user unique id

# Response fields

Path Type Description
success boolean true (or) false
result array[] empty array will be displayed

# Example Request

curl -L -X PUT 'https://test-api.dropthought.com:443/dtapp/api/link/a6a1a1ba-****-****-****-7132b11c4a4a' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
	"tagLinkName": "Tag Link Name1",
	"modifiedBy": "56bfbb84-****-****-****-39982d8cf7db"
}'

# Example Response

{
    "result": [],
    "success": true
}


DELETE /link/:taglinkuuid

# Path Parameters

Path Type Optional Description
taglinkuuid string false unique id of the tag list

# Response fields

Path Type Description
success boolean true (or) false
result array[] empty array will be displayed

# Example Request

curl -L -X DELETE 'https://test-api.dropthought.com:443/dtapp/api/link/a6a1a1ba-****-****-****-7132b11c4a4a' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' 

# Example Response

{
    "result": [],
    "success": true
}


POST link/group

# Request fields

Path Type Optional Description
link object false/true object with link details (required when link creation else optional)
linkGroup object false/true object with link group details (optional when link creation)
tagLinkId object false tag id or tag uuid of the list
Path Type Optional Description
data array[string] false details of the link
header array[string] false header values of the list
metadata array[string] true meta data mapping for the header
Path Type Optional Description
active int false status of the link group
name string false name of the link group

# Response fields

Path Type Description
success boolean true (or) false
result link response Object link group details
Path Type Description
id integer unique id of the tag link
tagLinkName String tag link name
tagLinkUniqueId String unique id of the tag link
linkGroups array list of group primaryId in tag link
linkGroupIds array list of group uniqueId in tag link
createBy String unique id of user
createdTime datetime tag created date time
modifiedTime datetime tag modified date time
linkGroupUniqueId String unique id of the link groupId

# Example Request 1

curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link/group' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
	"linkGroup": {
		"active": 1,
		"name": "6_1619763310637"
	},
	"tagLinkId": "a6a1a1ba-****-****-****-7132b11c4a4a"
}'

# Example Response 1

{
    "result": [
        {
            "id": 1,
            "linkGroups": "[4, 5, 6, 7, 8, 9, 11, 12]",
            "linkGroupIds": [
                "61d01e94-****-****-****-2aede97940e0",
                "026c557b-****-****-****-0d305a9404b5",
                "6f1e5ffa-****-****-****-094a7a073883",
                "93e6a506-****-****-****-20f466f2fd4b",
                "f32765db-****-****-****-23c86fac142e",
                "843564fa-****-****-****-746b7b355b89",
                "cc2473e3-****-****-****-17976f33c737"
                "a1ab6457-****-****-****-197a5b48356e"
            ],
            "tagLinkName": "Tag Link Name1",
            "tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a",
            "createdTime": "2021-05-05 14:44:45.0",
            "createdBy": "56bfbb84-****-****-****-39982d8cf7db",
            "linkGroupUniqueId": "cc2473e3-****-****-****-17976f33c737"
        }
    ],
    "success": true
}

# Example Request 2

curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link/group' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
	"link": {
		"data": [
			["Bus2", "Chennai", "Driver B"],
            ["Bus3", "Andhra", "Driver C"],
            ["Bus4", "Mumbai", "Driver D"]
		],
		"header": ["Name", "Location", "Id"]
	},
    "linkGroup": {
		"active": 1,
		"name": "6_1619763310637"
	},
	"tagLinkId": "a6a1a1ba-****-****-****-7132b11c4a4a"
}' 

# Example Response 2

{
    "result": [
        {
            "id": 1,
            "linkGroups": "[4, 5, 6, 7, 8, 9, 11]",
            "linkGroupIds": [
                "61d01e94-****-****-****-2aede97940e0",
                "026c557b-****-****-****-0d305a9404b5",
                "6f1e5ffa-****-****-****-094a7a073883",
                "93e6a506-****-****-****-20f466f2fd4b",
                "f32765db-****-****-****-23c86fac142e",
                "843564fa-****-****-****-746b7b355b89",
                "cc2473e3-****-****-****-17976f33c737"
            ],
            "tagLinkName": "Tag Link Name1",
            "tagLinkUniqueId": "a6a1a1ba-****-****-****-7132b11c4a4a",
            "createdTime": "2021-05-05 14:44:45.0",
            "createdBy": "56bfbb84-****-****-****-39982d8cf7db",
            "linkGroupUniqueId": "cc2473e3-****-****-****-17976f33c737"
        }
    ],
    "success": true
}


POST link/data/grp/:linkgroupuuid

# Path Parameters

Path Type Optional Description
linkgroupuuid string false unique id of the link grp
# Request fields
Path Type Optional Description
data array[string] false details of the link
header array[string] false header values of the list

# Response fields

Path Type Description
success boolean true (or) false
result link data response link data details
Path Type Optional Description
data array[string] false details of the link
header array[string] false list of header values
meta_data array[string] false list of metadata values
link_uuid string false unique id of link data
id integer false id of link data

# Example Request

curl -L -X POST 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
    "data": [
        "Bus2",
        "Chennai",
        "Driver B"
    ],
    "header": [
        "Name",
        "Location",
        "Id"
    ]
}'

# Example Response

{
    "result": [
        {
            "id": 1,
            "data": "[\"Bus2\", \"Chennai\", \"Driver B\"]",
            "header": "[\"Name\", \"Location\", \"Id\"]",
            "meta_data": "[\"STRING\", \"STRING\", \"STRING\"]",
            "link_uuid": "9b1c4dbf-****-****-****-5e4c727e7708"
        }
    ],
    "success": true
}


PUT link/data/grp/:linkgroupuuid/linkuuid/:likuuid

# Path Parameters

Path Type Optional Description
linkgroupuuid string false unique id of the link grp
linkuuid string false unique id of the link
# Request fields
Path Type Optional Description
data array[string] false details of the link
header array[string] false header values of the list
linkgroupuuid string true unique id of the link grp

# Response fields

Path Type Description
success boolean true (or) false
result Integer 0/1 updated or not

# Example Request

curl -L -X PUT 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e/linkuuid/9b1c4dbf-****-****-****-5e4c727e7708' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
    
    "data": [
        "Bus124",
        "Chennai",
        "Driver B1"
    ],
    "header": [
        "Name",
        "Location",
        "Id"
    ]
}' 

# Example Response

{
    "result": 1,
    "success": true
}


GET link/data/grp/:linkgroupuuid

# Path Parameters

Path Type Optional Description
linkgroupuuid string false unique id of the link grp

# Response fields

Path Type Description
success boolean true (or) false
result link data obj link data details
# Request fields
Path Type Optional Description
data array[string] false details of the link
header array[string] false header values of the list
metaData array[string] false meta data values of the list
linkUniqueId string false unique id of the link data
id integer false id of the link data

# Example Request

curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e' -H 'Authorization: Bearer token here''

# Example Response

{
    "result": [
        {
            "id": 1,
            "data": [
                "Bus124",
                "Chennai",
                "Driver B1"
            ],
            "header": [
                "Name",
                "Location",
                "Id"
            ],
            "metaData": [
                "STRING",
                "STRING",
                "STRING"
            ],
            "linkUniqueId": "9b1c4dbf-****-****-****-5e4c727e7708"
        }
    ],
    "success": true
}


DELETE link/data/grp/:linkgroupuuid/linkuuid/:likuuid

# Path Parameters

Path Type Optional Description
linkgroupuuid string false unique id of the link grp
linkuuid string false unique id of the link

# Response fields

Path Type Description
success boolean true (or) false
result Integer 0/1 updated or not

# Example Request

curl -L -X DELETE 'https://test-api.dropthought.com:443/dtapp/api/link/data/grp/a1ab6457-****-****-****-197a5b48356e/linkuuid/9b1c4dbf-****-****-****-5e4c727e7708' -H 'Authorization: Bearer token here' 

# Example Response

{
    "result": 1,
    "success": true
}


PUT link/metadata/grp/:linkgroupuuid

Path Type Optional Description
linkgroupuuid string false unique id of the link grp

# Response fields

Path Type Description
success boolean true (or) false
result metadata object metadata of the link data
# metadata object
Path Type Optional Description
header array[string] false header values of the list
metaData array[string] false meta data values of the list

# Example Request

curl -L -X PUT 'https://test-api.dropthought.com:443/dtapp/api/link/metadata/grp/6f1e5ffa-4a68-4561-b317-094a7a073883' -H 'Authorization: Bearer token here' -H 'Content-Type: application/json' --data-raw '{
	"header": "Name",
	"metaData": "Name",
	"validateDuplicates": true
}'

# Example Response

{
    "result": [
        {
            "header": "[\"Name\", \"Location\", \"Id\"]",
            "metaData": [
                "NAME",
                "STRING",
                "STRING"
            ]
        }
    ],
    "success": true
}


GET link/metadata/grp/:linkgroupuuid

Path Type Optional Description
linkgroupuuid string false unique id of the link grp

# Response fields

Path Type Description
success boolean true (or) false
result metadata object metadata of the link data

# Example Request

curl -L -X GET 'https://test-api.dropthought.com:443/dtapp/api/link/metadata/grp/6f1e5ffa-4a68-4561-b317-094a7a073883' -H 'Authorization: Bearer token here'

# Example Response

{
    "result": [
        {
            "header": "[\"Name\", \"Location\", \"Id\"]",
            "metaData": [
                "NAME",
                "STRING",
                "STRING"
            ]
        }
    ],
    "success": true
}


POST /program/:programid/kiosk/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new kiosk QR codes are generated (true/false)
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image
qrCodeType string file type (png/jpg/pdf)
metadata map[metadata object] metadata details associated with the generated sublink

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/kiosk/link/e75855d0-****-****-95a1-d1b762a95227?cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Route 312",
      "linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 312",
        "Driver Name": "Jon Snow",
        "Bus ID": "12345",
        "Location": "Winterfel"
      }
    },
    {
      "name": "Route 313",
      "linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,
        71,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 313",
        "Driver Name": "Aria Stark",
        "Bus ID": "56789",
        "Location": "Winterfel"
      }
    },
    {
      "name": "Route 314",
      "linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 314",
        "Driver Name": "Tyrian Lannister",
        "Bus ID": "101112",
        "Location": "Westeros"
      }
    },
    {
      "name": "Route 315",
      "linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 315",
        "Driver Name": "Sansa Stark",
        "Bus ID": "131415",
        "Location": "Westeros"
      }
    }
  ],
  "totalRecords": 4,
  "generated": true,
  "success": true,
  "totalPages": 1
}


GET /program/:programid/kiosk/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)
page int true page number for retrieving the sublinks. -1 if all sublinks needs to be listed
search string true search term to look for in a sublink name
exactMatch int true exact string match or retrieve all records with matching string(1/0) default 0

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new kiosk QR codes are generated (true/false)
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image
qrCodeType string file type (png/jpg/pdf)
metadata map[metadata object] metadata details associated with the generated sublink
token string static token associated with the generated sublink
active boolean indicates whether the sublink is active or deactivate

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/kiosk/link/e75855d0-****-****-95a1-d1b762a95227?page=-1&cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Route 312",
      "linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
      "active": false,
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 312",
        "Driver Name": "Jon Snow",
        "Bus ID": "12345",
        "Location": "Winterfel"
      },
      "token": "1nnecjovuuu3lke9q2sp7qj0dh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    },
    {
      "name": "Route 313",
      "active": false,
      "linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 313",
        "Driver Name": "Aria Stark",
        "Bus ID": "56789",
        "Location": "Winterfel"
      },
      "token": "bj2duc1i5clpguprtq9tnduumt~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    },
    {
      "name": "Route 314",
      "active": true,
      "linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 314",
        "Driver Name": "Tyrian Lannister",
        "Bus ID": "101112",
        "Location": "Westeros"
      },
      "token": "96n2kr8algeeavui0jurh0h5dg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    },
    {
      "name": "Route 315",
      "active": true,
      "linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 315",
        "Driver Name": "Sansa Stark",
        "Bus ID": "131415",
        "Location": "Westeros"
      },
      "token": "7tj38l7iscuvm048m1r2qqhers~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    }
  ],
  "totalRecords": 4,
  "generated": false,
  "success": true,
  "totalPages": 1
}


GET /program/:programid/kiosk/link

# Path Parameters

Path Type Optional Description
programid string false unique id of the program

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)
page int true page number for retrieving the sublinks. -1 if all sublinks needs to be listed
search string true search term to look for in a sublink name
exactMatch int true exact string match or retrieve all records with matching string(1/0) default 0

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new kiosk QR codes are generated (true/false)
generatedTagLinkNames array[names] list of tag names from which the sublinks were generated
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image
qrCodeType string file type (png/jpg/pdf)
metadata map[metadata object] metadata details associated with the generated sublink
token string static token associated with the generated sublink
tagLinkName string tag name of the generated sublinks
linkGroupUUID string unique group id of the tag
active boolean indicates whether the sublink is active or deactivate

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/kiosk/link?page=-1&cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Route 312",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 312",
        "Driver Name": "Jon Snow",
        "Bus ID": "12345",
        "Location": "Winterfel"
      },
      "tagLinkName": "proper sublist",
      "linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
      "active": false,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
      "token": "1nnecjovuuu3lke9q2sp7qj0dh~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    },
    {
      "name": "Route 313",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 313",
        "Driver Name": "Aria Stark",
        "Bus ID": "56789",
        "Location": "Winterfel"
      },
      "tagLinkName": "proper sublist",
      "linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
      "active": false,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
      "token": "bj2duc1i5clpguprtq9tnduumt~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    },
    {
      "name": "Route 314",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 314",
        "Driver Name": "Tyrian Lannister",
        "Bus ID": "101112",
        "Location": "Westeros"
      },
      "tagLinkName": "proper sublist",
      "linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
      "active": true,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
      "token": "96n2kr8algeeavui0jurh0h5dg~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    },
    {
      "name": "Route 315",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 315",
        "Driver Name": "Sansa Stark",
        "Bus ID": "131415",
        "Location": "Westeros"
      },
      "tagLinkName": "proper sublist",
      "linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
      "active": true,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf",
      "token": "7tj38l7iscuvm048m1r2qqhers~~MTJkOGU1NDAtNzNiMS00YTRlLWE4NGQtZmZhZjBiNzE1NWIz"
    }
  ],
  "totalRecords": 4,
  "generated": false,
  "success": true,
  "generatedTagLinkNames": [
    "proper sublist"
  ],
  "totalPages": 1
}


DELETE /program/:programid/kiosk/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) > 1

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-****-b377-aa315ba15e58/kiosk/link/82187fef-****-****-a6da-f21245f970ef'

# Example Response

{
  "result": 1,
  "success": true
}


DELETE /program/:programid/kiosk/link/linkgroupuuid/:linkgroupuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
linkgroupuuid string false unique id of the tag group

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) > 1

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-4ae3-b377-aa315ba15e58/kiosk/link/linkgroupuuid/8317ae24-****-4619-afd7-360505d5ef95'

# Example Response

{
  "result": 4,
  "success": true
}


PUT /program/:programid/kiosk/deactivate

# Path Parameters

Path Type Optional Description
programid string false unique id of the program

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
deactivateLinks array[sublinks] false list of sublinks to be activated/deactivated
Path Type Optional Description
deactivate int false 0/1. 1 - to deactivate a sublink. 0 - activate a sublink
linkId string false unique identifier of sublink

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
 		"deactivate": 1, \
 		"linkId": "1f2d7236-****-46eb-82b7-a54c74e74238" \
 	}, \
 	{ \
 		"deactivate": 1, \
 		"linkId": "2a7a07a0-****-43eb-9fe4-5ed031364cf7" \
 	} \
 ] \
 ' 'http://test-api.dropthought.com/dtapp/api/program/d96132a6-****-471c-a6df-597dcc80749d/kiosk/deactivate'

# Example Response

{
  "success": true
}


POST /program/:programid/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new sharable links are generated (true/false)
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
url string short url or long url (short url if short url is enabled
metadata map[metadata object] metadata details associated with the generated sublink

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link/e671f3d5-ca8d-4f54-88f8-778d4c899587?cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Flight 11",
      "linkId": "b9bc1407-fc6f-4471-bd50-a3c58987d474",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/9gkoe3l5oa2omcc9jof0b0ahq5~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "11",
        "Airline": "Go Air",
        "Route": "Chennai to Mumbai",
        "Name": "Flight 11"
      }
    },
    {
      "name": "Flight 1",
      "linkId": "895e3702-6064-42b9-83b2-a7471f20b477",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/argvf9qv1be0t25g4093aaehjp~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "1",
        "Airline": "Indigo",
        "Route": "Chennai to Guwahati",
        "Name": "Flight 1"
      }
    },
    {
      "name": "Flight 2",
      "linkId": "3df465c3-bd19-4fb8-95fb-7aa166c06984",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/i55fcus460fog2ksej4mhnmsq5~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "2",
        "Airline": "Air India",
        "Route": "Chennai to Delhi",
        "Name": "Flight 2"
      }
    },
    {
      "name": "Flight 3",
      "linkId": "8c68a99a-9ae4-47d3-a617-483ff17799fe",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/bbpdeav6lvsencm88den8r0oas~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "3",
        "Airline": "Go Air",
        "Route": "Chennai to Mumbai",
        "Name": "Flight 3"
      }
    },
    {
      "name": "Flight 4",
      "linkId": "1a52b688-c7e6-4042-a5e8-4bb56512b5ec",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/a8hchbrn0qa8u7bm2p093kumr4~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "4",
        "Airline": "Spice Jet",
        "Route": "Chennai to Kolkata",
        "Name": "Flight 4"
      }
    },
    {
      "name": "Flight 5",
      "linkId": "c32132b5-e474-4443-a3f7-37af2b534bc8",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/ntisu8ka86oqnum054u4f9ma3t~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "5",
        "Airline": "Indigo",
        "Route": "Hyderabad to Bangalore",
        "Name": "Flight 5"
      }
    },
    {
      "name": "Flight 6",
      "linkId": "2f7fa717-179e-46fb-ad42-00a02748fa45",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/usjr3sfdg8jqd81iud6bf37e72~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "6",
        "Airline": "Air India",
        "Route": "Hyderabad to Delhi",
        "Name": "Flight 6"
      }
    },
    {
      "name": "Flight 7",
      "linkId": "731800fb-4ff4-4e80-9fb7-323880c64759",
      "url": "https://stage-eux.dropthought.com/en/dt/survey/nbctnn98bom46ekashts4s646a~~MTJkNmY2MjMtMjE2My00MTE3LTkwNDgtYWQ2ZGZlYWFmMTIw$RFQ1",
      "metadata": {
        "Flight No": "7",
        "Airline": "Go Air",
        "Route": "Hyderabad to Ahmedabad",
        "Name": "Flight 7"
      }
    }
  ],
  "totalRecords": 8,
  "generated": true,
  "success": true,
  "totalPages": 2
}


GET /program/:programid/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)
page int true page number for retrieving the generated sublinks. -1 if all generated sublinks needs to be listed
search string true search term to look for in a sublink name
exactMatch int true exact string match or retrieve all records with matching string(1/0) default 0

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new sharable links are generated (true/false)
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
url string short url or long url (short url if short url is enabled
metadata map[metadata object] metadata details associated with the generated sublink
active boolean indicates whether the sublink is active or deactivate

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link/e671f3d5-ca8d-4f54-88f8-778d4c899587?page=1&cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Flight 11",
      "linkId": "b9bc1407-fc6f-4471-bd50-a3c58987d474",
      "active": false,
      "url": "https://stage-yass.dropthought.com/r/9gKutxQCG3",
      "metadata": {
        "Flight No": "11",
        "Airline": "Go Air",
        "Route": "Chennai to Mumbai",
        "Name": "Flight 11"
      }
    },
    {
      "name": "Flight 1",
      "linkId": "895e3702-6064-42b9-83b2-a7471f20b477",
      "active": false,
      "url": "https://stage-yass.dropthought.com/r/b7TbUfCOy9",
      "metadata": {
        "Flight No": "1",
        "Airline": "Indigo",
        "Route": "Chennai to Guwahati",
        "Name": "Flight 1"
      }
    },
    {
      "name": "Flight 2",
      "linkId": "3df465c3-bd19-4fb8-95fb-7aa166c06984",
      "active": true,
      "url": "https://stage-yass.dropthought.com/r/BLhasDnVDb",
      "metadata": {
        "Flight No": "2",
        "Airline": "Air India",
        "Route": "Chennai to Delhi",
        "Name": "Flight 2"
      }
    },
    {
      "name": "Flight 3",
      "linkId": "8c68a99a-9ae4-47d3-a617-483ff17799fe",
      "active": true,
      "url": "https://stage-yass.dropthought.com/r/YMoXBDgeH6",
      "metadata": {
        "Flight No": "3",
        "Airline": "Go Air",
        "Route": "Chennai to Mumbai",
        "Name": "Flight 3"
      }
    },
    {
      "name": "Flight 4",
      "linkId": "1a52b688-c7e6-4042-a5e8-4bb56512b5ec",
      "active": true,
      "url": "https://stage-yass.dropthought.com/r/nzlCua340N",
      "metadata": {
        "Flight No": "4",
        "Airline": "Spice Jet",
        "Route": "Chennai to Kolkata",
        "Name": "Flight 4"
      }
    }
  ],
  "totalRecords": 8,
  "generated": false,
  "success": true,
  "totalPages": 2
}


GET /program/:programid/link

# Path Parameters

Path Type Optional Description
programid string false unique id of the program

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)
page int true page number for retrieving the sublinks. -1 if all sublinks needs to be listed
search string true search term to look for in a sublink name
exactMatch int true exact string match or retrieve all records with matching string(1/0) default 0

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new sharable links are generated (true/false)
generatedTagLinkNames array[names] list of tag names from which the sublinks were generated
Path Type Description
name string name of the sublink generated
url string short url or long url (short url if short url is enabled
linkId string unique id of the generated sublink
tagLinkName string tag name of the generated sublinks
metadata map[metadata object] metadata details associated with the generated sublink
linkGroupUUID string unique group id of the tag
active boolean indicates whether the sublink is active or deactivate

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link?page=1&cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Flight 11",
      "url": "https://stage-yass.dropthought.com/r/9gKutxQCG3",
      "linkId": "b9bc1407-fc6f-4471-bd50-a3c58987d474",
      "active": false,
      "tagLinkName": "Tag Link Mani",
      "metadata": {
        "Flight No": "11",
        "Airline": "Go Air",
        "Route": "Chennai to Mumbai",
        "Name": "Flight 11"
      },
      "linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
    },
    {
      "name": "Flight 1",
      "url": "https://stage-yass.dropthought.com/r/b7TbUfCOy9",
      "active": false,
      "linkId": "895e3702-6064-42b9-83b2-a7471f20b477",
      "tagLinkName": "Tag Link Mani",
      "metadata": {
        "Flight No": "1",
        "Airline": "Indigo",
        "Route": "Chennai to Guwahati",
        "Name": "Flight 1"
      },
      "linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
    },
    {
      "name": "Flight 2",
      "url": "https://stage-yass.dropthought.com/r/BLhasDnVDb",
      "linkId": "3df465c3-bd19-4fb8-95fb-7aa166c06984",
      "active": true,
      "tagLinkName": "Tag Link Mani",
      "metadata": {
        "Flight No": "2",
        "Airline": "Air India",
        "Route": "Chennai to Delhi",
        "Name": "Flight 2"
      },
      "linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
    },
    {
      "name": "Flight 3",
      "url": "https://stage-yass.dropthought.com/r/YMoXBDgeH6",
      "linkId": "8c68a99a-9ae4-47d3-a617-483ff17799fe",
      "active": false,
      "tagLinkName": "Tag Link Mani",
      "metadata": {
        "Flight No": "3",
        "Airline": "Go Air",
        "Route": "Chennai to Mumbai",
        "Name": "Flight 3"
      },
      "linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
    },
    {
      "name": "Flight 4",
      "url": "https://stage-yass.dropthought.com/r/nzlCua340N",
      "linkId": "1a52b688-c7e6-4042-a5e8-4bb56512b5ec",
      "active": true,
      "tagLinkName": "Tag Link Mani",
      "metadata": {
        "Flight No": "4",
        "Airline": "Spice Jet",
        "Route": "Chennai to Kolkata",
        "Name": "Flight 4"
      },
      "linkGroupUUID": "5800fe06-c315-44f4-b3e6-ee376d27ea46"
    }
  ],
  "totalRecords": 8,
  "generated": false,
  "success": true,
  "generatedTagLinkNames": [
    "Tag Link Mani"
  ],
  "totalPages": 2
}


DELETE /program/:programid/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) > 1

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-****-b377-aa315ba15e58/link/82187fef-****-****-a6da-f21245f970ef'

# Example Response

{
  "result": 1,
  "success": true
}


DELETE /program/:programid/link/linkgroupuuid/:linkgroupuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
linkgroupuuid string false unique id of the tag group

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) > 1

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-4ae3-b377-aa315ba15e58/link/linkgroupuuid/8317ae24-****-4619-afd7-360505d5ef95'

# Example Response

{
  "result": 4,
  "success": true
}


DELETE /program/:programid/link/linkuuid/:linkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
linkuuid string false unique id of the sub link

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) 0

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/link/linkuuid/1a52b688-c7e6-4042-a5e8-4bb56512b5ec'

# Example Response

{
  "result": 1,
  "success": true
}


PUT /program/:programid/link/deactivate

# Path Parameters

Path Type Optional Description
programid string false unique id of the program

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
deactivateLinks array[sublinks] false list of sublinks to be activated/deactivated
Path Type Optional Description
deactivate int false 0/1. 1 - to deactivate a sublink. 0 - activate a sublink
linkId string false unique identifier of sublink

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
 		"deactivate": 0, \
 		"linkId": "1f2d7236-****-46eb-82b7-a54c74e74238" \
 	}, \
 	{ \
 		"deactivate": 1, \
 		"linkId": "2a7a07a0-****-43eb-9fe4-5ed031364cf7" \
 	} \
 ] \
 ' 'http://test-api.dropthought.com/dtapp/api/program/d96132a6-****-471c-a6df-597dcc80749d/link/deactivate'

# Example Response

{
  "success": true
}


POST /program/:programid/qr/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
cc string true company code (DT)
language string true language of request (en)

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink qr code details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 qr codes per page)
generated boolean indicates true if new QR codes are generated (true/false)
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image
qrCodeType string file type (png/jpg/pdf)
metadata map[metadata object] metadata details associated with the generated sublink

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/qr/link/e75855d0-****-****-95a1-d1b762a95227?cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Route 312",
      "linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "jpg",
      "metadata": {
        "Sub-link/QR ID": "Route 312",
        "Driver Name": "Jon Snow",
        "Bus ID": "12345",
        "Location": "Winterfel"
      }
    },
    {
      "name": "Route 313",
      "linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,
        71,...
      ],
      "qrCodeType": "jpg",
      "metadata": {
        "Sub-link/QR ID": "Route 313",
        "Driver Name": "Aria Stark",
        "Bus ID": "56789",
        "Location": "Winterfel"
      }
    },
    {
      "name": "Route 314",
      "linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "jpg",
      "metadata": {
        "Sub-link/QR ID": "Route 314",
        "Driver Name": "Tyrian Lannister",
        "Bus ID": "101112",
        "Location": "Westeros"
      }
    },
    {
      "name": "Route 315",
      "linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "jpg",
      "metadata": {
        "Sub-link/QR ID": "Route 315",
        "Driver Name": "Sansa Stark",
        "Bus ID": "131415",
        "Location": "Westeros"
      }
    }
  ],
  "totalRecords": 4,
  "generated": true,
  "success": true,
  "totalPages": 1
}


GET /program/:programid/qr/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters

Path Type Optional Description
fileType string true jpg, png or pdf (default = jpg)
cc string true company code (DT)
language string true language of request (en)
page int true page number for retrieving the sublinks. -1 if all sublinks needs to be listed
search string true search term to look for in a sublink name
exactMatch int true exact string match or retrieve all records with matching string(1/0) default 0

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated qr codes
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new QR codes are generated (true/false)
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image
qrCodeType string file type (png/jpg/pdf)
metadata map[metadata object] metadata details associated with the generated sublink
active boolean indicates whether the sublink is active or deactivate

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/qr/link/e75855d0-****-****-95a1-d1b762a95227?page=-1&cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Route 312",
      "linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
      "active": false,
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 312",
        "Driver Name": "Jon Snow",
        "Bus ID": "12345",
        "Location": "Winterfel"
      }
    },
    {
      "name": "Route 313",
      "linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
      "active": false,
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 313",
        "Driver Name": "Aria Stark",
        "Bus ID": "56789",
        "Location": "Winterfel"
      }
    },
    {
      "name": "Route 314",
      "linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
      "active": true,
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 314",
        "Driver Name": "Tyrian Lannister",
        "Bus ID": "101112",
        "Location": "Westeros"
      }
    },
    {
      "name": "Route 315",
      "linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
      "active": true,
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 315",
        "Driver Name": "Sansa Stark",
        "Bus ID": "131415",
        "Location": "Westeros"
      }
    }
  ],
  "totalRecords": 4,
  "generated": false,
  "success": true,
  "totalPages": 1
}

# Get Multiple QR Codes by Program Id


GET /program/:programid/qr/link

# Path Parameters

Path Type Optional Description
programid string false unique id of the program

# Query Parameters

Path Type Optional Description
fileType string true jpg, png or pdf (default = jpg)
cc string true company code (DT)
language string true language of request (en)
page int true page number for retrieving the sublinks. -1 if all sublinks needs to be listed
search string true search term to look for in a sublink name
exactMatch int true exact string match or retrieve all records with matching string(1/0) default 0

# Response fields

Path Type Description
success boolean true (or) false
result array[sublink object] generated sublink details
totalRecords int count of generated sublinks
totalPages int count of total pages (5 links per page)
generated boolean indicates true if new QR codes are generated (true/false)
generatedTagLinkNames array[names] list of tag names from which the sublinks were generated
Path Type Description
name string name of the sublink generated
linkId string unique id of the generated sublink
qrCode string base64 object of qrcode image
qrByteArray array[int] byte array of qrcode image
qrCodeType string file type (png/jpg/pdf)
metadata map[metadata object] metadata details associated with the generated sublink
tagLinkName string tag name of the generated sublinks
linkGroupUUID string unique group id of the tag
active boolean indicates whether the sublink is active or deactivate

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/10730df0-****-****-a43c-6693bd5d5aed/qr/link?page=-1&cc=DT&language=en'

# Example Response

{
  "result": [
    {
      "name": "Route 312",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACb0lEQVR42u2XTY6kMAyFjbLIrrhApFwju1wJLsDPBeBK7HKNSFwAdllEeF66NRLV0khTcS9BLEp8UtmxH8+G+F8XPeQhD/kfQqQVs7r8fob93KgREcth52Anv0+k1sCniJgmUJsKPLxdA/VSYl7eNNvOG8+/QcaUiUyfSkwZKTVYXGzYDA65/6jOpwT9MX34e//o3MekXBPxzHi8zz9V9SmhNqjFqQk1CLnztxrUkNywOhyvm1o0Tz42ImLPoOainX3ReJxlJA4uvjQNGqKORPsqIiXOii6R4rTPIbYigj+2i499oj7tl1aniKi5vMGmQ74BJ7h1u4bkNtl5g7QV0j/cTYk1xJ4bjApijO1myOVWRBBnP1weNB+eRr7VoIbwRdCOOhONKfb3/tQQGryaNzU59e2mp4xANWeCJROVSiBxCSkuNQb4gbq0hSvICLSsMHZ6OGjK8NRGRHKJAz0iDtJH80XE4tw9492FK+eOlIyYlqnTkGFsklrTzQ+qyKAzJs/LmRZzmxWLiF1hCcVXUIbchjjKCPzgInt5tRDqcY9TQeLL2YVM5+zlYhm2IpJJF2kfziL3r0NICHXe9Aw/iP1WhMkiAifGmqMmHTsP7dzmTw3BoIASMWnhCu9+UEP43PKIPSWhOVD3bdLWEPwkbDoHRhBy9/duVxBoB6c3ZTaG/aBbt2tIgZdHIeEueH1NLyLYxTAxML3NUBJ/c9jPyfeeiC0MBXj30RqCvTW2gQ+idiu+1UgJqogtgCcHx7p7VSUZtIWuR9TD515EUAP4uuXNHho2b08RQX9s2RMhyYAJ+f4F9jF5vlwf8pBfJn8AkpbooASgMF0AAAAASUVORK5CYII=",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 312",
        "Driver Name": "Jon Snow",
        "Bus ID": "12345",
        "Location": "Winterfel"
      },
      "tagLinkName": "proper sublist",
      "linkId": "a2dbae78-****-4f44-836b-06a4dfd404fc",
      "active": false,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
    },
    {
      "name": "Route 313",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACaElEQVR42u2XQcrjMAyFFbzI7s8FDL6Gd75SfIE0uUB6pex8DYMvkOy8MNU8twykhYGp9S8TSgn5Sm0/SU8K8b8uushFLvI/hKhXzOph0xHSsVEnIoZDmXpNNs2k7oEPEdFd0D+WOZjdmXsgLyVmteRD4o2X3yAPW4i0z7gXEmiQHi52rCeb+EOdrwnio334+/mI3NekXjuZhfE4LZ9Z9S2hIajVqh0ahDK6kwYtpPzYtFt+WLX2PFcxJARZgxyElmnt8bjICE02DmwePZI6EqW7iPAR1G6JSHFOS8CvJCTVgNvoM/mcsNohIqraQNB1vyFO9hTtFlJ8rqKuLr2234mI2XtUCc8Uhw0eUwYRKT8Ofw+74t3RjU8atBComGZLo6Vbjv4tPg0kTg6hxn4VzG+GEiLCtdoyUpuoKoGNSwicAGYMJ1CPvrqCjODcijd8IxML/L4TkeJhzPxchxAcc4iIwbk9o3bhymUkJSN6YBp7kNhldc8nP2ghceqL39Ts9IDiY8UiYu6cVhtvm1q4DCHeRARbhpZmdWol6HFap4nAqIaAKkG/jbXZikhBnVGfjmwg5/MQEqKWjPQpk4t+e9mqhMAPUCVoZXF0yJ1T/2khaBTIRAUtl+3dD1oIHxtsDxzBeeajiOAW7ZFXV0t5duccbSBmCRqjBKoNfQO+1YkIP8dhCAl3QflqLyKYxRKmV7THGvBw8tEWYl6NEV41uw+HbSCYW1ElcHoatupbnZRART0Szyi+7exibQSjk6YevoIWVLyIQAP4Og0Z40C1mUNE6nzdZYgauzowvr+BfU2uN9eLXOSXyR9Yy+ug1hfZdgAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 313",
        "Driver Name": "Aria Stark",
        "Bus ID": "56789",
        "Location": "Winterfel"
      },
      "tagLinkName": "proper sublist",
      "linkId": "6dc9a9f7-****-41e3-b287-5146f35c11e5",
      "active": false,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
    },
    {
      "name": "Route 314",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACbklEQVR42u2XTaqsMBCFSzLI7LoBIdvILFsyG/BnA7olZ9mGkA3oLINgvZPbPLAvPHidukMbaWy/xsSqU6dK4n996CEPecj/ECKtmNXl4hniuVEjIobDPgYzuTiRWgOfItI1ofuykYM5nFkDeSnBlslvijeef4Hg107U+fQ6lxDEIE4OgeyGsvf36HxMkJ/Oh7/Hj8x9TMrn0mZmXI7zT1V9SqgNarHqQAxC7t0tBjUkI9WH5XVTi+bJ7Y2IcNFyYsR10bicZQRp4cUpDhA1ch5XESEocU3UQIkpzmFvRUStTF9290w+xUurU0TIB9w+k47YNZ6ARSS3CcmJSPgZ1GFvSqwh5tCoYD6I2q0jm1sRwTrQTvaBD0cj32JQQ/iiONmuJxrT7u/5qSE0uI7ITBbyKW56igiXakuwZCLH+B5FBJUBMcIJ1MsVZATCUeuGp4cSM/y+EREYJ3atyjqE5JhTRAyeGx7fE0o596RkpGuZer23294klPLdKSpIHnQ8k4J8WvRtViwiuHEpO3jVjBP0cBHhReeBzOXUAj3SbZ0aYhZnFqLemguOlW7ZriF53CBp9B+DcOKPq4iUmvNwer37rYSERQROjDEHrWzvHbRz6z81BI0CSlTzhuPdD2oIemNZ6kxIDrrZe6f9mBQ/GOHxDkWsJnfLdg0xMyZEW1KE1g3fakSkhAGqaUpvVMUbRASzWMT0eoZuKBu/+WgNKXPiYouPTu7dR2sI5ta9Da/eWHyrkRJEEd2MJwvHurtYJRm0mTR8BS0oexFBDODrKN/vcYDMKSLlnWnGkAJJYmynH29gn5LnzfUhD/ll8gdBH+kGifd9qAAAAABJRU5ErkJggg==",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 314",
        "Driver Name": "Tyrian Lannister",
        "Bus ID": "101112",
        "Location": "Westeros"
      },
      "tagLinkName": "proper sublist",
      "linkId": "cdab5fef-****-400a-b28e-4cb3ff01eb6b",
      "active": true,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
    },
    {
      "name": "Route 315",
      "qrCode": "iVBORw0KGgoAAAANSUhEUgAAAMgAAADIAQAAAACFI5MzAAACYUlEQVR42u2XQYq0MBCFS7LITi8QyDXceaV4gVYv0F4pu1wjkAuYXRZizUsPA/4NP0xbs7SxG/FrSHxV9apC/L8P3eQmN/kNIdL2ILXw3nibPTUiYjkAkuvtwmoNnEXENEEdAz8pLQWERimx28ALp63n5Q8Iz33aiJzGvZBUDVpsme1Git/V+ZRATjOGn+stch8TfOKjBseu3jRvWfUxUZuORNGRrW9QYiMiCd8cePHmgXz0cRIRQxpBRsCj0xa8ExHqOE4FIUKt7GM419wFkhaPaqMHYQU793EUEQRHHcjosjudlmAaEbEzoeAi9otdd5xWETFdwa5Nq1HH1GJBEUk5oEQiNGgHM5XEImLnAY+R1+ah8a9T7lwiG/HR7yMjtdMa7CoiPA/1ehI1AeWiWEQUTCV7g2dPXX+ziOwNChe6snk51il3rhCoiIAjd9RaFDKxExJGytgMrwq1BS0iQo6Mq16lngPu1Soise2pQ4lATq22fp9EZO88hERYYAloRKfcuUJq4mSvuKSnhqFaFhEImaol97wi7GcfvUJM25umJFgL5GTPq4jYJSTI6VArhOYTOxEhGmqVwERXT5NXWUacRqFE8AND2Tk+Vwgk/H57TAGQNsnId6h5I3RauCB1IhKbAl/BWLcT2VxOu75CbJ3mqleZzsNTzSQiL/jyKqfVP35whVCdKfAgUG1rZ6+6Quqc6AYEHOOwGfnk8VdInVtdHcfQG6GBzVLCGPmPHh6vlnKaOq+SGev0WA2DgMoiAg1wuEHuYKzYHwOziNQzE44jVdHaOswoIvfJ9SY3+WPyBVtkt4D0cEFaAAAAAElFTkSuQmCC",
      "qrByteArray": [
        -119,
        80,
        78,...
      ],
      "qrCodeType": "png",
      "metadata": {
        "Sub-link/QR ID": "Route 315",
        "Driver Name": "Sansa Stark",
        "Bus ID": "131415",
        "Location": "Westeros"
      },
      "tagLinkName": "proper sublist",
      "linkId": "028d2d9c-****-47d8-be02-d1f8aa80ccf1",
      "active": true,
      "linkGroupUUID": "c3b43ed0-****-4b5a-b0f1-6f3adb60ffbf"
    }
  ],
  "totalRecords": 4,
  "generated": false,
  "success": true,
  "generatedTagLinkNames": [
    "proper sublist"
  ],
  "totalPages": 1
}


DELETE /program/:programid/qr/link/:taglinkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
taglinkuuid string false unique id of the tag list

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) > 1

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-****-b377-aa315ba15e58/qr/link/82187fef-****-****-a6da-f21245f970ef'

# Example Response

{
  "result": 1,
  "success": true
}


DELETE /program/:programid/qr/link/linkgroupuuid/:linkgroupuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
linkgroupuuid string false unique id of the tag group

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) > 1

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/1122b225-****-4ae3-b377-aa315ba15e58/qr/link/linkgroupuuid/8317ae24-****-4619-afd7-360505d5ef95'

# Example Response

{
  "result": 4,
  "success": true
}


DELETE /program/:programid/qr/linkuuid/:linkuuid

# Path Parameters

Path Type Optional Description
programid string false unique id of the program
linkuuid string false unique id of the sub link

# Query Parameters


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result int 1 (or) 0

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/program/20ec4e7e-36a9-43f9-87fc-6980bd299d15/qr/linkuuid/1a52b688-c7e6-4042-a5e8-4bb56512b5ec'

# Example Response

{
  "result": 1,
  "success": true
}


PUT /program/:programid/qr/deactivate

# Path Parameters

Path Type Optional Description
programid string false unique id of the program

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
deactivateLinks array[sublinks] false list of sublinks to be activated/deactivated
Path Type Optional Description
deactivate int false 0/1. 1 - to deactivate a sublink. 0 - activate a sublink
linkId string false unique identifier of sublink

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: Bearer eyJhbGciOiJIUzUxMiJ9' -d '[{ \
 		"deactivate": 0, \
 		"linkId": "1f2d7236-****-46eb-82b7-a54c74e74238" \
 	}, \
 	{ \
 		"deactivate": 0, \
 		"linkId": "2a7a07a0-****-43eb-9fe4-5ed031364cf7" \
 	} \
 ] \
 ' 'http://test-api.dropthought.com/dtapp/api/program/d96132a6-****-471c-a6df-597dcc80749d/qr/deactivate'

# Example Response

{
  "success": true
}

# Pin Management

# Create a Pin


POST /pin

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
chartType string false type of chart pinned [responseTrend/nps/driverMetric/topSegment/bottomSegment/overallSentiment/wordCloud/choice/openEnd/respondent]
queryParameters json true query parameters present in the API which fetches chart details
urlParameters json true url parameters present in the API which fetches chart details
requestBody json true request body present in the API which fetches chart details
data json true response data of the pinned chart
filterConditions json true filter condition applied on the chart pinned
surveyId string false unique id of the survey
# Sample queryParameters object for responseTrend chart
Path Type Description
fromDate string start date of the feedbacks
toDate string end date of the feedbacks
responseInterval string interval between dates for the trend (daily/weekly/monthly)
timeZone string timeZone of the user
interval string date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear)
surveyType string survey publish type (journey/publish)
# Sample urlParameters object for responseTrend chart
Path Type Description
url string URL of the api which fetches the chart details
programId string unique id of program
# Sample data object for responseTrend chart
Path Type Description
responseTrend array[trend object] array containing trend data for the given duration
# Sample queryParameters object for respondent
Path Type Description
timezone string timezone of the user
language string language of request
# Sample urlParameters object for respondent
Path Type Description
url string URL of the api which fetches the chart details
programId string unique id of program
respondentId string unique id of the respondent

# Response fields

Path Type Description
success boolean true (or) false

# Example Request (1)

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIi' -d '{ \
     "chartType": "responseTrend", \
     "queryParameters": { \
         "surveyFilterId": "", \
         "fromDate": "2021-9-16 00:00:00", \
         "toDate": "2021-9-23 23:59:59", \
         "timezone": "Asia/Calcutta", \
         "primaryMetricInterval": "daily", \
         "surveyType": "publish", \
         "language": "en" \
     }, \
     "surveyId": "74c961a8-****-4baf-b1c7-655f716a057d", \
     "data": { \
         "responseTrend": [ \
             [ \
                 "Timestamp", \
                 "Total", \
                 "Sms", \
                 "Email" \
             ], \
             [ \
                 "13-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ], \
             [ \
                 "14-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ], \
             [ \
                 "15-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ], \
             [ \
                 "16-Sep-2021", \
                 2, \
                 0, \
                 1 \
             ], \
             [ \
                 "17-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ], \
             [ \
                 "18-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ], \
             [ \
                 "19-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ], \
             [ \
                 "20-Sep-2021", \
                 0, \
                 0, \
                 0 \
             ] \
         ] \
     }, \
     "urlParameters": { \
         "programId": "74c961a8-****-4baf-b1c7-655f716a057d", \
         "url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/overview" \
     }, \
     "filterConditions": { \
         "filter_query": "question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=2||question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=3" \
     } \
 }' 'https://stage-api.dropthought.com/dtapp/api/pin'

# Example Request (2)

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSld' -d '{ \
     "chartType": "respondent", \
     "queryParameters": { \
         "timezone": "Asia/Calcutta", \
         "language": "en" \
     }, \
     "surveyId": "74c961a8-****-4baf-b1c7-655f716a057d", \
     "urlParameters": { \
         "programId": "74c961a8-****-4baf-b1c7-655f716a057d", \
         "respondentId": "q0ehoo2gv7t4**1r7j2qriljdd", \
         "url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/respondents/{respondentId}" \
     }, \
     "data": { \
         "metaData": { \
             "Name": "Akshara", \
             "Email": "akshara%40dropthought.com", \
             "PRTNAME": "Akshara" \
         }, \
         "npsText": "Detractor", \
         "id": "q0ehoo2gv7t4f81r7j2qriljdd", \
         "tokenType": "dynamic", \
         "responseDate": "16-Sep-2021 07:18 AM", \
         "events": [ \
             { \
                 "questionId": "fba3d8e8-****-4a32-8a76-41512ea62f6a", \
                 "answers": "Neutral", \
                 "category": [], \
                 "sentiment": null, \
                 "questionText": "Rating", \
                 "npsText": "", \
                 "npsValue": "N/A", \
                 "questionType": "rating", \
                 "subType": "smiley", \
                 "metricName": "", \
                 "metricId": "0", \
                 "metricScore": "2", \
                 "metricScale": "5" \
             }, \
             { \
                 "questionId": "63549f1d-****-4eec-bc6c-c7985d3304f7", \
                 "answers": "6", \
                 "category": [], \
                 "sentiment": null, \
                 "questionText": "On a scale of 0 - 10, how likely are you to recommend DT to a friend or colleague?", \
                 "npsText": "Detractor", \
                 "npsValue": "6", \
                 "questionType": "nps", \
                 "subType": "", \
                 "metricName": "", \
                 "metricId": "0", \
                 "metricScore": "0", \
                 "metricScale": "0" \
             } \
         ] \
     } \
 }' 'https://stage-api.dropthought.com/dtapp/api/pin'

# Example Response

{
  "success": true
}

# Reorder a Pin


PUT /pin

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
surveyId string false unique id of the survey
pinId string false unique id of the pin which has to be reordered
order int false updated order number of the pin
chartType string false type of pin reordered [charts/respondent]

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' -d '{ \
 	"surveyId": "a497036d-****-4899-8249-0857e0744cfe", \
 	"pinId" : "5d0df373-****-4453-9bf5-55685f8d3625", \
    "order" : 2, \
    "chartType" : "respondent" \
 }' 'https://stage-api.dropthought.com/dtapp/api/pin'

# Example Response

{
  "success": true
}

# Reorder Multiple Pins


PUT /pin/reorder

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
surveyId string false unique id of the survey
pins array[pin object] false list of pins with their order value
# pin object
Path Type Optional Description
pinId string false unique id of the pin which has to be reordered
order int false updated order number of the pin

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJ' -d '{ \
 	"surveyId": "a497036d-bebc-4899-8249-0857e0744cfe", \
 	"pins": [{ \
 			"pinId": "b67a647d-185d-4e49-a823-d91d4fdb5752", \
 			"order": 5 \
 		}, { \
 			"pinId": "8c2f6ee2-2ce9-4cf9-b8fa-74330900345a", \
 			"order": 1 \
 		}, { \
 			"pinId": "c49e616d-721c-45a8-9568-f76a14d9c229", \
 			"order": 2 \
 		}, \
 		{ \
 			"pinId": "ee18f7b9-7783-4168-a115-b724fef21e87", \
 			"order": 3 \
 		}, \
 		{ \
 			"pinId": "abe703d2-2bed-4bc0-b99a-fdbec85565dc", \
 			"order": 4 \
 		} \
 	] \
 }' 'https://stage-api.dropthought.com/dtapp/api/pin/reorder'

# Example Response

{
  "success": true
}

# Delete a Pin


DELETE /pin/:pinId

# Path Parameters

Path Type Optional Description
pinId string false unique id of the pin

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/pin/5d0df373-****-4453-9bf5-55685f8d3625'

# Example Response

{
  "success": true
}

# Get Pins Overview


GET /pin/overview

# Path Parameters


No Parameters

# Query Parameters

Path Type Optional Description
type string true type of pins [chart/respondent/can be left empty] (when empty fetches both chart and respondent pins)
fromDate string true indicates start date of pinned items to be fetched (when left empty all pins will be fetched)
toDate string true indicates end date of pinned items to be fetched (when left empty all pins will be fetched)
timezone string true indicates timezone of request [Default - America/Los_Angeles]
language string true indicates language of request [Default - en]

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
fromDate string applied start date
toDate string applied end date
result array[pin overview of each survey] array of pin objects grouped by survey id
pins int count of pins retrieved
# Pin overview object
Path Type Description
surveyName string name of the survey
surveyStartDate string start date of the survey
surveyEndDate string end date of the survey
pins array [pin object] list of pins of the survey
# Pin object
Path Type Description
pinId string unique id of pin
chartType string type of chart pinned

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/pin/overview?timezone=America%2FLos_Angeles&language=en'

# Example Response

{
  "fromDate": null,
  "result": [
    {
      "surveyId": "f24c89bb-****-4499-ab83-e04978d38db8",
      "surveyName": "Survey 1",
      "pins": [
        {
          "chartType": "responseTrend",
          "pinId": "a9a6aea9-c51a-49a6-a9ad-b917daa5abb4"
        },
        {
          "chartType": "npsTrend",
          "pinId": "9add1bc3-4935-4424-b885-72b3353d58ec"
        },
        {
          "chartType": "responseTrend",
          "pinId": "74f32377-5185-4d38-a38a-b0fe3ade2e2b"
        },
        {
          "chartType": "npsTrend",
          "pinId": "b18639bf-5e26-4326-b55c-c4749306931d"
        },
        {
          "chartType": "responseTrend",
          "pinId": "a5d22500-7dd4-4936-b536-f759c321c176"
        },
        {
          "chartType": "metricTrend",
          "pinId": "3acbb318-926a-4652-82b2-0bd733e29e79"
        }
      ],
      "surveyStartDate": "2021-09-21 07:13:41",
      "surveyEndDate": "2022-09-21 07:13:41"
    },
    {
      "surveyId": "df965277-****-412b-9133-f9c5c34e0664",
      "surveyName": "Survey 2",
      "pins": [
        {
          "chartType": "metricTrend",
          "pinId": "d3b9275f-7eeb-4be0-8a0b-485d6265fd5d"
        }
      ],
      "surveyStartDate": "2021-09-23 11:39:44",
      "surveyEndDate": "2022-09-23 11:39:44"
    },
    {
      "surveyId": "6d1d3ff0-****-4f95-b0c2-f3c96011ce3f",
      "surveyName": "Survey 3",
      "pins": [
        {
          "chartType": "npsTrend",
          "pinId": "e72da78d-9e43-492e-be81-b293034e9c78"
        },
        {
          "chartType": "respondent",
          "pinId": "8e97e705-0c65-4e7f-b3b0-e801a27d935e"
        },
        {
          "chartType": "metricTrend",
          "pinId": "25aa6c0e-5a3a-41a9-889d-d004d25c9826"
        },
        {
          "chartType": "respondent",
          "pinId": "e557d8f5-c956-4ce5-9b19-781e0d14d9ed"
        },
        {
          "chartType": "metricTrend",
          "pinId": "d13e3ec7-a8d6-48f1-84c0-cd71585dd1ad"
        }
      ],
      "surveyStartDate": "2021-09-17 10:30:00",
      "surveyEndDate": "2022-09-17 10:30:00"
    },
    {
      "surveyId": "a497036d-****-4899-8249-0857e0744cfe",
      "surveyName": "Survey 4",
      "pins": [
        {
          "chartType": "respondent",
          "pinId": "8c2f6ee2-2ce9-4cf9-b8fa-74330900345a"
        },
        {
          "chartType": "metricTrend",
          "pinId": "3e89e5a0-15d3-4c0b-b45f-5fde6998d336"
        },
        {
          "chartType": "respondent",
          "pinId": "c49e616d-721c-45a8-9568-f76a14d9c229"
        },
        {
          "chartType": "respondent",
          "pinId": "ee18f7b9-7783-4168-a115-b724fef21e87"
        },
        {
          "chartType": "responseTrend",
          "pinId": "620d527e-264d-4efc-8b33-44e677eb2941"
        },
        {
          "chartType": "respondent",
          "pinId": "abe703d2-2bed-4bc0-b99a-fdbec85565dc"
        },
        {
          "chartType": "respondent",
          "pinId": "b67a647d-185d-4e49-a823-d91d4fdb5752"
        },
        {
          "chartType": "responseTrend",
          "pinId": "af57f5cd-8e1d-4474-9b48-3fc0cfc1f20d"
        }
      ],
      "surveyStartDate": "2021-09-28 08:21:31",
      "surveyEndDate": "2022-01-30 15:59:59"
    }
  ],
  "success": true,
  "toDate": null,
  "pins": 20
}

# Get Pins By Survey Id


GET /pin/survey/:surveyId

# Path Parameters

Path Type Optional Description
surveyId string false unique id of the survey

# Query Parameters

Path Type Optional Description
type string true type of pins [chart/respondent, Default - chart]
fromDate string true indicates start date of pinned items to be fetched (when left empty all pins will be fetched)
toDate string true indicates end date of pinned items to be fetched (when left empty all pins will be fetched)
timezone string true indicates timezone of request [Default - America/Los_Angeles]

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
fromDate string applied start date
toDate string applied end date
result array[pin object] array of pin objects
pins int count of pins retrieved
# Pin object
Path Type Description
pinId string unique id of pin
chartType string type of chart pinned [responseTrend/nps/driverMetric/topSegement/bottomSegment/overallSentiment/wordCloud/choice/openEnd/respondent]
queryParameters json query parameters present in the API which fetches chart details
urlParameters json url parameters present in the API which fetches chart details
requestBody json request body present in the API which fetches chart details
data json response data of the pinned chart
filterConditions json filter condition applied on the chart pinned
pinnedTime string time of pinning the chart/respondent pin
# Sample queryParameters object for responseTrend chart
Path Type Description
fromDate string start date of the feedbacks
toDate string end date of the feedbacks
responseInterval string interval between dates for the trend (daily/weekly/monthly)
timeZone string timeZone of the user
interval string date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear)
surveyType string survey publish type (journey/publish)
# Sample urlParameters object for responseTrend chart
Path Type Description
url string URL of the api which fetches the chart details
programId string unique id of program
# Sample queryParameters object for respondent
Path Type Description
timezone string timezone of the user
language string language of request
# Sample urlParameters object for respondent
Path Type Description
url string URL of the api which fetches the chart details
programId string unique id of program
respondentId string unique id of the respondent
# Sample data object for responseTrend chart
Path Type Description
responseTrend array[trend object] array containing trend data for the given duration

# Example Request (1)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought.com/dtapp/api/pin/survey/74c961a8-****-4baf-b1c7-655f716a057d?type=respondent&timezone=Asia%2FCalcutta'

# Example Response (1)

{
  "fromDate": null,
  "result": [
    {
      "filterConditions": {},
      "pinnedTime": "2021-10-13 13:40:59",
      "queryParameters": {
        "timezone": "Asia/Calcutta",
        "language": "en"
      },
      "data": {
        "metaData": {
          "Name": "Akshara",
          "Email": "akshara@dropthought.com",
          "PRTNAME": "Akshara"
        },
        "npsText": "Detractor",
        "id": "q0ehoo2gv7t4f81**j2qriljdd",
        "tokenType": "dynamic",
        "events": [
          {
            "answers": "Neutral",
            "npsText": "",
            "subType": "smiley",
            "category": [],
            "metricId": "0",
            "npsValue": "N/A",
            "sentiment": null,
            "metricName": "",
            "questionId": "fba3d8e8-****-4a32-8a76-41512ea62f6a",
            "metricScale": "5",
            "metricScore": "2",
            "questionText": "Rating",
            "questionType": "rating"
          },
          {
            "answers": "6",
            "npsText": "Detractor",
            "subType": "",
            "category": [],
            "metricId": "0",
            "npsValue": "6",
            "sentiment": null,
            "metricName": "",
            "questionId": "63549f1d-****-4eec-bc6c-c7985d3304f7",
            "metricScale": "0",
            "metricScore": "0",
            "questionText": "On a scale of 0 - 10, how likely are you to recommend DT to a friend or colleague?",
            "questionType": "nps"
          }
        ],
        "responseDate": "16-Sep-2021 07:18 AM"
      },
      "requestBody": {},
      "chartType": "respondent",
      "pinId": "ed2ab22e-cbb9-4572-9fd0-9ef487629b2c",
      "urlParameters": {
        "respondentId": "q0ehoo2gv7t4**1r7j2qriljdd",
        "url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/respondents/{respondentId}",
        "programId": "74c961a8-****-4baf-b1c7-655f716a057d"
      }
    },
    {
      "filterConditions": {},
      "pinnedTime": "2021-10-13 13:45:10",
      "queryParameters": {
        "timezone": "Asia/Calcutta",
        "language": "en"
      },
      "data": {
        "metaData": {},
        "npsText": "Passive",
        "id": "au2h1rfsu5q3orkar**tg8l869",
        "tokenType": null,
        "events": [
          {
            "answers": "Good",
            "npsText": "",
            "subType": "smiley",
            "category": [],
            "metricId": "0",
            "npsValue": "N/A",
            "sentiment": null,
            "metricName": "",
            "questionId": "fba3d8e8-4999-4a32-8a76-41512ea62f6a",
            "metricScale": "5",
            "metricScore": "3",
            "questionText": "Rating",
            "questionType": "rating"
          },
          {
            "answers": "8",
            "npsText": "Passive",
            "subType": "",
            "category": [],
            "metricId": "0",
            "npsValue": "8",
            "sentiment": null,
            "metricName": "",
            "questionId": "63549f1d-a36f-4eec-bc6c-c7985d3304f7",
            "metricScale": "0",
            "metricScore": "0",
            "questionText": "On a scale of 0 - 10, how likely are you to recommend Company to a friend or colleague?",
            "questionType": "nps"
          }
        ],
        "responseDate": "16-Sep-2021 07:12 AM"
      },
      "requestBody": {},
      "chartType": "respondent",
      "pinId": "5b4c9f58-b2dd-400c-b7d2-47f83a10d1d7",
      "urlParameters": {
        "respondentId": "au2h1rfsu5q3orkar**tg8l869",
        "url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/respondents/{respondentId}",
        "programId": "74c961a8-****-4baf-b1c7-655f716a057d"
      }
    }
  ],
  "success": true,
  "toDate": null,
  "pins": 2
}

# Example Request (2)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6' 'https://stage-api.dropthought.com/dtapp/api/pin/survey/74c961a8-****-4baf-b1c7-655f716a057d?type=chart&timezone=America%2FLos_Angeles'

# Example Response (2)

{
  "fromDate": null,
  "result": [
    {
      "filterConditions": {
        "filter_query": "question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=2||question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=3"
      },
      "pinnedTime": "2021-10-13 12:26:47",
      "queryParameters": {
        "fromDate": "2021-9-16 00:00:00",
        "surveyType": "publish",
        "surveyFilterId": "",
        "timezone": "Asia/Calcutta",
        "primaryMetricInterval": "daily",
        "toDate": "2021-9-23 23:59:59",
        "language": "en"
      },
      "data": {
        "responseTrend": [
          [
            "Timestamp",
            "Total",
            "Sms",
            "Email"
          ],
          [
            "13-Sep-2021",
            0,
            0,
            0
          ],
          [
            "14-Sep-2021",
            0,
            0,
            0
          ],
          [
            "15-Sep-2021",
            0,
            0,
            0
          ],
          [
            "16-Sep-2021",
            2,
            0,
            1
          ],
          [
            "17-Sep-2021",
            0,
            0,
            0
          ],
          [
            "18-Sep-2021",
            0,
            0,
            0
          ],
          [
            "19-Sep-2021",
            0,
            0,
            0
          ],
          [
            "20-Sep-2021",
            0,
            0,
            0
          ]
        ]
      },
      "requestBody": {},
      "chartType": "responseTrend",
      "pinId": "67e15a83-3d15-4d7f-b182-ae2b409443ed",
      "urlParameters": {
        "url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/overview",
        "programId": "74c961a8-****-4baf-b1c7-655f716a057d"
      }
    }
  ],
  "success": true,
  "toDate": null,
  "pins": 1
}

# Get Pin By Pin Id


GET /pin/:pinId

# Path Parameters

Path Type Optional Description
pinId string false unique id of the pin

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result map[pin object] map of pin objects
# Pin object
Path Type Description
pinId string unique id of pin
chartType string type of chart pinned [responseTrend/nps/driverMetric/topSegement/bottomSegment/overallSentiment/wordCloud/choice/openEnd/respondent]
queryParameters json query parameters present in the API which fetches chart details
urlParameters json url parameters present in the API which fetches chart details
requestBody json request body present in the API which fetches chart details
data json response data of the pinned chart
filterConditions json filter condition applied on the chart pinned
pinnedTime string time of pinning the chart/respondent pin
# Sample queryParameters object for responseTrend chart
Path Type Description
fromDate string start date of the feedbacks
toDate string end date of the feedbacks
responseInterval string interval between dates for the trend (daily/weekly/monthly)
timeZone string timeZone of the user
interval string date selector interval (today/yesterday/lastTwoWeeks/lastMonth/lastThreeMonth/lastSixMonth/lastYear)
surveyType string survey publish type (journey/publish)
# Sample urlParameters object for responseTrend chart
Path Type Description
url string URL of the api which fetches the chart details
programId string unique id of program
# Sample queryParameters object for respondent
Path Type Description
timezone string timezone of the user
language string language of request
# Sample urlParameters object for respondent
Path Type Description
url string URL of the api which fetches the chart details
programId string unique id of program
respondentId string unique id of the respondent
# Sample data object for responseTrend chart
Path Type Description
responseTrend array[trend object] array containing trend data for the given duration

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJZdmJyMk1qcVRhRkNTY3RqSmZxNXgtTko5YmxnVmlxU2VjRzlMcEtrM3BjIn0' 'https://stage-api.dropthought/dtapp/api/pin/67e15a83-3d15-4d7f-b182-ae2b409443ed'

# Example Response

{
  "result": {
    "filterConditions": {
      "filter_query": "question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=2||question.74c961a8-****-4baf-b1c7-655f716a057d.fba3d8e8-****-4a32-8a76-41512ea62f6a.response=3"
    },
    "pinnedTime": "2021-10-13 12:26:47",
    "queryParameters": {
      "fromDate": "2021-9-16 00:00:00",
      "surveyType": "publish",
      "surveyFilterId": "",
      "timezone": "Asia/Calcutta",
      "primaryMetricInterval": "daily",
      "toDate": "2021-9-23 23:59:59",
      "language": "en"
    },
    "data": {
      "responseTrend": [
        [
          "Timestamp",
          "Total",
          "Sms",
          "Email"
        ],
        [
          "13-Sep-2021",
          0,
          0,
          0
        ],
        [
          "14-Sep-2021",
          0,
          0,
          0
        ],
        [
          "15-Sep-2021",
          0,
          0,
          0
        ],
        [
          "16-Sep-2021",
          2,
          0,
          1
        ],
        [
          "17-Sep-2021",
          0,
          0,
          0
        ],
        [
          "18-Sep-2021",
          0,
          0,
          0
        ],
        [
          "19-Sep-2021",
          0,
          0,
          0
        ],
        [
          "20-Sep-2021",
          0,
          0,
          0
        ]
      ]
    },
    "requestBody": {},
    "chartType": "responseTrend",
    "pinId": "67e15a83-3d15-4d7f-b182-ae2b409443ed",
    "urlParameters": {
      "url": "https://stage-api.dropthought.com/dtapp/api/program/{programId}/analytics/overview",
      "programId": "74c961a8-****-4baf-b1c7-655f716a057d"
    }
  },
  "success": true
}

# Task Manager

# Get Tasks

# Path Parameters


No Parameters

# Query Parameters

Path Type Optional Description
userId string true unique id of the user
status string true indicates status of the task (unassigned/assigned/working/complete )
pageId int true indicates page number, fetches 10 records per page (Default - 1)
timezone string true indicates timezone of the request (Default - America/Los_Angeles)
language string true indicates language of the request (Default - en)

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result array[task object] array of task objects
# task object
Path Type Description
taskId string unique id of the task
assignor json details of the user who has assigned the task
assignee json details of the user to whom the task has been assigned
status string status of the task
message string indicates trigger message
questions array questions present in the survey
triggerName string indicates trigger name
respondentName string indicates respondent name
surveyName string indicates survey name
responseDate string timestamp of the response received
lastUpdateDate string timestamp of last updation of the task
# assignee/assignor object
Path Type Description
id string indicates user id
name string indicates name of the user
email string indicates email of the user
# questions object
Path Type Description
answer string indicates response for the question
scale string indicates metric scale
title string indicates question title

# Example Request (To fetch tasks irrespective of the status and assignee)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=&status=&pageId=1&timezone=America%2FLos_Angeles&language=en'

# Example Request (To fetch tasks irrespective of the status for a particular user)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=6e645ed5-****-45d0-9be9-677e49773bd7&status=&pageId=1&timezone=America%2FLos_Angeles&language=en'

# Example Request (To fetch tasks irrespective of the user for a particular status)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=&status=assigned&pageId=1&timezone=America%2FLos_Angeles&language=en'

# Example Request (To fetch tasks based on user and the status)

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJE' 'https://stage-api.dropthought.com/dtapp/api/tasks?userId=6e645ed5-****-45d0-9be9-677e49773bd7&status=assigned&pageId=1&timezone=America%2FLos_Angeles&language=en'

# Example Response

{
	"result": [{
			"assignor": {
				"name": "Akshara Sridhar",
				"id": "ea0214a8-6ee8-4db3-b280-217711e8da1f",
				"email": "akshara@dropthought.com"
			},
			"assignee": {
				"name": "Akshara Read",
				"id": "6e645ed5-dd0b-45d0-9be9-677e49773bd7",
				"email": "aksharareaduser@yopmail.com"
			},
			"status": "assigned",
			"message": "Customer Survey Trigger Message",
			"questions": [{
					"scale": "5",
					"title": "How did you feel after listening to the announcement?",
					"answer": "4"
				},
				{
					"scale": "",
					"title": "Did you feel appropriate channel was used to make the announcement?",
					"answer": "Yes"
				},
				{
					"scale": "",
					"title": "What did you think about the timings of the announcement?",
					"answer": "Little early"
				}
			],
			"taskId": "o5g2pi361lk7h5cvkivmtgp96b",
			"triggerName": "Customer Survey Trigger",
			"respondentName": "",
			"surveyName": "Announcement Feedback",
			"responseDate": "2022-07-26 14:47:41",
			"lastUpdateDate": "2022-07-26 16:04:33"
		},
		{
			"assignor": {
				"name": "Akshara Sridhar",
				"id": "ea0214a8-6ee8-4db3-b280-217711e8da1f",
				"email": "akshara@dropthought.com"
			},
			"assignee": {
				"name": "Akshara Read",
				"id": "6e645ed5-dd0b-45d0-9be9-677e49773bd7",
				"email": "aksharareaduser@yopmail.com"
			},
			"status": "assigned",
			"message": "Customer Survey Trigger Message",
			"questions": [{
					"scale": "5",
					"title": "How did you feel after listening to the announcement?",
					"answer": "3"
				},
				{
					"scale": "",
					"title": "Did you feel appropriate channel was used to make the announcement?",
					"answer": "Not sure"
				},
				{
					"scale": "",
					"title": "What did you think about the timings of the announcement?",
					"answer": "Too late"
				}
			],
			"taskId": "rvrl36q1c53251phg25l19e5aq",
			"triggerName": "Customer Survey Trigger",
			"respondentName": "",
			"surveyName": "Announcement Feedback",
			"responseDate": "2022-07-26 00:45:29",
			"lastUpdateDate": "2022-07-26 16:04:33"
		},
		{
			"assignor": {
				"name": "Akshara Sridhar",
				"id": "ea0214a8-6ee8-4db3-b280-217711e8da1f",
				"email": "akshara@dropthought.com"
			},
			"assignee": {
				"name": "Akshara Read",
				"id": "6e645ed5-dd0b-45d0-9be9-677e49773bd7",
				"email": "aksharareaduser@yopmail.com"
			},
			"status": "assigned",
			"message": "Customer Survey Trigger Message",
			"questions": [{
					"scale": "5",
					"title": "How did you feel after listening to the announcement?",
					"answer": "4"
				},
				{
					"scale": "",
					"title": "Did you feel appropriate channel was used to make the announcement?",
					"answer": "Yes"
				},
				{
					"scale": "",
					"title": "What did you think about the timings of the announcement?",
					"answer": "Little late"
				}
			],
			"taskId": "h3qsuuse6tc1kgjh4ii4lj3uk4",
			"triggerName": "Customer Survey Trigger",
			"respondentName": "",
			"surveyName": "Announcement Feedback",
			"responseDate": "2022-07-26 00:55:53",
			"lastUpdateDate": "2022-07-26 16:04:33"
		}
	],
	"success": true
}

# Update Tasks

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
userId string false unique id of the user to which the task has to be assigned
taskIds array false array of task ids which has to be assigned to the user

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJraWQiOi' -d '{ \
   "userId": "6e645ed5-****-45d0-9be9-677e49773bd7", \
   "taskIds": [ \
     "rvrl36q1c53251phg25l19e5aq", \
 "h3qsuuse6tc1kgjh4ii4lj3uk4", \
 "o5g2pi361lk7h5cvkivmtgp96b" \
   ] \
 }' 'https://stage-api.dropthought.com/dtapp/api/tasks'

# Example Response

{
  "success": true
}

# Update Task By Id

# Path Parameters

Path Type Optional Description
taskId string false unique id of the task whose status has to be updated

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
status string false indicates the status of the task that has to be set (assigned/unassigned/working/complete)

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'Authorization: eyJraWQiOalw' -d '{"status" : "working"}' 'https://stage-api.dropthought.com/dtapp/api/tasks/o5g2pi361lk7h5cvkivmtgp96b'

# Example Response

{
  "success": true
}

# Get Task By Id

# Path Parameters

Path Type Optional Description
taskId string false unique id of the task

# Query Parameters

Path Type Optional Description
timezone string true indicates timezone of the request (Default - America/Los_Angeles)
language string true indicates language of the request (Default - en)

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiOiJEa2Fo' 'https://stage-api.dropthought.com/dtapp/api/tasks/o5g2pi361lk7h5cvkivmtgp96b?timezone=America%2FLos_Angeles&language=en'

# Example Response

{
  "success": true
}

# Delete Task By Id

# Path Parameters

Path Type Optional Description
taskId string false unique id of the task

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X DELETE --header 'Accept: application/json' --header 'Authorization: eyJraWQiOi' 'https://stage-api.dropthought.com/dtapp/api/tasks/o5g2pi361lk7h5cvkivmtgp96b'

# Example Response

{
  "success": true
}

# Get Users For Task Management

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result array[user object] list of users in the business
# user object
Path Type Description
id string indicates user id
name string indicates name of the user
email string indicates email of the user

# Example Request

curl -X GET --header 'Accept: application/json' --header 'Authorization: eyJraWQiiQlw' 'https://stage-api.dropthought.com/dtapp/api/tasks/users'

# Example Response

{
  "result": [
    {
      "id": "ea0214a8-****-4db3-b280-217711e8da1f",
      "name": "Akshara Sridhar",
      "email": "akshara@dropthought.com"
    },
    {
      "id": "6e645ed5-****-45d0-9be9-677e49773bd7",
      "name": "Akshara Read",
      "email": "aksharareaduser@yopmail.com"
    }
  ],
  "success": true
}

# Downloads

# Initiate File Download


POST /api/v1/download/initiate

# Path Parameters


No Path Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
downloadData map [download object] false contains info about survey/list to download
# download object
Path Type Optional Description
businessId string false unique id of the business
userId string false unique id of the user
surveyId string false unique id of the program
surveyName string false indicates name of the program
timeZone string false indicates timezone of request
language string false indicates language of request (en/ar)
type string false indicates type of download (participant/feedback)
tagId string false unique id of tag (Not required for feedback download)
participantGroupId int false unique id of participant group (Not required for feedback download)
filterId string true unique id of survey filter applied (Not required for unique link download)
surveyType string false type of publish - journey/publish (Not required for unique link download)
count int false count of responses present in the program (Not required for unique link download)

# Response fields

Path Type Description
success boolean true (or) false
curl --location --request POST 'https://stage-api.dropthought.com/api//v1/download/initiate' \
--header 'Content-Type: application/json' \
--data-raw '{
    "businessId": "12d8e540-****-4a4e-a84d-ffaf0b7155b3",
    "userId": "fa760fc0-****-453c-a0e7-6d71d33ffd5c",
    "surveyId": "d9aa61a6-****-4a68-9333-f62b23eaa596",
    "surveyName": "Store Feedback Survey",
    "timeZone": "Asia/Calcutta",
    "language": "en",
    "type": "participant",
    "tagId": "8552454c-****-47e0-8668-0d852c6c4d97",
    "participantGroupId": 392
}'

# Example Request (Feedback download)

curl --location --request POST 'https://api.dropthought.com/api//v1/download/initiate' \
--header 'Content-Type: application/json' \
--data-raw '{
    "businessId": "34f48e9a-****-4b21-b9a5-89d947196a2e",
    "userId": "623acb29-****-4890-b9c1-511936fd60b2",
    "surveyId": "566adc7e-***-4782-b399-fa051ae2e950",
    "surveyName": "Employee Feedback Survey",
    "filterId": "",
    "from": "2021-11-11 00:00:00",
    "to": "2021-11-18 23:59:59",
    "count": "2",
    "timeZone": "Asia/Calcutta",
    "language": "en",
    "surveyType": "publish"
}'

# Example Response

{
    "success": "true"
}

# Get Downloaded Entries


GET /api/v1/download/status/:businessId/:userId

# Path Parameters

Path Type Optional Description
businessId string false unique id of the business
userId string false unique id of the user

# Query Parameters


No Parameters

# Request fields


No Request Payload

# Response fields

Path Type Description
surveyId string unique id of survey
surveyName string survey name in the case of feedback download & survey name with links for tag in case of links download
count int count of feedback in the case of report download & count of links in the case of links download
participantGroupId int unique of participant group
type string type of download (feedback/participant)
size string indicates size of downloaded file
id int unique id of download
status string indicates status of download (PROCESSING/COMPLETE/DOWNLOADED/INVALID)
link string indicates aws link for downloaded file
createdTime string indicated timestamp of initiated download

# Example Request

curl --location --request GET 'https://stage-api.dropthought.com/api/v1/download/status/12d8e540-****-4a4e-a84d-ffaf0b7155b3/fa760fc0-****-453c-a0e7-6d71d33ffd5c' \

# Example Response

[
    {
        "surveyId": "75007bdd-***-4d0e-bc87-0448aa7db4ba",
        "surveyName": "Employee Feedback",
        "filterId": "",
        "count": 2,
        "participantGroupId": 0,
        "type": "feedback",
        "entryId": 0,
        "id": 121,
        "size": "397B",
        "status": "COMPLETE",
        "link": "https://dt-file-download.s3.us-west-1.amazonaws.com/bc71ddbb-504e-4580-b7ab-08cb6c4c5f01_September_16_20210916141525.csv",
        "createdTime": "2021-09-16T19:45:25.000Z"
    },
    {
        "surveyId": "75007bdd-****-4d0e-bc87-0448aa7db4ba",
        "surveyName": "Employee Feedback Links for Employee List",
        "count": 123,
        "participantGroupId": 199,
        "type": "participant",
        "entryId": 0,
        "id": 120,
        "size": "30KB",
        "status": "COMPLETE",
        "link": "https://dt-file-download.s3.us-west-1.amazonaws.com/2193b4e9-55b6-4edf-ae30-abcb6a441edf_Survey%20Links%20for%20120_contacts_20210916135606.csv",
        "createdTime": "2021-09-16T19:26:05.000Z"
    },
    {
        "surveyId": "1bec754f-***-4187-9797-d645d08cc9c1",
        "surveyName": "Store Feedback Survey",
        "filterId": "",
        "count": 2,
        "participantGroupId": 0,
        "type": "feedback",
        "entryId": 0,
        "id": 66,
        "size": "366B",
        "status": "DOWNLOADED",
        "link": "https://dt-file-download.s3.us-west-1.amazonaws.com/c4e488b3-3fa5-4671-b6f7-a00c63c7421e_email_test_2_20210906100504.csv",
        "createdTime": "2021-09-06T15:35:04.000Z"
    },
    {
            "surveyId": "1bec754f-***-4187-9797-d645d08cc9c1",
            "surveyName": "Store Feedback Survey for Store Data List",
            "count": 100,
            "participantGroupId": 199,
            "type": "participant",
            "entryId": 0,
            "id": 120,
            "size": "30KB",
            "status": "COMPLETE",
            "link": "https://dt-file-download.s3.us-west-1.amazonaws.com/2193b4e9-55b6-4edf-ae30-abcb6a441edf_Survey%20Links%20for%20120_contacts_20210916135606.csv",
            "createdTime": "2021-09-16T19:26:05.000Z"
        }
]

# Update Download Status


PUT /api/v1/download/:businessId/:id

# Path Parameters

Path Type Optional Description
businessId string false unique id of the business
id int false unique id of the download

# Query Parameters


No Parameters

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl --location --request PUT 'https://test-api.dropthought.com/api/v1/download//161d68ec-****-4f48-a81f-9794a85ab723/120' \

# Example Response

{
    "success": "true"
}

# Delete Download Entry


DELETE /api/v1/download/:businessId/:id

# Path Parameters

Path Type Optional Description
businessId string false unique id of the business
id int false unique id of the download

# Query Parameters


No Parameters

# Request fields


No Request Payload

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl --location --request DELETE 'https://test-api.dropthought.com/api/v1/download/161d68ec-****-4f48-a81f-9794a85ab723/120' \

# Example Response

{
    "success": "true"
}

# Storage

# Store Picture In AWS


POST /storage

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# FormData Parameters

FormData Type Optional Description
file file false picture to be stored in AWS

# Example Request

curl -X POST --header 'Content-Type: multipart/form-data' --header 'Accept: application/json' --header 'Authorization: eyJhbGciOiJIUzUxMiJ9' {"type":"formData"} 'https://test.dropthought.com/dtapp/api/storage'

# Example Response

{
  "success": true,
  "url": "https://dt-program-banner.s3.us-west-1.amazonaws.com/99274105-a42f-47e2-8dac-4d7ad6310ad8-SSN%20-9.jpg"
}

# Application Management

# Create Application


POST /dtapp/api/sdk/applications

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
icon string true application base64 encoded icon
name string false application name
version string true application version
appearance string true system/light/dark, default is system
fontColor string true color string. e.g. “#000000”, default is empty string
backgroundColor string true color string. e.g. “#ffffff”, default is empty string)

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthf****P1UQI0R6kKl028amzRtHjAeIYXr9' -d '{ \
   "appearance": "dark", \
   "backgroundColor": "#000000", \
   "fontColor": "#ffffff", \
   "icon": "Sample icon", \
   "name": "Zomato", \
   "version": "1.0" \
 }' 'https://{environment}/dtapp/api/sdk/applications'

# Example Response

{
  "success": true,
}

# Get Application by Application ID


GET /dtapp/api/sdk/applications/:applicationId

# Path Parameters

Path Type Optional Description
applicationId string false unique id of the application

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result application object [map] single application object
# Application object
Path Type Optional Description
icon string true application base64 encoded icon
name string false application name
version string true application version
appearance string true system/light/dark, default is system
fontColor string true color string. e.g. “#000000”, default is empty string
backgroundColor string true color string. e.g. “#ffffff”, default is empty string)
visibility list true application's visibility information

# Example Request

curl -X GET --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4Kh****I0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/applications/f7f52232-****-4777-a81d-b4c3f4f97c8e'

# Example Response

{
  "result": {
    "backgroundColor": "#000000",
    "appearance": "dark",
    "visibility": [],
    "icon": "[B@5466dfbe",
    "name": "Zomato",
    "applicationId": "f7f52232-6e6c-4777-a81d-b4c3f4f97c8e",
    "version": "1.0",
    "fontColor": "#ffffff"
  },
  "success": true
}

# Update Application by Application ID


PUT /dtapp/api/sdk/applications/:applicationId

# Path Parameters

Path Type Optional Description
applicationId string false unique id of the application

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
icon string true application base64 encoded icon
name string true application name
version string true application version
appearance string true system/light/dark, default is system
fontColor string true color string. e.g. “#000000”, default is empty string
backgroundColor string true color string. e.g. “#ffffff”, default is empty string)

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4Kh****I0R6kKl028amzRtHjAeIYXr9' -d '{ \
   "appearance": "dark", \
   "backgroundColor": "#000000", \
   "fontColor": "#ffffff", \
   "icon": "Sample icon", \
   "name": "Zomato", \
   "version": "2.0" \
 }' 'https://{environment}/dtapp/api/sdk/applications/f7f52232-****-4777-a81d-b4c3f4f97c8e'

# Example Response

{
  "success": true
}

# Delete Application by Application IDs


DELETE /dtapp/api/sdk/applications

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
ids array false list of application ids to be deleted

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4****UQI0R6kKl028amzRtHjAeIYXr9' -d '{"ids" : ["0c7f63bf-f3e4-40da-a49c-e187c254e2ed"]}' 'https://{environment}/dtapp/api/sdk/applications'

# Example Response

{
  "success": true
}

# Get Applications


GET /dtapp/api/sdk/applications

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result application object [array] array of applications
# Application object
Path Type Optional Description
icon string true application base64 encoded icon
name string false application name
version string true application version
appearance string true system/light/dark, default is system
fontColor string true color string. e.g. “#000000”, default is empty string
backgroundColor string true color string. e.g. “#ffffff”, default is empty string)
visibility list true application's visibility information

# Example Request

curl -X GET --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/applications'

# Example Response

{
  "result": [
    {
      "backgroundColor": "#000000",
      "appearance": "dark",
      "icon": [
        83,
        97,
        109,
        112,
        108,
        101,
        32,
        105,
        99,
        111,
        110
      ],
      "name": "Swiggy",
      "id": "9c589e1e-2b6d-4ea0-8631-8e3d885e3790",
      "version": "1.0",
      "fontColor": "#ffffff"
    },
    {
      "backgroundColor": "#000000",
      "appearance": "dark",
      "visibility": "[]",
      "icon": [
        83,
        97,
        109,
        112,
        108,
        101,
        32,
        105,
        99,
        111,
        110
      ],
      "name": "Zomato",
      "id": "f7f52232-6e6c-4777-a81d-b4c3f4f97c8e",
      "version": "2.0",
      "fontColor": "#ffffff"
    }
  ],
  "success": true
}

# Export Application


GET /dtapp/api/sdk/applications/:applicationId/export

# Path Parameters

Path Type Optional Description
applicationId string false unique id of the application

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
Download export PDF file pdf file with application info

# Example Request

curl -X GET --header 'Accept: application/pdf' --header 'X-DT-API-KEY: DT.M8UlTthfW4****UQI0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/applications/f7f52232-****-4777-a81d-b4c3f4f97c8e/export'

# Example Response

Download export

# Visibility Management

# Create Visibility


POST /dtapp/api/sdk/{applicationId}/visibility

# Path Parameters

Path Type Optional Description
applicationId string false unique id of the application

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
pageName string false page name from user input
elementName string true element name from user input
themeOption string true classic/option1/option2/option3/option4/option6
backgroundImage string true base64 encoded image for option6 usage

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X POST --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' -d '{ \
   "appearance": "system", \
   "backgroundColor": "#000000", \
   "elementName": "Title", \
   "fontColor": "#ffffff", \
   "pageName": "Title Page", \
   "themeOption": "classic" \
 }' 'https://{environment}/dtapp/api/sdk/f7f52232-****-4777-a81d-b4c3f4f97c8e/visibility'

# Example Response

{
  "success": true,
}

# Get Visibility by Visibility ID


GET /dtapp/api/sdk/visibility/:visibilityId

# Path Parameters

Path Type Optional Description
visibility string false unique id of the visibility

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
success boolean true (or) false
result visibility object [map] visibility object
# Visibility object
Path Type Description
pageName string page name from user input
elementName string element name from user input
themeOption string classic/option1/option2/option3/option4/option6
backgroundImage string base64 encoded image for option6 usage
visibility string unique id of the visibility

# Example Request

curl -X GET --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/visibility/O3nAg'

# Example Response

{
  "result": {
    "backgroundColor": "#000000",
    "appearance": "system",
    "visibilityId": "O3nAg",
    "themeOption": "classic",
    "backgroundImage": "",
    "program": {},
    "pageName": "Title Page",
    "fontColor": "#ffffff",
    "elementName": "Title"
  },
  "success": true
}

# Update Visibility by Visibility ID


PUT /dtapp/api/sdk/visibility/:visibilityId

# Path Parameters

Path Type Optional Description
visibilityId string false unique id of the visibility

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
pageName string true page name from user input
elementName string true element name from user input
themeOption string true classic/option1/option2/option3/option4/option6
backgroundImage string true base64 encoded image for option6 usage

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X PUT --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW4****UQI0R6kKl028amzRtHjAeIYXr9' -d '{ \
   "appearance": "system", \
   "backgroundColor": "#000000", \
   "elementName": "Title", \
   "fontColor": "#ffffff", \
   "pageName": "Title Page", \
   "program": {"survey_name" : "Sample Program"}, \
   "themeOption": "option1" \
  \
 }' 'https://{environment}/dtapp/api/sdk/visibility/O3nAg'

# Example Response

{
  "success": true
}

# Delete Visibility by Visibility IDs


DELETE /dtapp/api/sdk/visibility

# Path Parameters


No Parameters

# Query Parameters


No Parameters

# Request fields

Path Type Optional Description
ids array false list of visibility ids to be deleted

# Response fields

Path Type Description
success boolean true (or) false

# Example Request

curl -X DELETE --header 'Content-Type: application/json' --header 'Accept: application/json' --header 'X-DT-API-KEY: DT.M8UlTthfW****1UQI0R6kKl028amzRtHjAeIYXr9' -d '{"ids": ["O3nAg"]}' 'https://{environment}/dtapp/api/sdk/visibility'

# Example Response

{
  "success": true
}

# Export Application


GET /dtapp/api/sdk/visibility/:visibilityId/export

# Path Parameters

Path Type Optional Description
visibilityId string false unique id of the visibility

# Query Parameters


No Parameters

# Request fields


No Parameters

# Response fields

Path Type Description
Download export PDF file pdf file with visibility info

# Example Request

curl -X GET --header 'Accept: application/pdf' --header 'X-DT-API-KEY: DT.M8UlTthfW4Kh****I0R6kKl028amzRtHjAeIYXr9' 'https://{environment}/dtapp/api/sdk/visibility/jH6wq/export'

# Example Response

Download export

# Errors


Dropthought API uses the following error codes

Code Description
400 Bad Request -- Your request is invalid.
401 Unauthorized -- Your API key is wrong.
403 Forbidden -- The requested is hidden for administrators only.
404 Not Found -- The specified resource could not be found.
405 Method Not Allowed -- You tried to access the resource with an invalid method.
406 Not Acceptable -- You requested a format that isn't json.
410 Gone -- The requested resource has been removed from our servers.
418 I'm a teapot.
429 Too Many Requests -- You're requesting too many resources! Slow down!
500 Internal Server Error -- We had a problem with our server. Try again later.
503 Service Unavailable -- We're temporarily offline for maintenance. Please try again later.

# List of available timezones

'Europe/Andorra', 'Asia/Dubai', 'Asia/Kabul', 'Europe/Tirane', 'Asia/Yerevan', 'Antarctica/Casey', 'Antarctica/Davis', 'Antarctica/DumontDUrville', 'Antarctica/Mawson', 'Antarctica/Palmer', 'Antarctica/Rothera', 'Antarctica/Syowa', 'Antarctica/Troll', 'Antarctica/Vostok', 'America/Argentina/Buenos_Aires', 'America/Argentina/Cordoba', 'America/Argentina/Salta', 'America/Argentina/Jujuy', 'America/Argentina/Tucuman', 'America/Argentina/Catamarca', 'America/Argentina/La_Rioja', 'America/Argentina/San_Juan', 'America/Argentina/Mendoza', 'America/Argentina/San_Luis', 'America/Argentina/Rio_Gallegos', 'America/Argentina/Ushuaia', 'Pacific/Pago_Pago', 'Europe/Vienna', 'Australia/Lord_Howe', 'Antarctica/Macquarie', 'Australia/Hobart', 'Australia/Currie', 'Australia/Melbourne', 'Australia/Sydney', 'Australia/Broken_Hill', 'Australia/Brisbane', 'Australia/Lindeman', 'Australia/Adelaide', 'Australia/Darwin', 'Australia/Perth', 'Australia/Eucla', 'Asia/Baku', 'America/Barbados', 'Asia/Dhaka', 'Europe/Brussels', 'Europe/Sofia', 'Atlantic/Bermuda', 'Asia/Brunei', 'America/La_Paz', 'America/Noronha', 'America/Belem', 'America/Fortaleza', 'America/Recife', 'America/Araguaina', 'America/Maceio', 'America/Bahia', 'America/Sao_Paulo', 'America/Campo_Grande', 'America/Cuiaba', 'America/Santarem', 'America/Porto_Velho', 'America/Boa_Vista', 'America/Manaus', 'America/Eirunepe', 'America/Rio_Branco', 'America/Nassau', 'Asia/Thimphu', 'Europe/Minsk', 'America/Belize', 'America/St_Johns', 'America/Halifax', 'America/Glace_Bay', 'America/Moncton', 'America/Goose_Bay', 'America/Blanc-Sablon', 'America/Toronto', 'America/Nipigon', 'America/Thunder_Bay', 'America/Iqaluit', 'America/Pangnirtung', 'America/Atikokan', 'America/Winnipeg', 'America/Rainy_River', 'America/Resolute', 'America/Rankin_Inlet', 'America/Regina', 'America/Swift_Current', 'America/Edmonton', 'America/Cambridge_Bay', 'America/Yellowknife', 'America/Inuvik', 'America/Creston', 'America/Dawson_Creek', 'America/Fort_Nelson', 'America/Vancouver', 'America/Whitehorse', 'America/Dawson', 'Indian/Cocos', 'Europe/Zurich', 'Africa/Abidjan', 'Pacific/Rarotonga', 'America/Santiago', 'America/Punta_Arenas', 'Pacific/Easter', 'Asia/Shanghai', 'Asia/Urumqi', 'America/Bogota', 'America/Costa_Rica', 'America/Havana', 'Atlantic/Cape_Verde', 'America/Curacao', 'Indian/Christmas', 'Asia/Nicosia', 'Asia/Famagusta', 'Europe/Prague', 'Europe/Berlin', 'Europe/Copenhagen', 'America/Santo_Domingo', 'Africa/Algiers', 'America/Guayaquil', 'Pacific/Galapagos', 'Europe/Tallinn', 'Africa/Cairo', 'Africa/El_Aaiun', 'Europe/Madrid', 'Africa/Ceuta', 'Atlantic/Canary', 'Europe/Helsinki', 'Pacific/Fiji', 'Atlantic/Stanley', 'Pacific/Chuuk', 'Pacific/Pohnpei', 'Pacific/Kosrae', 'Atlantic/Faroe', 'Europe/Paris', 'Europe/London', 'Asia/Tbilisi', 'America/Cayenne', 'Africa/Accra', 'Europe/Gibraltar', 'America/Godthab', 'America/Danmarkshavn', 'America/Scoresbysund', 'America/Thule', 'Europe/Athens', 'Atlantic/South_Georgia', 'America/Guatemala', 'Pacific/Guam', 'Africa/Bissau', 'America/Guyana', 'Asia/Hong_Kong', 'America/Tegucigalpa', 'America/Port-au-Prince', 'Europe/Budapest', 'Asia/Jakarta', 'Asia/Pontianak', 'Asia/Makassar', 'Asia/Jayapura', 'Europe/Dublin', 'Asia/Jerusalem', 'Asia/Kolkata', 'Indian/Chagos', 'Asia/Baghdad', 'Asia/Tehran', 'Atlantic/Reykjavik', 'Europe/Rome', 'America/Jamaica', 'Asia/Amman', 'Asia/Tokyo', 'Africa/Nairobi', 'Asia/Bishkek', 'Pacific/Tarawa', 'Pacific/Enderbury', 'Pacific/Kiritimati', 'Asia/Pyongyang', 'Asia/Seoul', 'Asia/Almaty', 'Asia/Qyzylorda', 'Asia/Qostanay', 'Asia/Aqtobe', 'Asia/Aqtau', 'Asia/Atyrau', 'Asia/Oral', 'Asia/Beirut', 'Asia/Colombo', 'Africa/Monrovia', 'Europe/Vilnius', 'Europe/Luxembourg', 'Europe/Riga', 'Africa/Tripoli', 'Africa/Casablanca', 'Europe/Monaco', 'Europe/Chisinau', 'Pacific/Majuro', 'Pacific/Kwajalein', 'Asia/Yangon', 'Asia/Ulaanbaatar', 'Asia/Hovd', 'Asia/Choibalsan', 'Asia/Macau', 'America/Martinique', 'Europe/Malta', 'Indian/Mauritius', 'Indian/Maldives', 'America/Mexico_City', 'America/Cancun', 'America/Merida', 'America/Monterrey', 'America/Matamoros', 'America/Mazatlan', 'America/Chihuahua', 'America/Ojinaga', 'America/Hermosillo', 'America/Tijuana', 'America/Bahia_Banderas', 'Asia/Kuala_Lumpur', 'Asia/Kuching', 'Africa/Maputo', 'Africa/Windhoek', 'Pacific/Noumea', 'Pacific/Norfolk', 'Africa/Lagos', 'America/Managua', 'Europe/Amsterdam', 'Europe/Oslo', 'Asia/Kathmandu', 'Pacific/Nauru', 'Pacific/Niue', 'Pacific/Auckland', 'Pacific/Chatham', 'America/Panama', 'America/Lima', 'Pacific/Tahiti', 'Pacific/Marquesas', 'Pacific/Gambier', 'Pacific/Port_Moresby', 'Pacific/Bougainville', 'Asia/Manila', 'Asia/Karachi', 'Europe/Warsaw', 'America/Miquelon', 'Pacific/Pitcairn', 'America/Puerto_Rico', 'Asia/Gaza', 'Asia/Hebron', 'Europe/Lisbon', 'Atlantic/Madeira', 'Atlantic/Azores', 'Pacific/Palau', 'America/Asuncion', 'Asia/Qatar', 'Indian/Reunion', 'Europe/Bucharest', 'Europe/Belgrade', 'Europe/Kaliningrad', 'Europe/Moscow', 'Europe/Simferopol', 'Europe/Kirov', 'Europe/Astrakhan', 'Europe/Volgograd', 'Europe/Saratov', 'Europe/Ulyanovsk', 'Europe/Samara', 'Asia/Yekaterinburg', 'Asia/Omsk', 'Asia/Novosibirsk', 'Asia/Barnaul', 'Asia/Tomsk', 'Asia/Novokuznetsk', 'Asia/Krasnoyarsk', 'Asia/Irkutsk', 'Asia/Chita', 'Asia/Yakutsk', 'Asia/Khandyga', 'Asia/Vladivostok', 'Asia/Ust-Nera', 'Asia/Magadan', 'Asia/Sakhalin', 'Asia/Srednekolymsk', 'Asia/Kamchatka', 'Asia/Anadyr', 'Asia/Riyadh', 'Pacific/Guadalcanal', 'Indian/Mahe', 'Africa/Khartoum', 'Europe/Stockholm', 'Asia/Singapore', 'America/Paramaribo', 'Africa/Juba', 'Africa/Sao_Tome', 'America/El_Salvador', 'Asia/Damascus', 'America/Grand_Turk', 'Africa/Ndjamena', 'Indian/Kerguelen', 'Asia/Bangkok', 'Asia/Dushanbe', 'Pacific/Fakaofo', 'Asia/Dili', 'Asia/Ashgabat', 'Africa/Tunis', 'Pacific/Tongatapu', 'Europe/Istanbul', 'America/Port_of_Spain', 'Pacific/Funafuti', 'Asia/Taipei', 'Europe/Kiev', 'Europe/Uzhgorod', 'Europe/Zaporozhye', 'Pacific/Wake', 'America/New_York', 'America/Detroit', 'America/Kentucky/Louisville', 'America/Kentucky/Monticello', 'America/Indiana/Indianapolis', 'America/Indiana/Vincennes', 'America/Indiana/Winamac', 'America/Indiana/Marengo', 'America/Indiana/Petersburg', 'America/Indiana/Vevay', 'America/Chicago', 'America/Indiana/Tell_City', 'America/Indiana/Knox', 'America/Menominee', 'America/North_Dakota/Center', 'America/North_Dakota/New_Salem', 'America/North_Dakota/Beulah', 'America/Denver', 'America/Boise', 'America/Phoenix', 'America/Los_Angeles', 'America/Anchorage', 'America/Juneau', 'America/Sitka', 'America/Metlakatla', 'America/Yakutat', 'America/Nome', 'America/Adak', 'Pacific/Honolulu', 'America/Montevideo', 'Asia/Samarkand', 'Asia/Tashkent', 'America/Caracas', 'Asia/Ho_Chi_Minh', 'Pacific/Efate', 'Pacific/Wallis', 'Pacific/Apia', 'Africa/Johannesburg'