---
title: "Generates a blended profile from regular profiles"
method: POST
path: "/demand/accounts/{account_id}/drafts/generate-blended-profile"
tags: ["Profiling Helper"]
---

# Generates a blended profile from regular profiles

`POST /demand/accounts/{account_id}/drafts/generate-blended-profile`

## Request

- Base URL: `https://api.cint.com/v1`
- URL: `https://api.cint.com/v1/demand/accounts/{account_id}/drafts/generate-blended-profile`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/cint/apis/demand-api/docs/demand/accounts/:account_id/drafts/generate-blended-profile/post.ts> (a function with typed inputs; its response is checked against the schema)

Generates a single `blended` profile by combining two or three `regular` profiles.

This allows you to experiment with complex, interlocked quota structures without creating a target group.
The endpoint automatically calculates the supplier distribution for the resulting quotas.

Key behaviors:

* You must provide between two and three regular profiles to be blended.
* When this profile is later used to create a target group, there is a limit of 350 total quotas.

## Request body

- GenerateDraftInterlockedProfileRequestV3: The request body for generating a blended (interlocked) profile from two or three regular profiles.
  - `locale` string, required
  - `completes_goal` number, required: Specifies the target group's required number of survey completions or pre-screen responses. Formerly referred to as the "filling goal," this value sets the benchmark for the number of valid responses needed to achieve the desired level of data reliability.
  - `start_at` string, required
  - `end_at` string, required
  - `collects_pii` boolean, required
  - `profiling` object, required: The core profiling configuration containing the profiles to be blended.
    - `profile_adjustment_type` 'percentage' | 'nominal', required: Defines how quotas are specified in the `profile` object. Use `percentage` to define quotas as a percentage of the `completes_goal`, or `nominal` to define them as a specific number of completes.
    - `profiles` RequestDraftRegularProfileV3[], required
      - union
        - object
          - `object` 'regular', required: Object field to distinguish the operation.
          - `name` string: The name of the regular profile.
          - `quotas_enabled` boolean, required: Flag indicating if quotas are enabled.
          - `targets` union, required: A request targets block must be one of: • a nominal target based on profile adjustement type (see RequestDraftGroupedQuotaNominalV3) • a percentage target based on profile adjustment type (see RequestDraftGroupedQuotaV3) • no target (empty object) should be in alignment with quota_enabled field as false.
            - RequestDraftQuotaNominalV3[]
              - …
            - RequestDraftQuotaPercentageV3[]
              - …
            - RequestDraftNoQuotaV3[]
              - …
        - object
          - `object` 'blended', required: Object field to distinguish the operation.
          - `blended_type` 'interlock' | 'control': The blended_type field defines the functional behavior of the blended profile as either interlock or control. If omitted, the system defaults to interlock. This field distinguishes between profiles requiring a full matrix expansion (interlock) and those used for isolating specific demographic segments (control).
          - `name` string, required: The name of the profile.
          - `quotas_enabled` boolean, required: Flag indicating if quotas are enabled.
          - `targets` union, required: A request targets block must be one of: • a nominal target based on profile adjustement type (see RequestDraftGroupedQuotaNominalV3) • a percentage target based on profile adjustment type (see RequestDraftGroupedQuotaV3) • no target (empty object) should be in alignment with quota_enabled field as false.
            - RequestDraftQuotaNominalV3[]
              - …
            - RequestDraftQuotaPercentageV3[]
              - …
            - RequestDraftNoQuotaV3[]
              - …

## Response `201`

The blended profile was generated successfully.

- CompositeDraftRegularProfileV3: The response object for a successfully generated blended profile.
  - `object` 'blended', required: The type of profile. For this object, the value is always `blended`.
  - `quotas_enabled` boolean, required: Flag indicating if quotas are enabled.
  - `name` string, required: The name of the profile.
  - `description` string, required: A short summary of the profile. Summary language will be based on the target group's locale.
  - `description_translated` string: A short summary of the profile by default english language.
  - `targets` DraftQuotaDetailsV3[], required: An array of detailed quota definitions.
    - union: A polymorphic object representing a single quota target. The shape of the object depends on whether it has a `quota` block defined.
      - object: Profile target with condition or conditions with quota.
        - `id` string, ULID, required: The unique identifier for the quota.
        - `name` string: The name of the target.
        - `text` string: The display text for the answer option, in the requested `locale`.
        - `text_translated` string: Translated text of the condition used for display purpose.
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the quota.
          - union: A polymorphic object representing a single profiling condition, which can be a `selection`, `range`, or `open_ended` type.
            - ProfileTargetsSelectionConditionsV3: A profiling condition that targets a specific answer option (e.g. gender).
              - …
            - ProfileTargetsRangeConditionsV3: A profiling condition that targets a numeric range (e.g. age).
              - …
            - union: A profiling condition that targets open-ended text values.
              - …
        - `quota` object, required
          - `name` string: Name of the quota used for tracking. This will be deprecated, functionally replaced by the `target.name` field one layer up in the contract.
          - `completes_goal_percentage` number, required: The goal for this quota, expressed as a percentage of the target group's total `completes_goal`.
          - `quota_nominal` integer, required: The calculated number of completes for this quota, based on its percentage.
          - `completes_goal` integer, required: The desired number of completes for this quota. This may differ from `quota_nominal` based on balancing and other factors.
      - object: Profile target with condition or conditions with no quota.
        - `id` string, ULID, required: The unique identifier for the quota.
        - `name` string: The name of the target.
        - `text` string: The display text for the answer option, in the requested `locale`.
        - `text_translated` string: Translated text of the condition used for display purpose.
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the quota.
          - union: A polymorphic object representing a single profiling condition, which can be a `selection`, `range`, or `open_ended` type.
            - ProfileTargetsSelectionConditionsV3: A profiling condition that targets a specific answer option (e.g. gender).
              - …
            - ProfileTargetsRangeConditionsV3: A profiling condition that targets a numeric range (e.g. age).
              - …
            - union: A profiling condition that targets open-ended text values.
              - …

## Other responses

- `400`: The request is malformed or contains syntactically invalid parameters.
- `401`: A request is unauthorized.
- `403`: A requested is forbidden.
- `404`: A requested resource isn't found.
- `422`: The request is well-formed, but the profile configuration is invalid (e.g., overlapping quotas, incorrect logic). The response body contains detailed validation errors.
- `500`: An unexpected internal error occurred.

---

[API](https://skmtc.dev/cint/apis/demand-api.md) - [All operations](https://skmtc.dev/cint/apis/demand-api/llms.txt) - [OpenAPI document](https://skmtc.dev/cint/apis/demand-api/revisions/077a4bdda5cb?raw)
