Postman Integration Guide
You can quickly get started with the Questback Public API by importing our predefined Postman collection.
π₯ Import the Postman CollectionCopied!
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\nExternal Documentation [https://apidocs.questback.com/](https://apidocs.questback.com/)",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json",
"_exporter_id": "12336968",
"_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=12336968"
},
"item": [
{
"name": "Quests-List",
"request": {
"method": "GET",
"header": [],
"url": {
"raw": "https://api.questback.com/v1/quests?skip=0&take=100",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"quests"
],
"query": [
{
"key": "skip",
"value": "0"
},
{
"key": "take",
"value": "100"
}
]
}
},
"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"
}
]
}
},
"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"
}
]
}
},
"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\": \"test@example.com\"\r\n }\r\n },\r\n {\r\n \"respondent\": {\r\n \"email\": \"test@example.com\"\r\n },\r\n \"respondentData\": { \r\n \"name\": \"Joe Doe\"\r\n }\r\n }\r\n ]\r\n}\r\n",
"options": {
"raw": {
"language": "json"
}
}
},
"url": {
"raw": "{{api_base_url}}/{{api_version}}/quests/{{quest_id}}/invitations",
"host": [
"{{api_base_url}}"
],
"path": [
"{{api_version}}",
"quests",
"{{quest_id}}",
"invitations"
]
}
},
"_postman_previewlanguage": "json",
"header": [
{
"key": "Content-Type",
"value": "application/json",
"description": "",
"type": "text"
}
],
"cookie": [],
"body": "{\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 \"respondentData\": { \r\n \"<RESPONDENTDATA_FIELDID1>\": \"<VALUE1>\",\r\n \"<RESPONDENTDATA_FIELDID2>\": \"<VALUE2>\"\r\n }\r\n }\r\n ]\r\n}\r\n"
}
]
},
{
"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"
}
]
}
},
"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"
}
]
}
},
"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 \"includeRespondent\": 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/{{param_email}}",
"protocol": "https",
"host": [
"api",
"questback",
"com"
],
"path": [
"v1",
"account",
"optouts",
"{{param_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 CredentialsCopied!
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 AutomaticallyCopied!
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)Copied!
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 |
When this setup is used, you can skip using the
Prerequisite: Update OAuth Access Token
request.
β Start TestingCopied!
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! π