Skip to main content
Version: 2025-12-18

Changelog

ChangedAutomatic deduplication of open-ended values

1 July 2026

Endpoints: Create or update draft target group, Manage profiles, Validate profiles, Supplier distribution (draft)

Submitting duplicate open-ended values no longer causes the request to fail. The API now automatically removes duplicates in the request before validating or saving, but rejects duplicates in selection or range conditions.

The API applies the following deduplication rules:

  • Removes duplicates within each group
  • Keeps a value repeated across groups only in the first group it appears in
  • Drops any group left empty after deduplication

AddedControl blended profiles

22 June 2026

You can now use the blended_type field on blended profiles to choose between interlock (default, full matrix expansion) and control (targeted demographic capping).

Control blended profiles let you select specific conditions from two or more existing profiles and group them under a single blended profile with per-target quotas — without expanding the full matrix. This is useful for capping or pausing specific high-incidence demographic combinations.

Key details:

  • One control blended profile per target group, with up to five targets.
  • Each control target must reference conditions from at least two distinct standalone profiles.
  • Control and interlock blended profiles cannot share the same question_id in the same target group.
  • New validation error codes 065076 for control blended profile rules.

Endpoints: Create target group, Update target group, Manage profiles, Feasibility, Validate profiles

Version: Added to 2025-12-18.

AddedReconciliation improvements: project-scoped completes, submission types, and new download option

22 June 2026

A set of related improvements to the reconciliation API, introducing a new submission workflow for project-scoped completes, better visibility into submission history, and an additional download option for outstanding completes.

Submit completes at the project level

You can now submit completes for reconciliation scoped to a specific project, without needing to supply reason codes. This is designed for workflows where you are approving a known list of respondents as completes rather than reversing individual statuses with coded reasons. Submit a CSV containing one respondent ID (UUID) per line. The submission is processed asynchronously — you'll receive a request_id in the response to track progress.

New endpoint:

Reconciliation submissions now expose submission type

Reconciliation submissions now include a submission_type field so you can see at a glance whether a submission was used to approve or reject respondent IDs. This makes it easier to audit and filter reconciliation history.

Updated endpoints:

Values:

  • approved_rids — respondent IDs submitted for approval.
  • rejected_rids — respondent IDs submitted for rejection.

Download remaining project completes

After an approved_rids submission has finished processing, you can now download a file of the completes that remain outstanding for the associated project. This gives you a clear picture of what still needs to be accounted for without cross-referencing data outside the API.

Updated endpoint: GET /demand/accounts/{account_id}/reconciliations/{request_id}/downloads/{download_type}

Pass remaining-project-completes as the download_type.

Addedsupplier_id added to target-group-updated webhook change objects

16 June 2026

supplier_id added to supplier-scoped change objects on the target-group-updated webhook. The field identifies the supplier a change applies to and is currently included on private_exchange_cpi_change change objects.

Webhooks: Understanding webhook event notifications

Version: Added to releases from 2025-05-27 onwards.

Addedrespondent_update_date added to the sessions data webhook

3 June 2026

respondent_update_date added to the sessions data webhook payload (com.cint.session.updated). This timestamp records the most recent update to a respondent session record and is updated on every status change, including reconciliations. It differs from respondent_last_date_change, which is set once when the session first reaches a terminal status and does not change thereafter.

Webhooks: Understanding webhook event notifications

Version: Added to releases from 2025-05-27 onwards.

AddedConfigurable duration for respondent activity exclusions

27 April 2026

The respondent activity exclusions duration is now configurable. You can specify how far back exclusion checks should look using a new duration field in ISO-8601 period format (date-based only, e.g. P30D, P2W, P3M, P1Y). Allowed values are between 1 and 396 days. If no duration is provided, the window defaults to P90D (90 days), preserving the previous behavior.

Updated endpoints:

AddedRespondent activity exclusions

20 April 2026

You can now exclude respondents from entering a target group based on their participation history in other projects or target groups. Exclusions are evaluated dynamically at the moment a respondent attempts to enter a survey, enabling real-time overlap prevention for concurrent live studies.

Key capabilities:

  • Unified API workflow: Pass an array of project and target group IDs in a single request to define multi-layered exclusions.
  • Real-time enforcement: Exclusion checks happen at the point of entry, keeping your sample accurate for live studies.
  • Automated 90-day window: Respondents with a Completed or In-client status in any excluded project or target group are automatically excluded for 90 days. Duration is not currently configurable.

New endpoints:

Updated endpoints:

Our configurable exclusions period will be out soon, which will allow you to make edits to the respondent activity exclusions duration period.

AddedPrivate exchange CPI added to target-group-updated webhook

27 January 2026

private_exchange_cpi_change added to the target-group-updated webhook to notify when there are changes to cost per interview (CPI) for private exchanges.

Endpoints: target-group-updated webhook

Version: Added to releases from 2025-05-27 onwards.

BreakingNew Cint Exchange Demand API version 2025-12-18

18 December 2025

We're committed to continually enhancing the Cint Exchange Demand API to help you get to insights faster and more efficiently. Based on your feedback, the 2025-12-18 API version introduces improvements across design, structure, and performance.

Please use version 2025-12-18 to access the improvements outlined below.

New integration policy

The release of the Cint Exchange Demand API version 2025-12-18 introduces a new forward-only integration policy.

What is a forward-only integration

Once the 2025-12-18 version is used for a resource such as profiling, older API versions for the same resource will not be supported.

Why we are introducing this change

The new API version introduces advanced data structures, such as open-ended grouping, that are not compatible with legacy API versions. Updating a resource that has been created or modified using the newer version via older endpoints may lead to data inconsistencies, corruption, or integration errors. This policy helps preserve data integrity, ensures access to the full capabilities of the latest API version, and delivers a consistent, interchangeable experience.

What this means for you

If you begin using the Cint Exchange Demand API version 2025-12-18 for a specific resource, for example profiling, all subsequent create, write, or update operations for that resource must use the 2025-12-18 version of the API.

This approach ensures stability, data consistency, and long-term compatibility as the platform evolves.

How can you start integration?

Please contact your Cint integration consultant to learn more about our latest API version and how to enable access on your account.

Key changes

Profiling
New profiling features
  • Group open-ended questions. This allows multiple free-text questions to be bundled under a single group instead of completely separate items. Example: product feedback grouping two questions such as "what did you like most about the product?" and "what did you like least about the product?"
  • Apply a profile template to target group endpoints.
  • Apply a profile template combined with your own profiling setup.
  • Give quotas their own name using the name field to improve tracking.
Updated profiling features
  • Interlocked profiles are no longer a standalone object and are now part of the profiling object known as "blended profiles".
  • The target object is now the central piece that links questions, conditions, and quotas. Existing use of profiles will need to be refactored to accommodate the change.
  • Property fields have been renamed to improve clarity:
    • filling_goalcompletes_goal
    • quota_percentagecompletes_goal_percentage
    • quota_nominalcompletes_goal
    • indexcondition
    • indexesconditions
    • ungroupedtarget
    • groupedtarget
    • interlocked_profiles → now specified by the ENUM value blended within profiles: []
  • Endpoints have been renamed:
    • /apply-profiles/manage-profiles
    • /create_interlocked_profile/create-blended-profile
    • /generate-interlocked-profile/generate-blended-profile
    • /panel-distribution/supplier-quota-distribution
Removed profiling endpoints

The endpoints below have been removed to accommodate the declarative profiles endpoint for launched target groups:

  • PUT https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles/disable-quotas
  • GET https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles
  • POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles/:profile_id/convert-to-regular-profile
  • POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/profiles/:profile_id/group-quotas
Example: New profile markup
"profiles": [
  {
    "object": "regular",
    "id": "01JY5Q1GY7JWX1JHQH8D1W2N9Z",
    "name": "birth gender",
    "description": "¿Es usted…?",
    "description_translated": "What is your gender?",
    "quotas_enabled": true,
    "targets": [
      {
        "id": "01JY5V5NDSVHG8S3FX63Y73K3F",
        "text": "Hombre",
        "text_translated": "Male",
        "conditions": [
          {
            "object": "selection",
            "question_id": 43,
            "option": "1"
          }
        ],
        "quota": {
          "name": "SF-BirthGender-Quota-1",
          "completes_goal_percentage": 49.21,
          "completes_goal": 492,
          "completes": 0,
          "prescreens": 0
        }
      }
    ]
  }
]
Feasibility

Updated the feasibility endpoint to simplify calls by removing the requirement for project_id:

  • Removed: POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/calculate-feasibility
  • New endpoint: POST https://api.cint.com/v1/demand/accounts/{account_id}/target-groups/calculate-feasibility

The supplier_ids: [] within the allocations: {} object now matches its usage across other endpoints.

General improvements

Updated error messages clarify what went wrong to increase clarity.

Additional changes

  • human_readable_id now follows snake_case standard. Affected endpoint: GET https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}
  • Target group performance endpoint currency format updated to match all other endpoints: "completes_cost": {"value": "2.7352", "currency_code": "USD", "currency_scale": null}
  • client_cpi renamed to client_cost_per_interview_note to clarify it refers to a note, not the actual CPI.
  • pricing_model and type enum value ratecard changed to rate_card (snake_case). Affected endpoints:
    • https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}
    • https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/overview
    • https://api.cint.com/v1/demand/accounts/{account_id}/business-units/{business_unit_id}/generate-price-prediction

Deprecated endpoints and attributes

  • Removed feasibility endpoint (deprecated in 2025-05-27): POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/calculate-feasibility
  • Removed Exclusion endpoints (deprecated in 2025-05-27):
    • GET https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/exclusions/cid
    • POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/exclusions/cid
    • GET https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/exclusions/rid
    • POST https://api.cint.com/v1/demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/exclusions/rid
  • Removed Download Report (deprecated from 2025-05-27): GET https://api.cint.com/v1/demand/accounts/{account_id}/reports/download
  • Removed purchase_order_number attribute (deprecated in 2025-05-27). Affected endpoints: GET/POST/PUT project endpoints.
  • Removed name attribute (deprecated in 2025-05-27). Affected endpoints: target-groups endpoints.

Next steps

If you already have an existing integration, please contact your Cint integration consultant for access to the latest version of the Cint Exchange Demand API.

If you're not yet integrated with the Cint Exchange Demand API, please contact your Cint integration consultant to learn more.