How to add and update quotas
This guide explains how to define quotas for survey conditions within a target group's profile.
Each profile consists of targets, and each target contains its own conditions and quota definition. You can add quotas when you create a new target group or manage them on a target group that has already been launched.
What's a quota?
In a target group profile, quotas define the desired distribution of respondents based on their answers to specific profile questions.
For example, you may want:
- 67% Cat or Dog Owners
- 33% Other Pet Owners
Quotas ensure your sample distribution aligns with your intended target audience.
Adding quotas to a new target group
You can define quotas when you create a target group by including the profiling object in your request. Once created, you can adjust the quotas or other attributes while it is still in a draft state.
Create a draft target group with quotas
Call the create target group endpoint with a profiling object that defines the quotas.
- Path Parameters:
account_id: Your unique account IDproject_id: The ID of the project to which the target group belongs
Example request to create a draft target group with quotas
curl -X POST 'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-12-18' \
-d '{
"name": "Pet Ownership Survey",
"business_unit_id": <BUSINESS_UNIT_ID>,
"project_manager_id": "<PROJECT_MANAGER_ID>",
"locale": "eng_us",
"collects_pii": false,
"completes_goal": 1000,
"expected_length_of_interview_minutes": 10,
"expected_incidence_rate": 0.50,
"fielding_specification": {
"start_at": "2025-12-10T00:00:00.000Z",
"end_at": "2026-01-31T23:59:59.000Z"
},
"fielding_assistant_assignment": {},
"profiling": {
"profile_adjustment_type": "percentage",
"profiles": [
{
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
},
{
"object": "selection",
"question_id": 639,
"option": "2"
}
],
"quota": {
"name": "Cat or Dog Owners",
"completes_goal_percentage": 67.00
}
},
{
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "3"
}
],
"quota": {
"name": "Other Pet Owners",
"completes_goal_percentage": 33.00
}
}
]
}
]
}
}'
A successful response returns a 201 Created HTTP status code and a JSON response body that contains the id of the new draft target group.
{
"id": "01HYSZ7E4T3C0J2P4Y6X8W7R1N"
}
Update a draft target group
You can change the quotas or any other attribute by calling the update a draft target group endpoint using the id from the previous step.
- Path Parameters:
account_id: Your unique account IDproject_id: The ID of the projecttarget_group_id: The ID of the draft target group to update
Example request to update the quotas on a draft target group
curl -X PUT 'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-12-18' \
-d '{
"name": "Pet Ownership Survey V2",
"business_unit_id": <BUSINESS_UNIT_ID>,
"project_manager_id": "<PROJECT_MANAGER_ID>",
"locale": "eng_us",
"collects_pii": false,
"completes_goal": 1500,
"expected_length_of_interview_minutes": 10,
"expected_incidence_rate": 0.50,
"fielding_specification": {
"start_at": "2025-12-10T00:00:00.000Z",
"end_at": "2026-01-31T23:59:59.000Z"
},
"fielding_assistant_assignment": {},
"profiling": {
"profile_adjustment_type": "percentage",
"profiles": [
{
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
}
],
"quota": {
"name": "Cat Owners",
"completes_goal_percentage": 50.00
}
},
{
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "2"
}
],
"quota": {
"name": "Dog Owners",
"completes_goal_percentage": 50.00
}
}
]
}
]
}
}'
A successful update will return a 204 No Content HTTP status code.
Managing quotas on a launched target group
To change quotas on a target group that is already launched, you must replace all of its existing profiles with a new set of profiles.
This is a destructive "all or nothing" operation. Any existing profiles on the target group that are not included in your request will be deleted.
Replace the existing profiles
Call the manage profiles endpoint to replace all profiles on the target group. The body of your request will contain the completes_goal and the new profiling object.
- Path Parameters:
account_id: Your unique account IDproject_id: The ID of the projecttarget_group_id: The ID of the target group
Example request to replace profiles on a launched target group
curl -X POST 'https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles/manage-profiles' \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-H 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-12-18' \
-d '{
"completes_goal": 1200,
"profiling": {
"profile_adjustment_type": "nominal",
"profiles": [
{
"object": "regular",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
}
],
"quota": {
"name": "Cat Owners",
"completes_goal": 800
}
},
{
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "2"
}
],
"quota": {
"name": "Dog Owners",
"completes_goal": 400
}
}
]
}
]
}
}'
A successful response returns a 201 Created status code and the new profile configuration.
{
"locale": "eng_us",
"completes_goal": 1200,
"profiles": [
{
"object": "regular",
"id": "01HYSZBX5J6G4H5J6K7L8M9N0P",
"quotas_enabled": true,
"targets": [
{
"id": "01HYSZBX5J6G4H5J6K7L8M9N0Q",
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
}
],
"quota": {
"name": "Cat Owners",
"completes_goal": 800
}
},
{
"id": "01HYSZBX5J6G4H5J6K7L8M9N0R",
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "2"
}
],
"quota": {
"name": "Dog Owners",
"completes_goal": 400
}
}
]
}
]
}