Postman Integration Guide
Postman is a popular tool for testing and exploring APIs.
You can quickly get started with the Questback Public API by importing our predefined Postman collection.
๐ฅ Import the Postman Collection
To get started:
- Open Postman.
- Click Import.
- Copy the Postman Collection Configuration below
- Then Paste the Postman Collection Configuration into the textbox in postman (alternative; Save the Postman Collection Configuration to file and drop the file into postman)
Postman Collection Configuration:
{
"info": {
"_postman_id": "8752db1b-f9e2-46ca-9661-fb0dd585eb65",
"name": "Questback External API",
"description": "Overview of endpoints for Questback External Api.\n\nUsing OAuth 2.0 as authentication.\n\n\\- ClientId and ClientSecret required. \n\\* Under the 'Authorization' tab, fill in client information in the corresponding fields. \n\\* Then Click button 'Get New Access Token' to create a new token. \n\\* In the Token dropdown select 'Questback API' \n\\- You are ready to try out the endpoints. Tip! Start with 'Quests-List'\n\nNote! All ids are Guids, NOT a regular number. \nGuids are fetched by using requests in this collection.\n\nExternal Documentation [https://apidocs.questback.com/](https://apidocs.questback.com/)",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "24501403",
"_collection_link": "https://questback-dev.postman.co/workspace/Questback-R%2526D~62abf94d-7bff-4a63-8294-c150f2af7b08/collection/12336968-8752db1b-f9e2-46ca-9661-fb0dd585eb65?action=share&source=collection_link&creator=24501403"
},
"item": [
{
"name": "Quests-List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
}
]
}
},
"response": []
},
{
"name": "Quests-Information",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}"
]
}
},
"response": []
},
{
"name": "Quests-QuestionsList",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/questions/?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"questions",
""
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
}
]
}
},
"response": []
},
{
"name": "RespondentDataFields-List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/respondentdatafields/?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"respondentdatafields",
""
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
}
]
}
},
"response": []
},
{
"name": "RespondentDataFields-DiscreteValuesList",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/respondentdatafields/{{field_id}}/values?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"respondentdatafields",
"{{field_id}}",
"values"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
},
{
"key": "since",
"value": "2025-01-01T15:30:45.123Z",
"disabled": true
},
{
"key": "until",
"value": "2025-05-01T15:30:45.123Z",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Invitations-Information",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations/{{invitation_id}}",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations",
"{{invitation_id}}"
]
}
},
"response": []
},
{
"name": "Invitations-List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
},
{
"key": "since",
"value": "2025-01-01T15:30:45.123Z",
"disabled": true
},
{
"key": "until",
"value": "2025-05-01T15:30:45.123Z",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Invitations-ImportAndSend",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"languageCode\": \"en-GB\",\r\n \"allowDuplicates\": true,\r\n \"invitations\": [\r\n {\r\n \"respondent\": {\r\n \"EMAIL\": \"test1@example.com\"\r\n }\r\n },\r\n {\r\n \"respondent\": {\r\n \"EMAIL\": \"test2@example.com\"\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations"
]
}
},
"response": [
{
"name": "WithRespondentData",
"originalRequest": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"languageCode\": \"en-GB\",\r\n \"allowDuplicates\": true,\r\n \"invitations\": [\r\n {\r\n \"respondent\": {\r\n \"EMAIL\": \"test3@example.com\"\r\n },\r\n \"respondentData\": { \r\n \"<RESPONDENTDATA_FIELDID1>\": \"<VALUE1>\",\r\n \"<RESPONDENTDATA_FIELDID2>\": \"<VALUE2>\"\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations"
]
}
},
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"name": "Content-Type",
"description": "",
"type": "text"
}
],
"cookie": [],
"body": ""
}
]
},
{
"name": "Invitations-ImportButDoNotSend",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"languageCode\": \"en-GB\",\r\n \"allowDuplicates\": true,\r\n \"invitations\": [\r\n {\r\n \"respondent\": {\r\n \"email\": \"test@example.com\"\r\n }\r\n },\r\n {\r\n \"respondent\": {\r\n \"email\": \"test@example.com\"\r\n }\r\n }\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations/nodistribution",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations",
"nodistribution"
]
}
},
"response": []
},
{
"name": "Invitations-ImportStatusForInvitationBatch",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations/status/{{batch_id}}",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations",
"status",
"{{batch_id}}"
]
}
},
"response": []
},
{
"name": "Invitations-RespondentDataList",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/invitations/respondentData?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"invitations",
"respondentData"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
}
]
}
},
"response": []
},
{
"name": "Responses-List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/responses?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"responses"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
},
{
"key": "since",
"value": "2025-01-01T15:30:45.123Z",
"disabled": true
},
{
"key": "until",
"value": "2025-05-01T15:30:45.123Z",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Responses-WithAnswersAndRespondentDataList",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/responses/answers?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"responses",
"answers"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
},
{
"key": "since",
"value": "2025-01-01T15:30:45.123Z",
"disabled": true
},
{
"key": "until",
"value": "2025-05-01T15:30:45.123Z",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Responses-SingleQuestionAnswersList",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/responses/questions/{{question_id}}/answers?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"responses",
"questions",
"{{question_id}}",
"answers"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
},
{
"key": "since",
"value": "2025-01-01T15:30:45.123Z",
"disabled": true
},
{
"key": "until",
"value": "2025-05-01T15:30:45.123Z",
"disabled": true
}
]
}
},
"response": []
},
{
"name": "Exports-InitiateDataExport",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": " {\r\n \"settings\": {\r\n \"exportType\": \"CSV\",\r\n \"valueType\": \"ORDER_NUMBER\",\r\n \"fieldSeparator\": \"PIPE\",\r\n \"expandMultipleChoiceToColumns\": true,\r\n \"includeRespondentInformation\": false,\r\n \"showOtherAsText\": false\r\n },\r\n \"filter\": {\r\n \"since\": \"2000-01-01T00:00:00.000Z\",\r\n \"until\": \"2045-12-31T23:59:59.999Z\"\r\n }\r\n }\r\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/exports",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"exports"
]
}
},
"response": []
},
{
"name": "Exports-CheckDataExportStatus",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/exports/{{export_id}}/status",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"exports",
"{{export_id}}",
"status"
]
}
},
"response": []
},
{
"name": "Exports-DownloadDataExport",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests/{{quest_id}}/exports/{{export_id}}/download",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests",
"{{quest_id}}",
"exports",
"{{export_id}}",
"download"
]
}
},
"response": []
},
{
"name": "AccountOptouts-List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/account/optouts?skip=0&take=1000",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"account",
"optouts"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "1000"
}
]
}
},
"response": []
},
{
"name": "AccountOptouts-EmailOptoutStatus",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/account/optouts/{{email}}",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"account",
"optouts",
"{{email}}"
]
}
},
"response": []
},
{
"name": "AccountOptouts-AddOptedOutEmails",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\r\n \"emails\": [\r\n \"test1@testback.com\",\r\n \"test3@testback.com\"\r\n ]\r\n}",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "https://api.questback.com/v1/account/optouts/",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"account",
"optouts",
""
]
}
},
"response": []
}
],
"auth": {
"type": "oauth2",
"oauth2": [
{
"key": "clientSecret",
"value": "",
"type": "string"
},
{
"key": "clientId",
"value": "",
"type": "string"
},
{
"key": "headerPrefix",
"value": "Bearer",
"type": "string"
},
{
"key": "accessTokenUrl",
"value": "https://auth.questback.com/oauth/v2/token",
"type": "string"
},
{
"key": "scope",
"value": "urn:zitadel:iam:org:project:id:314876184947078893:aud",
"type": "string"
},
{
"key": "tokenName",
"value": "QuestbackAPI",
"type": "string"
},
{
"key": "refreshRequestParams",
"value": [],
"type": "any"
},
{
"key": "tokenRequestParams",
"value": [],
"type": "any"
},
{
"key": "authRequestParams",
"value": [],
"type": "any"
},
{
"key": "challengeAlgorithm",
"value": "S256",
"type": "string"
},
{
"key": "grant_type",
"value": "client_credentials",
"type": "string"
},
{
"key": "addTokenTo",
"value": "header",
"type": "string"
},
{
"key": "client_authentication",
"value": "header",
"type": "string"
}
]
},
"event": [
{
"listen": "prerequest",
"script": {
"type": "text/javascript",
"packages": {},
"exec": [
""
]
}
},
{
"listen": "test",
"script": {
"type": "text/javascript",
"packages": {},
"exec": [
""
]
}
}
],
"variable": [
{
"key": "quest_id",
"value": "",
"type": "string"
},
{
"key": "question_id",
"value": "",
"type": "string"
},
{
"key": "field_id",
"value": "",
"type": "string"
},
{
"key": "invitation_id",
"value": "",
"type": "string"
},
{
"key": "export_id",
"value": "",
"type": "string"
}
]
}
This collection provides a set of ready-to-use requests for the Questback API.
๐ Configure Credentials
After importing the collection:
-
Click on the collection "Questback External API".
-
Go to the "Authorization" tab.
-
Set the following variables under "Configure New Token":
Client ID: Your API Client IDClient Secret: Your API Client Secret
Contact your account owner or Questback support if you donโt have these credentials.
๐ Get an Access Token Automatically
To fetch a token and start making authenticated requests:
- Click the button "Get New Access Token":
- You should get a window with 'Authentication Complete' (Click button 'Proceed' for quick progress)
- In the "MANAGE ACCESS TOKENS" window click the button "Use Token"
- Towards the top of the page the Token drop down will be set to the newly created token QuestbackAPI
- You are now ready to try out the endpoints.
Tip! start with endpoint Quests-List
โ๏ธ Manual OAuth Setup (Optional)
You can also manually configure OAuth 2.0 for the collection:
| Setting | Value |
|---|---|
| Auth Type | OAuth 2.0 |
| Grant Type | Client Credentials |
| Access Token URL | https://auth.questback.com/oauth/v2/token |
| Scope | urn:zitadel:iam:org:project:id:314876184947078893:aud |
| Client ID | <YOUR_CLIENT_ID> |
| Client Secret | <YOUR_CLIENT_SECRET> |
| Client Authentication | Send as Basic Auth header |
โ Start Testing
Once youโve setup the token generation under the Authorization tab, you can start exploring the Questback API using the provided requests.
๐ก Start with request Quests-List
For full endpoint documentation, visit the Questback API Reference.
Happy testing! ๐