curl --request POST \
--url https://api.redem.io/addRespondent \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
"respondentId": "RESP497770",
"surveyName": "Global Vacation Insights 2024",
"dataPoints": [
{
"qualityCheck": "OES",
"dataPointId": "Q1",
"question": "Where did you spend your last vacation?",
"answer": "We were at Lake Garda in Italy",
"keywords": [
"Beach",
"Mountains",
"Lake",
"Museums",
"Europe",
"Asia",
"Destination"
],
"activateDuplicateDetection": true,
"allowedLanguages": [
"en",
"de",
"it"
]
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ1",
"duration": 42670
},
{
"qualityCheck": "GQS",
"dataPointId": "Q2",
"gridAnswersPattern": [
7,
8,
9,
1,
3,
5,
2,
5,
9,
6
]
},
{
"qualityCheck": "OES",
"dataPointId": "Q3",
"question": "What was the most memorable part of your last vacation?",
"answer": "Italian cuisine, especially pizza and fine wine.",
"keywords": [
"Cuisine",
"Food",
"Art",
"Adventure",
"History",
"Landscape",
"Culture"
],
"activateDuplicateDetection": true,
"allowedLanguages": [
"en",
"de",
"it"
]
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ3",
"duration": 69720
},
{
"qualityCheck": "CHS",
"dataPointId": "CHS_Question",
"interviewData": [
{
"question": "What mode of transport did you use?",
"answer": "Car"
},
{
"question": "How many days did you stay?",
"answer": 5
},
{
"question": "Did you travel with family?",
"answer": "yes"
},
{
"question": "What was your approximate total budget for the trip (in EUR)?",
"answer": 1500
},
{
"question": "What type of accommodation did you stay in?",
"answer": "Hotel"
}
]
},
{
"qualityCheck": "GQS",
"dataPointId": "Q4",
"gridAnswersPattern": [
2,
1,
4,
3,
5,
2,
3,
1,
1,
1
]
},
{
"qualityCheck": "TS",
"dataPointId": "totalDuration",
"duration": 256843
},
{
"qualityCheck": "BAS",
"dataPointId": "interactionsQ1",
"interactionData": [
{
"interactionType": "KEYSTROKE",
"value": "W",
"timestamp": "2024-12-01T06:22:59.809Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We",
"timestamp": "2024-12-01T06:22:59.833Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We ",
"timestamp": "2024-12-01T06:22:59.909Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We w",
"timestamp": "2024-12-01T06:22:59.962Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We we",
"timestamp": "2024-12-01T06:23:00.024Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were",
"timestamp": "2024-12-01T06:23:00.086Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were ",
"timestamp": "2024-12-01T06:23:00.148Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were a",
"timestamp": "2024-12-01T06:23:00.210Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were at",
"timestamp": "2024-12-01T06:23:00.272Z"
}
]
}
],
"activateCleaning": true,
"cleaningSettings": {
"redemScore": 60,
"OES": {
"activate": true,
"score": 40,
"minDataPoints": 2,
"categories": {
"GENERIC_ANSWER": {
"activate": false,
"minDataPoints": 2
},
"NO_INFORMATION": {
"activate": false,
"minDataPoints": 2
},
"BAD_LANGUAGE": {
"activate": true,
"minDataPoints": 2
},
"NONSENSE": {
"activate": true,
"minDataPoints": 2
},
"DUPLICATE_ANSWER": {
"activate": false,
"minDataPoints": 1
},
"DUPLICATE_RESPONDENT": {
"activate": false,
"minDataPoints": 1
},
"WRONG_TOPIC": {
"activate": true,
"minDataPoints": 2
},
"WRONG_LANGUAGE": {
"activate": true,
"minDataPoints": 2
},
"AI_GENERATED_ANSWER": {
"activate": true,
"minDataPoints": 2
}
}
},
"CHS": {
"activate": true,
"score": 20
},
"GQS": {
"activate": true,
"score": 10,
"minDataPoints": 2
},
"TS": {
"activate": true,
"score": 20
},
"BAS": {
"activate": true,
"score": 10,
"minDataPoints": 2,
"categories": {
"UNNATURAL_TYPING": {
"activate": true,
"minDataPoints": 2
},
"COPY_AND_PASTE": {
"activate": true,
"minDataPoints": 2
}
}
}
},
"synchronousResponse": true
}'
{
"success": true,
"message": "Respondent Evaluated successfully",
"results": {
"respondentId": "RESP497770",
"status": "COMPLETED",
"respondentQuality": {
"isExcluded": true,
"reasonsForExclusion": [
"Open Ended Score Threshold",
"Coherence Score Threshold"
],
"redemScore": 85,
"qualityScoreSummary": [
{
"qualityCheck": "OES",
"score": 80
},
{
"qualityCheck": "CHS",
"score": 75,
"reason": "The user shows several inconsistencies and contradictions, such as different ...",
"incoherentQuestions": [
"Q1",
"Q2"
]
},
{
"qualityCheck": "GQS",
"score": 85
},
{
"qualityCheck": "TS",
"score": 70
},
{
"qualityCheck": "BAS",
"score": 75
}
],
"dataPointsSummary": [
{
"qualityCheck": "OES",
"dataPointId": "Q1",
"score": 85,
"category": "VALID_ANSWER"
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ1",
"score": 95
},
{
"qualityCheck": "GQS",
"dataPointId": "Q2",
"score": 90
},
{
"qualityCheck": "OES",
"dataPointId": "Q3",
"score": 75,
"category": "VALID_ANSWER"
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ3",
"score": 50
},
{
"qualityCheck": "CHS",
"dataPointId": "CHS_Question",
"score": 75,
"reason": "The user shows several inconsistencies and contradictions, such as different ..."
},
{
"qualityCheck": "GQS",
"dataPointId": "Q4",
"score": 80
},
{
"qualityCheck": "TS",
"dataPointId": "totalDuration",
"score": 65
},
{
"qualityCheck": "BAS",
"dataPointId": "interactionsQ1",
"score": 75,
"category": "NATURAL_TYPING"
}
]
}
}
}
API endpoint for adding a new respondent with quality check data
curl --request POST \
--url https://api.redem.io/addRespondent \
--header 'Content-Type: application/json' \
--header 'api-key: <api-key>' \
--data '{
"respondentId": "RESP497770",
"surveyName": "Global Vacation Insights 2024",
"dataPoints": [
{
"qualityCheck": "OES",
"dataPointId": "Q1",
"question": "Where did you spend your last vacation?",
"answer": "We were at Lake Garda in Italy",
"keywords": [
"Beach",
"Mountains",
"Lake",
"Museums",
"Europe",
"Asia",
"Destination"
],
"activateDuplicateDetection": true,
"allowedLanguages": [
"en",
"de",
"it"
]
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ1",
"duration": 42670
},
{
"qualityCheck": "GQS",
"dataPointId": "Q2",
"gridAnswersPattern": [
7,
8,
9,
1,
3,
5,
2,
5,
9,
6
]
},
{
"qualityCheck": "OES",
"dataPointId": "Q3",
"question": "What was the most memorable part of your last vacation?",
"answer": "Italian cuisine, especially pizza and fine wine.",
"keywords": [
"Cuisine",
"Food",
"Art",
"Adventure",
"History",
"Landscape",
"Culture"
],
"activateDuplicateDetection": true,
"allowedLanguages": [
"en",
"de",
"it"
]
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ3",
"duration": 69720
},
{
"qualityCheck": "CHS",
"dataPointId": "CHS_Question",
"interviewData": [
{
"question": "What mode of transport did you use?",
"answer": "Car"
},
{
"question": "How many days did you stay?",
"answer": 5
},
{
"question": "Did you travel with family?",
"answer": "yes"
},
{
"question": "What was your approximate total budget for the trip (in EUR)?",
"answer": 1500
},
{
"question": "What type of accommodation did you stay in?",
"answer": "Hotel"
}
]
},
{
"qualityCheck": "GQS",
"dataPointId": "Q4",
"gridAnswersPattern": [
2,
1,
4,
3,
5,
2,
3,
1,
1,
1
]
},
{
"qualityCheck": "TS",
"dataPointId": "totalDuration",
"duration": 256843
},
{
"qualityCheck": "BAS",
"dataPointId": "interactionsQ1",
"interactionData": [
{
"interactionType": "KEYSTROKE",
"value": "W",
"timestamp": "2024-12-01T06:22:59.809Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We",
"timestamp": "2024-12-01T06:22:59.833Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We ",
"timestamp": "2024-12-01T06:22:59.909Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We w",
"timestamp": "2024-12-01T06:22:59.962Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We we",
"timestamp": "2024-12-01T06:23:00.024Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were",
"timestamp": "2024-12-01T06:23:00.086Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were ",
"timestamp": "2024-12-01T06:23:00.148Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were a",
"timestamp": "2024-12-01T06:23:00.210Z"
},
{
"interactionType": "KEYSTROKE",
"value": "We were at",
"timestamp": "2024-12-01T06:23:00.272Z"
}
]
}
],
"activateCleaning": true,
"cleaningSettings": {
"redemScore": 60,
"OES": {
"activate": true,
"score": 40,
"minDataPoints": 2,
"categories": {
"GENERIC_ANSWER": {
"activate": false,
"minDataPoints": 2
},
"NO_INFORMATION": {
"activate": false,
"minDataPoints": 2
},
"BAD_LANGUAGE": {
"activate": true,
"minDataPoints": 2
},
"NONSENSE": {
"activate": true,
"minDataPoints": 2
},
"DUPLICATE_ANSWER": {
"activate": false,
"minDataPoints": 1
},
"DUPLICATE_RESPONDENT": {
"activate": false,
"minDataPoints": 1
},
"WRONG_TOPIC": {
"activate": true,
"minDataPoints": 2
},
"WRONG_LANGUAGE": {
"activate": true,
"minDataPoints": 2
},
"AI_GENERATED_ANSWER": {
"activate": true,
"minDataPoints": 2
}
}
},
"CHS": {
"activate": true,
"score": 20
},
"GQS": {
"activate": true,
"score": 10,
"minDataPoints": 2
},
"TS": {
"activate": true,
"score": 20
},
"BAS": {
"activate": true,
"score": 10,
"minDataPoints": 2,
"categories": {
"UNNATURAL_TYPING": {
"activate": true,
"minDataPoints": 2
},
"COPY_AND_PASTE": {
"activate": true,
"minDataPoints": 2
}
}
}
},
"synchronousResponse": true
}'
{
"success": true,
"message": "Respondent Evaluated successfully",
"results": {
"respondentId": "RESP497770",
"status": "COMPLETED",
"respondentQuality": {
"isExcluded": true,
"reasonsForExclusion": [
"Open Ended Score Threshold",
"Coherence Score Threshold"
],
"redemScore": 85,
"qualityScoreSummary": [
{
"qualityCheck": "OES",
"score": 80
},
{
"qualityCheck": "CHS",
"score": 75,
"reason": "The user shows several inconsistencies and contradictions, such as different ...",
"incoherentQuestions": [
"Q1",
"Q2"
]
},
{
"qualityCheck": "GQS",
"score": 85
},
{
"qualityCheck": "TS",
"score": 70
},
{
"qualityCheck": "BAS",
"score": 75
}
],
"dataPointsSummary": [
{
"qualityCheck": "OES",
"dataPointId": "Q1",
"score": 85,
"category": "VALID_ANSWER"
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ1",
"score": 95
},
{
"qualityCheck": "GQS",
"dataPointId": "Q2",
"score": 90
},
{
"qualityCheck": "OES",
"dataPointId": "Q3",
"score": 75,
"category": "VALID_ANSWER"
},
{
"qualityCheck": "TS",
"dataPointId": "durationQ3",
"score": 50
},
{
"qualityCheck": "CHS",
"dataPointId": "CHS_Question",
"score": 75,
"reason": "The user shows several inconsistencies and contradictions, such as different ..."
},
{
"qualityCheck": "GQS",
"dataPointId": "Q4",
"score": 80
},
{
"qualityCheck": "TS",
"dataPointId": "totalDuration",
"score": 65
},
{
"qualityCheck": "BAS",
"dataPointId": "interactionsQ1",
"score": 75,
"category": "NATURAL_TYPING"
}
]
}
}
}
Request body for adding a new respondent
When a request is successfully processed, the API returns a 200 OK status code along with the expected data. The structure of the response depends on the synchronousResponse parameter provided in the request body, which determines whether the response is synchronous (results of the respondent evaluation are returned immediately) or asynchronous (a respondent is created and the results of the respondent evaluation are available later through a separate endpoint).
Synchronous Response
This response mode is triggered when synchronousResponse
is set to true
.
In this mode, the system generates a detailed response containing all quality parameters of the respondent. The request will wait (await
) until the full response is ready before proceeding.