Skip to main content
Version: 2025-12-18

Create a target group

Let's create your first target group using the create draft target group endpoint.

API endpoint​

POST /v1/demand/accounts/{account_id}/projects/{project_id}/target-groups

Path parameters​

You'll need to include the following parameters in the URL:

  • account_id (string, required): Your unique account identifier.
    • Example: 12345
  • project_id (string, required): The unique identifier of the project.
    • Example: 01JX2KPG5VEBF8498Z8YTTE8TB

Request headers​

You'll need to include these headers in your request:

HeaderDescriptionExample
AuthorizationYour JWT token prefixed with Bearer.Bearer eyJhbGc...
Cint-API-VersionThe API version you are targeting.2025-12-18
Content-TypeMust be application/json.application/json
note

The idempotency-key header is not required for this endpoint. Each request creates a new target group.

Request body​

For the full list of request body parameters, see the create draft target group endpoint documentation.

Example request body: There are a few key steps to note in the example request body below:

  • You'll need to replace <YOUR_BUSINESS_UNIT_ID> and <YOUR_PROJECT_MANAGER_ID> with your actual business unit ID and project manager ID.
  • The currency code in the cost_per_interview and maximum_cpi fields should match the business unit's currency.
  • The fielding_specification dates must be in the future and follow the ISO 8601 format.
{
"name": "My first 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": "EUR"
},
"collects_pii": false,
"expected_length_of_interview_minutes": 5,
"expected_incidence_rate": 0.8,
"fielding_specification": {
"start_at": "2026-09-02T08:22:18.822Z",
"end_at": "2026-09-13T08:22:18.821Z"
},
"live_url": "https://mytestsurvey.com/?RID=[%RID%]",
"test_url": "https://mytestsurvey.com/?RID=[%RID%]",
"fielding_assistant_assignment": {
"pricing": {
"type": "dynamic",
"maximum_cpi": {
"value": "2.7352",
"currency_code": "EUR"
}
},
"quota_overlay": {
"prevent_overfill": true,
"balance_fill": false
}
},
"exclusion": {
"enabled": true,
"list": []
},
"locale": "ger_de",
"completes_goal": 10,
"profiling": {
"profile_adjustment_type": "percentage",
"profiles": [
{
"object": "regular",
"name": "birth gender",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1"
}
],
"quota": {
"name": "SF-BirthGender-Quota-1",
"completes_goal_percentage": 50
}
},
{
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "2"
}
],
"quota": {
"name": "SF-BirthGender-Quota-2",
"completes_goal_percentage": 50
}
}
]
}
]
}
}

Example request (cURL)​

Example request to create a new 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 'Authorization: Bearer <YOUR_JWT_TOKEN>' \
-H 'Cint-API-Version: 2025-12-18' \
-d '{
"name": "My first 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": "EUR"
},
"collects_pii": false,
"expected_length_of_interview_minutes": 5,
"expected_incidence_rate": 0.8,
"fielding_specification": {
"start_at": "2026-09-02T08:22:18.822Z",
"end_at": "2026-09-13T08:22:18.821Z"
},
"live_url": "https://mytestsurvey.com/?RID=[%RID%]",
"test_url": "https://mytestsurvey.com/?RID=[%RID%]",
"fielding_assistant_assignment": {
"pricing": {
"type": "dynamic",
"maximum_cpi": {
"value": "2.7352",
"currency_code": "EUR"
}
},
"quota_overlay": {
"prevent_overfill": true,
"balance_fill": false
}
},
"exclusion": {
"enabled": true,
"list": []
},
"locale": "ger_de",
"completes_goal": 10,
"profiling": {
"profile_adjustment_type": "percentage",
"profiles": [
{
"object": "regular",
"name": "birth gender",
"quotas_enabled": true,
"targets": [
{
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "1"
}
],
"quota": {
"name": "SF-BirthGender-Quota-1",
"completes_goal_percentage": 40
}
},
{
"conditions": [
{
"object": "selection",
"question_id": 43,
"option": "2"
}
],
"quota": {
"name": "SF-BirthGender-Quota-2",
"completes_goal_percentage": 60
}
}
]
}
]
}
}'

Example response​

A successful request returns an HTTP 201 Created status code and a JSON object with the new target group's ID.

Example success response:

{
"id": "01JX2X0N5RTR012AYDTA83QWTW"
}
PropertyTypeDescription
idstringThe unique identifier for the newly created target group. You'll use this ID for subsequent API calls related to this target group.

Error responses​

If your request is unsuccessful, the API will return an error response with an appropriate HTTP status code.

Example error response for a validation failure (400 Bad Request):

{
"object": "bad_request_error",
"detail": "request had validation errors",
"invalid_params": [
{
"name": "FieldingSpecification.EndAt",
"reason": "date string 2025-06-29T08:22:18.821Z must be greater than or equal to the current datetime plus 1 hour."
},
{
"name": "ExpectedCompletes",
"reason": "'Expected Completes' must not be empty."
}
]
}

Next steps​

Now that you have your first target group, let’s set up your first feasibility request.