Skip to main content
Version: 2025-12-18

How to exclude respondents within a project

This guide explains how to configure a target group to automatically exclude respondents who have already completed a survey within the same project on the Cint Exchange.

Excluding respondents helps maintain sample quality, prevents over-surveying the same individuals, and ensures data independence across your project.


Steps to implement respondent exclusion

You can enable respondent exclusion either when you initially create a draft target group or by updating an existing one.

Step 1: Add the exclusion object to your request

Include the exclusion object within the request body for either creating a new target group or updating an existing one.

  • For creating a new draft target group:
    • Endpoint: POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups
    • Action: Add the exclusion object as an optional attribute within the main JSON request body.
  • For updating an existing target group (non-draft status):
    • Endpoint: PUT https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/details
    • Action: Include the exclusion object in the request body for the update launched target group details call. Remember to include the If-Match header with the target group's ETag.

Step 2: Enable exclusion

Within the exclusion object, set the enabled field to true.

"exclusion": {
"enabled": true,
"list": [] // The 'list' array is for more advanced, explicit exclusions (not covered here).
// For project-level exclusion, keep it empty.
}
  • enabled (boolean):
    • Set to true to activate the exclusion: Respondents who complete any other target group within the same project will be prevented from entering this target group.
    • Set to false (or omit the exclusion object) if you do not want this automatic exclusion. In this case, respondents can enter the target group even if they have completed other target groups in the project.
  • list (array): This array is typically used for more advanced exclusion scenarios (e.g., excluding specific RIDs). For project-level exclusion as described here, it should be an empty array [].

Step 3: Send your target group request

Execute the API call to create or update your target group with the configured exclusion settings.

  • Request headers:
    • Content-Type: application/json
    • Authorization: Bearer <YOUR_JWT_TOKEN>
    • Cint-API-Version: 2025-12-18 (or the latest stable version)
    • If-Match: W/"<YOUR_CURRENT_ETAG>" (for PUT requests to live target groups)
  • Example cURL Request (Creating a new Draft target group with Exclusion):
    Bash
curl -X POST \
'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-12-18' \
-d '{
"name": "My Excluded target group",
"business_unit_id": "<YOUR_BUSINESS_UNIT_ID>",
"project_manager_id": "<YOUR_PROJECT_MANAGER_ID>",
"study_type_code": "adhoc",
"industry_code": "other",
"cost_per_interview": {
"value": "2.7352",
"currency_code": "USD"
},
"locale": "eng_us",
"collects_pii": false,
"filling_goal": 100,
"expected_length_of_interview_minutes": 5,
"expected_incidence_rate": 0.20,
"fielding_specification": {
"start_at": "2025-07-25T08:00:00.000Z",
"end_at": "2025-08-01T23:59:59.000Z"
},
"live_url": "https://mytestsurvey.com/?RID=[%RID%]",
"test_url": "https://mytestsurvey.com/?RID=[%RID%]",
"exclusion": {
"enabled": true,
"list": []
},
"profile": {
"profile_adjustment_type": "percentage",
"drafts": [],
"interlocked_profiles": []
}
}'
  • Remember to replace all bracketed placeholders (e.g., <YOUR_ACCOUNT_ID>) with your actual values.

Step 4: Verify exclusion settings

After a successful API call, verify that the exclusion settings are correctly applied to your target group.

  • Action: Make a GET call to the Retrieve a target group endpoint using the target_group_id.
  • Purpose: To confirm that the exclusion.enabled field in the response is set to true.
  • Outcome: The response JSON will include the exclusion object reflecting your configuration.
    Example success response snippet (showing exclusion enabled):
{
"id": "01JX2X0N5RTR012AYDTA83QWTW",
"name": "My Excluded target group",
// ... other target group details
"exclusion": {
"enabled": true,
"list": []
},
// ...
}

Troubleshooting

  • HTTP 400 Bad Request:
    • Check for typos in parameter names or incorrect data types (true/false for booleans).
    • Ensure all required fields for target group creation/update are present.
  • HTTP 412 Precondition Failed (for PUT requests): This indicates an outdated ETag. Always perform a GET call to retrieve the latest ETag immediately before making an update request to a live target group.
  • Respondents still qualifying after completing other TGs:
    • Double-check that exclusion.enabled is set to true on the target group you are trying to protect.
    • Ensure the "other" target groups are within the same project as the target group where you enabled exclusion. This exclusion applies project-wide.
    • Verify the exclusion setting was applied successfully using Step 4.