---
title: "Calculates the supplier distribution for a new target group"
method: POST
path: "/demand/accounts/{account_id}/supplier-quota-distribution/draft"
tags: ["Profiling Quotas By Supplier"]
---

# Calculates the supplier distribution for a new target group

`POST /demand/accounts/{account_id}/supplier-quota-distribution/draft`

## Request

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

Calculates the projected distribution of completes across different suppliers for a new, unsaved target group configuration.

You can use this endpoint to understand how your proposed quotas are likely to be filled by different panel sources.

**Note:** Providing supplier allocation details in the request is not yet supported but is planned for a future release.

The API automatically removes duplicate open-ended values in this request before calculating the distribution, but rejects duplicates in selection or range conditions.

## Request body

- union: The request body for a panel distribution calculation. The `profile_adjustment_type` field (`percentage` or `nominal`) determines the structure of the `quota` objects within the `profile`.
  - object
    - `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.
    - `profile_adjustment_type` 'percentage', 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.
    - `start_at` string, required: Fielding start date. Start date-time in ISO 8601 format.
    - `end_at` string, required: Fielding end date. End date-time in ISO 8601 format.
    - `collects_pii` boolean
    - `profile` union, required
      - 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[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` object, required
              - …
          - RequestDraftQuotaPercentageV3[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the target.
              - …
            - `quota` object, required
              - …
          - RequestDraftNoQuotaV3[]
            - `object` 'nominal': Object field to distinguish the operation.
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` null, nullable: Leave `quota` out or send `null`. A target with a quota object is a nominal or percentage target instead.
      - 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[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` object, required
              - …
          - RequestDraftQuotaPercentageV3[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the target.
              - …
            - `quota` object, required
              - …
          - RequestDraftNoQuotaV3[]
            - `object` 'nominal': Object field to distinguish the operation.
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` null, nullable: Leave `quota` out or send `null`. A target with a quota object is a nominal or percentage target instead.
  - object
    - `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.
    - `profile_adjustment_type` '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.
    - `start_at` string, required: Fielding start date. Start date-time in ISO 8601 format.
    - `end_at` string, required: Fielding end date. End date-time in ISO 8601 format.
    - `collects_pii` boolean
    - `profile` union, required
      - 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[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` object, required
              - …
          - RequestDraftQuotaPercentageV3[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the target.
              - …
            - `quota` object, required
              - …
          - RequestDraftNoQuotaV3[]
            - `object` 'nominal': Object field to distinguish the operation.
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` null, nullable: Leave `quota` out or send `null`. A target with a quota object is a nominal or percentage target instead.
      - 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[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` object, required
              - …
          - RequestDraftQuotaPercentageV3[]
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the target.
              - …
            - `quota` object, required
              - …
          - RequestDraftNoQuotaV3[]
            - `object` 'nominal': Object field to distinguish the operation.
            - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
              - …
            - `quota` null, nullable: Leave `quota` out or send `null`. A target with a quota object is a nominal or percentage target instead.

## Response `200`

The supplier distribution prediction was calculated successfully.

- 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[]
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
          - 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` number, required: Total completes goal quota applied to this condition(s).
      - RequestDraftQuotaPercentageV3[]
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the target.
          - 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: Percentage of total completes goal quota applied to this condition(s).
      - RequestDraftNoQuotaV3[]
        - `object` 'nominal': Object field to distinguish the operation.
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
          - 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` null, nullable: Leave `quota` out or send `null`. A target with a quota object is a nominal or percentage target instead.
  - 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[]
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
          - 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` number, required: Total completes goal quota applied to this condition(s).
      - RequestDraftQuotaPercentageV3[]
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions for the target.
          - 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: Percentage of total completes goal quota applied to this condition(s).
      - RequestDraftNoQuotaV3[]
        - `object` 'nominal': Object field to distinguish the operation.
        - `conditions` InterlockProfileConditionsV3[], required: List of conditions.
          - 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` null, nullable: Leave `quota` out or send `null`. A target with a quota object is a nominal or percentage target instead.

## Other responses

- `400`: A request is not valid and can't be processed.
- `401`: A request is unauthorized.
- `403`: A requested is forbidden.
- `404`: A requested resource isn't found.
- `500`: A request failed due to an internal error.

---

[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)
