POST
/
addRespondent
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"
        }
      ]
    }
  }
}

Authorizations

api-key
string
header
required

Body

application/json

Request body for adding a new respondent

Response

200
application/json
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.