How to integrate
API Specifications
Endpoints
Others
Add Respondent
API endpoint for adding a new respondent with quality check data
curl --request POST \
--url https://api.redem.io/v2/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": [
{
"questionId": "Q1",
"question": "What mode of transport did you use?",
"answer": "Car"
},
{
"questionId": "Q2",
"question": "How many days did you stay?",
"answer": 5
},
{
"questionId": "Q3",
"question": "Did you travel with family?",
"answer": "yes"
},
{
"questionId": "Q4",
"question": "What was your approximate total budget for the trip (in EUR)?",
"answer": 1500
},
{
"questionId": "Q5",
"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"
}
]
}
}
}
Authorizations
Body
Request body for adding a new respondent
Response
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.
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.
Asynchronous Response
This response mode is triggered when synchronousResponse
is set to false
.
In this case, the system generates a detailed response and processes it asynchronously, meaning the request will not wait (await
) for the evaluation to complete. Instead, the evaluation is performed in the background, and the status of the respondent can be retrieved later using the Get Respondent Status endpoint.
curl --request POST \
--url https://api.redem.io/v2/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": [
{
"questionId": "Q1",
"question": "What mode of transport did you use?",
"answer": "Car"
},
{
"questionId": "Q2",
"question": "How many days did you stay?",
"answer": 5
},
{
"questionId": "Q3",
"question": "Did you travel with family?",
"answer": "yes"
},
{
"questionId": "Q4",
"question": "What was your approximate total budget for the trip (in EUR)?",
"answer": 1500
},
{
"questionId": "Q5",
"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"
}
]
}
}
}