Skip to main content
Version: 2025-12-18

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.

info

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 ID
    • project_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": [
{
"name": "Cat or Dog Owners",
"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
}
},
{
"name": "Other Pet Owners",
"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 ID
    • project_id: The ID of the project
    • target_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": [
{
"name": "Cat Owners",
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
}
],
"quota": {
"name": "Cat Owners",
"completes_goal_percentage": 50.00
}
},
{
"name": "Dog Owners",
"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.

warning

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 ID
    • project_id: The ID of the project
    • target_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": [
{
"name": "Cat Owners",
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
}
],
"quota": {
"name": "Cat Owners",
"completes_goal": 800
}
},
{
"name": "Dog Owners",
"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": [
{
"name": "Cat Owners",
"id": "01HYSZBX5J6G4H5J6K7L8M9N0Q",
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "1"
}
],
"quota": {
"name": "Cat Owners",
"completes_goal": 800
}
},
{
"name": "Dog Owners",
"id": "01HYSZBX5J6G4H5J6K7L8M9N0R",
"conditions": [
{
"object": "selection",
"question_id": 639,
"option": "2"
}
],
"quota": {
"name": "Dog Owners",
"completes_goal": 400
}
}
]
}
]
}