Testing target groups without generating completes
This guide explains how to configure a target group to receive respondents exclusively from Cint's designated test supplier, allowing you to thoroughly test your survey logic, platform integration, and respondent redirects without incurring costs from real respondents or impacting live fieldwork.
Before launching a survey to a real audience, it is crucial to validate every aspect of your integration, including survey flow, data capture, and respondent routing. Using a test supplier provides a controlled environment to perform these checks, preventing accidental live completes and ensuring a smooth launch.
Steps to configure exclusive test supplier allocation
Step 1: Allocate to Cint's test supplier
To ensure only test respondents enter your survey, you will configure the supply_allocations within your target group to route 100% of the traffic to the designated Cint test supplier and block all other sources.
Cint's test supplier ID is 980.
You will need to define a group allocation for the test supplier and an exchange allocation with 0% contribution to block the general open exchange.
Example allocations configuration:
{
"allocations": {
"open_exchange_allocations": {
"blocked_supplier_ids": [],
"groups": [
{
"max_percentage": 100,
"min_percentage": 0,
"group_name": "Test supplier only",
"suppliers": [
"980"
]
}
],
"exchange_max_percentage": 0,
"exchange_min_percentage": 0
}
}
}
You can apply this allocations configuration when creating a new draft target group or by updating an existing one.
Creating a new draft target group
Include the allocations object in the request body of your create a target group in draft status call:
- Path parameters:
account_idproject_id
Example request to create a draft target group:
curl -X POST \
'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups' \
-H 'Content-Type: application/json' \
-H 'idempotency-key: <GENERATE_NEW_UUID_HERE>' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-05-27' \
-d '{
"name": "Test-Only 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": "0.10",
"currency_code": "USD"
},
"locale": "eng_us",
"collects_pii": false,
"filling_goal": 10,
"expected_length_of_interview_minutes": 1,
"expected_incidence_rate": 1.0,
"fielding_specification": {
"start_at": "2025-07-25T08:00:00.000Z",
"end_at": "2025-08-01T23:59:59.000Z"
},
"live_url": "https://yourtestsurvey.com/?RID=[%RID%]",
"test_url": "https://yourtestsurvey.com/?RID=[%RID%]",
"allocations": [
{
"type": "group",
"name": "Cint Test Supplier",
"percentage_min": 0,
"percentage_max": 100,
"suppliers": [ { "id": 980 } ]
},
{
"type": "exchange",
"name": "Open Exchange Blocked",
"percentage_min": 0,
"percentage_max": 0,
"suppliers": []
}
],
"profile": {
"profile_adjustment_type": "percentage",
"drafts": [],
"interlocked_profiles": []
}
}'
Updating an existing target group
You can utilize the update target group allocations endpoint to update a target group that has been launched.
The update target group allocations endpoint can only be used for launched target groups.
- Path parameters:
account_idproject_idtarget_group_id
Example request to update an existing target group:
curl -L -X PUT 'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/allocation-specification' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-05-27' \
-d '{
"open_exchange_allocations": {
"blocked_supplier_ids": [
"123",
"456"
],
"exchange_min_percentage": 0,
"exchange_max_percentage": 100,
"groups": [
{
"group_id": "1",
"group_name": "Test group",
"min_percentage": 0,
"max_percentage": 100,
"supplier_ids": [
"123",
"456"
]
}
]
}
}'
A success response includes an HTTP status 204.
Optional: Verify supply allocation settings
Confirm your allocations settings are correct by calling retrieve target group allocations endpoint:
The retrieve target group allocations endpoint can only be used for launched target groups.
- Path parameters:
account_idproject_idtarget_group_id
Example request to verify allocation settings:
curl -L 'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/allocation-specification' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-05-27'
The response should reflect the latest allocation(s):
{
"open_exchange_allocations": {
"blocked_supplier_ids": [],
"groups": [
{
"max_percentage": 100,
"min_percentage": 0,
"group_name": "Test supplier only",
"suppliers": [
"980"
]
}
],
"exchange_max_percentage": 0,
"exchange_min_percentage": 0
}
}
HTTP 400 Bad Request
- Verify the supplier ID (
980) is correctly specified as an integer. - Ensure
percentage_minandpercentage_maxare valid integers. - Check all other mandatory fields for target group creation/update are present and correct.
HTTP 412 Precondition Failed (for PUT requests to non-draft TGs)
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.
Still getting real respondents
- Verify Step 3: Use
GET /target-groups/{id}to ensure your supply_allocations are correctly set. There might be a typo, or the update might not have applied. - Confirm that the exchange allocation is set correct to zero;
percentage_max: 0. - Ensure the supplier ID for the test supplier is
980.
Test supplier not sending respondents
- Check the
test_urlandlive_urlin the target group configuration to ensure they are valid and accessible. - Ensure your target group is live.
- Confirm your survey platform is correctly handling the inbound
ridquery parameter and making the necessary S2S API calls for respondent validation.