Cint Target Groups API

Create, update, list and other operations on Target Groups. A Target Group is the main unit of work in the Exchange.

Operations 16

GET /demand/accounts/{account_id}/projects/{project_id}/target-groups List target groups for a project #
POST /demand/accounts/{account_id}/projects/{project_id}/target-groups Create a target group in draft status #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id} Retrieve a draft target group #
PUT /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id} Update a target group in draft status #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/details Retrieve target group details #
PUT /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/details Update launched target group details #
GET /demand/accounts/{account_id}/business-units/{business_unit_id}/rate-card Retrieve a rate card #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/rate-card Retrieve a target group's rate card #
PUT /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/cost-per-interview Update target group cost per interview #
PUT /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/filling-strategy Update target group filling strategy #
POST /demand/accounts/{account_id}/projects/{project_id}/compute-target-group-transitions Compute available target group transitions #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/overview Retrieve basic attributes and stats for a target group #
GET /demand/target-groups/{target_group_id}/overview Retrieve basic attributes and stats for a target group by ID #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/performance Retrieve a target group's performance metrics #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/completes-aggregated-by-interval Retrieve a target group's collected completes #
GET /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/changelog Retrieve a target group's Changelog #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/cint-target-groups-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

cint-target-groups-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  title: Demand Accounts Target Groups API
  description: 'Cint''s demand ordering API is REST oriented. It has predictable resource based URLs, accepts JSON-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs. Error responses are also JSON-encoded and follow a standard format, providing a unique error ID and detailed information about what went wrong.


    Authentication is handled via bearer tokens passed in the `Authorization` header. All requests must also include a `Cint-API-Version` header with a date in `YYYY-MM-DD` format to specify the desired API version. Depending on the version you use, endpoint behavior may differ as we improve our API with every version release.


    While many operations work on a single object per request, the demand ordering API also provides asynchronous batch endpoints for performing bulk updates efficiently on certain resources. For safety, `POST` requests support an `Idempotency-Key` header to allow for safe retries without accidentally performing the same operation twice.

    '
  version: '2025-12-18'
servers:
- description: Production server
  url: https://api.cint.com/v1
security:
- BearerAuth: []
tags:
- name: Target Groups
  description: Create, update, list and other operations on Target Groups. A Target Group is the main unit of work in the Exchange.
paths:
  /demand/accounts/{account_id}/projects/{project_id}/target-groups:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_list_target_groups
      summary: List target groups for a project
      description: Fetch a paginated list of essential data points and statistical metrics related to Target Groups of a single project, such as current status, progress, and other relevant details, based on filter criteria such as language, country, name, etc.
      tags:
      - Target Groups
      parameters:
      - $ref: '#/components/parameters/EndBefore'
      - $ref: '#/components/parameters/StartAfter'
      - $ref: '#/components/parameters/PageSize'
      - $ref: '#/components/parameters/TargetGroupExclusionStatus'
      - $ref: '#/components/parameters/TargetGroupName'
      - $ref: '#/components/parameters/TargetGroupSearchString'
      - $ref: '#/components/parameters/TargetGroupHumanReadableIds'
      - $ref: '#/components/parameters/TargetGroupCustomerReferenceNumbers'
      - $ref: '#/components/parameters/TargetGroupStatus'
      - $ref: '#/components/parameters/TargetGroupCountry'
      - $ref: '#/components/parameters/TargetGroupLanguage'
      - $ref: '#/components/parameters/ProjectManagerIDFilter'
      responses:
        '200':
          description: A successful response returns a paginated list of matching Target Groups along with details such as attributes and metrics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupsList'
          headers:
            traceparent:
              $ref: '#/components/headers/Traceparent'
            tracestate:
              $ref: '#/components/headers/Tracestate'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
    post:
      operationId: create_target_group
      summary: Create a target group in draft status
      description: 'Creates a new target group in `draft` status.


        Key behaviors:


        * The `profiles` attribute is optional. However, if you provide it, you must also set the `profile_adjustment_type`.

        * **Constraint:** A given profile (or question) ID must appear in _only one_ of the arrays. Duplicate IDs will cause the request to fail.


        The API automatically removes duplicate open-ended values in this request before validation and saving, but rejects duplicates in selection or range conditions.

        '
      tags:
      - Target Groups
      requestBody:
        description: Create target group request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CreateDraftTargetGroupRequest'
      responses:
        '201':
          description: Successfully created a Target Group in draft status.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CreatedDraftTargetGroupResponse'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group
      summary: Retrieve a draft target group
      description: 'Retrieves a target group by its ID.


        **Note:** This endpoint is intended for `draft` target groups. If the requested target group is not in draft status, this endpoint will return a `301 Moved Permanently` redirect to it''s target group details endpoint.

        '
      tags:
      - Target Groups
      responses:
        '200':
          description: Successfully returned a draft Target Group.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/FetchTargetGroupResponse'
                - $ref: '#/components/schemas/DraftTargetGroupLinks'
        '301':
          description: Redirecting, as the draft Target Group has been launched
          headers:
            location:
              $ref: '#/components/headers/Location'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
    put:
      operationId: update_target_group
      summary: Update a target group in draft status
      description: "Update a target group in draft status.\n\nprofiles is optional field. If provided, `profile_adjustment_type` must be set as `percentage` or `nominal`.\n\n**Constraint:** a given profile (or question) ID must appear in _only one_ of these arrays.  \nIf the same ID is listed in more than one `profile`, the draft will fail to save.\n\nThe API automatically removes duplicate open-ended values in this request before validation and saving, but rejects duplicates in selection or range conditions.\n"
      tags:
      - Target Groups
      requestBody:
        description: Update target group request
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/UpdateDraftTargetGroupRequest'
      responses:
        '204':
          description: Successfully updated a Target Group in draft status.
          headers:
            traceparent:
              $ref: '#/components/headers/Traceparent'
            tracestate:
              $ref: '#/components/headers/Tracestate'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/details:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group_details
      summary: Retrieve target group details
      description: 'Fetch details of a launched Target Group, such as Business Unit ID, Study Type ID, Industry ID, Locale, Completes Goal, and other  metadata related to the Target Group.

        Attempting to retrieve a draft Target Group details will result in a Not Found error.'
      tags:
      - Target Groups
      responses:
        '200':
          description: A successful response returns a paginated list of matching Target Groups along with details such as attributes and metrics.
          content:
            application/json:
              schema:
                allOf:
                - $ref: '#/components/schemas/TargetGroupDetails'
                - $ref: '#/components/schemas/TargetGroupLinks'
          headers:
            traceparent:
              $ref: '#/components/headers/Traceparent'
            tracestate:
              $ref: '#/components/headers/Tracestate'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
    put:
      operationId: update_launched_target_group_details
      summary: Update launched target group details
      description: 'Update a launched Target Group details, such as the Project Manager ID, Live URL, and other metadata related to the Target Group.

        Attempting to update a draft Target Group details will result in a Not Found error.'
      tags:
      - Target Groups
      requestBody:
        description: The Target Group update request.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TargetGroupDetailsUpdateRequest'
      responses:
        '200':
          description: A successful response returns updated Target Group details.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupDetails'
          headers:
            traceparent:
              $ref: '#/components/headers/Traceparent'
            tracestate:
              $ref: '#/components/headers/Tracestate'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/business-units/{business_unit_id}/rate-card:
    parameters:
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      summary: Retrieve a rate card
      description: Rate Cards predefine the prices that a buyer will be charged for sessions on a Target Group that fits the equivalent IR and LOI metrics. Buyers can understand the interaction of the active Rate Card on a Target Group with the statistics, price changes and available configurations such as maximum prices and price boost via help documents and guides. This API allows buyers to look up a Rate Card based on the provided search parameters. The Rate Card is returned as a 2D array where each row array is LOI (with the number and value of the rows defined by the length_of_interview_minutes) and each column (index within a row array) is IR in percentage with the values defined by the incidence_rate_percents field.
      operationId: get_rate_card
      parameters:
      - $ref: '#/components/parameters/AccountID'
      - $ref: '#/components/parameters/BusinessUnitID'
      - $ref: '#/components/parameters/CountryCode'
      tags:
      - Target Groups
      responses:
        '200':
          description: Successfully return matching Rate Card.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RateCard'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/rate-card:
    parameters:
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      summary: Retrieve a target group's rate card
      description: Depending on the state of the Target Group, this may be a predicted Rate Card, which may be replaced by a new version before the Target Group collects completes or the actual Rate Card which is permanently associated with the Target Group. This association is made when the Target Group first goes live. Rate Cards predefine the prices that a buyer will be charged for sessions on a Target Group that fits the equivalent IR and LOI metrics. Buyers can understand the interaction of the active Rate Card on a Target Group with the statistics, price changes and available configurations such as maximum prices and price boost via help documents and guides. The Rate Card is returned as a 2D array where each row array is LOI (with the number and value of the rows defined by the length_of_interview_minutes) and each column (index within a row array) is IR in percentage with the values defined by the incidence_rate_percents field.
      operationId: get_target_group_rate_card
      parameters:
      - $ref: '#/components/parameters/AccountID'
      - $ref: '#/components/parameters/ProjectID'
      - $ref: '#/components/parameters/TargetGroupID'
      tags:
      - Target Groups
      responses:
        '200':
          description: Successfully return matching Rate Card.
          content:
            application/json:
              schema:
                oneOf:
                - $ref: '#/components/schemas/PredictedRateCard'
                - $ref: '#/components/schemas/BoundRateCard'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/cost-per-interview:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    put:
      operationId: update_cost_per_interview
      summary: Update target group cost per interview
      description: Updates the cost per interview to the value specified in the request body. The target group cannot be in draft state. The Target Group CPI must not exceed the platform limit of $105.00. For non-USD amounts, the CPI is compared against the equivalent limit in the provided currency. Note - This limit is subject to platform configuration and may change.
      tags:
      - Target Groups
      requestBody:
        description: Cost per interview update request.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/CostPerInterviewUpdateRequest'
      responses:
        '200':
          description: Cost per interview on target group successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CostPerInterviewUpdateResponse'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/filling-strategy:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    put:
      operationId: update_filling_strategy
      summary: Update target group filling strategy
      description: Updates the filling strategy to the value specified in the request body.
      tags:
      - Target Groups
      requestBody:
        description: Filling strategy update request.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/FillingStrategyUpdateRequest'
      responses:
        '200':
          description: Filling strategy on target group successfully updated.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FillingStrategyUpdateResponse'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '405':
          $ref: '#/components/responses/Error_MethodNotAllowed'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/compute-target-group-transitions:
    parameters:
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    post:
      summary: Compute available target group transitions
      description: Returns all target group Ids for the given query parameters and the available possible actions on the returned set of target groups.
      operationId: compute_target_group_transitions
      parameters:
      - $ref: '#/components/parameters/AccountID'
      - $ref: '#/components/parameters/ProjectID'
      requestBody:
        description: Compute target group transitions request.
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ComputeTargetGroupTransitionsRequest'
      tags:
      - Target Groups
      responses:
        '200':
          description: Target group Ids with their possible actions.
          headers:
            traceparent:
              $ref: '#/components/headers/Traceparent'
            tracestate:
              $ref: '#/components/headers/Tracestate'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ComputeTargetGroupTransitionsResponse'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/overview:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group_overview
      summary: Retrieve basic attributes and stats for a target group
      description: 'Fetch a set of essential data points and statistical metrics related to a specific launched Target Group, such as its current status, progress, and other relevant details.

        Attempting to retrieve a draft Target Group overview will result in a Not Found error.'
      tags:
      - Target Groups
      responses:
        '200':
          description: A successful response returns requested Target Group attributes and statistics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupOverview'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/target-groups/{target_group_id}/overview:
    parameters:
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group_overview_by_target_group_id
      summary: Retrieve basic attributes and stats for a target group by ID
      description: Fetch a set of essential data points and statistical metrics related to a specific launched Target Group, such as its current status, progress, and other relevant details.
      tags:
      - Target Groups
      responses:
        '200':
          description: A successful response returns requested Target Group attributes and statistics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupOverviewByTargetGroupId'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/performance:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group_performance
      summary: Retrieve a target group's performance metrics
      description: Fetch a set of essential data points and statistical metrics related to a specific launched Target Group.
      tags:
      - Target Groups
      responses:
        '200':
          description: A successful response returns requested Target Group statistics.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupPerformance'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/completes-aggregated-by-interval:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/AggregationInterval'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group_completes_aggregated_by_interval
      summary: Retrieve a target group's collected completes
      tags:
      - Target Groups
      description: Returns a list of timestamps according to the aggregation interval and the Target Group's fielding period, with a count of completes collected thus far for each interval. When no interval is provided as a parameter, the endpoint defaults to an interval of 24 hours.
      responses:
        '200':
          description: Successfully return list of intervals with counts.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupCollectedCompletesAggregatedIntervalsResponse'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
  /demand/accounts/{account_id}/projects/{project_id}/target-groups/{target_group_id}/changelog:
    parameters:
    - $ref: '#/components/parameters/AccountID'
    - $ref: '#/components/parameters/ProjectID'
    - $ref: '#/components/parameters/TargetGroupID'
    - $ref: '#/components/parameters/ChangelogPageSize'
    - $ref: '#/components/parameters/StartAfter'
    - $ref: '#/components/parameters/EndBefore'
    - $ref: '#/components/parameters/TargetGroupChangeTypes'
    - $ref: '#/components/parameters/CintAPIVersion-2025-12-18'
    get:
      operationId: get_target_group_changelog
      summary: Retrieve a target group's Changelog
      tags:
      - Target Groups
      description: 'Returns a paginated list of historical changes for the target group.


        **Note:** The list of change types is extensible. Consumers should expect that new change types may be introduced in the future.

        '
      responses:
        '200':
          description: Successfully return list of profiles.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TargetGroupChangelogList'
        '400':
          $ref: '#/components/responses/Error_BadRequest'
        '401':
          $ref: '#/components/responses/Error_Unauthorized'
        '403':
          $ref: '#/components/responses/Error_Forbidden'
        '404':
          $ref: '#/components/responses/Error_NotFound'
        '500':
          $ref: '#/components/responses/Error_Internal'
components:
  schemas:
    FillingStrategy:
      type: string
      enum:
      - automated
      - prescreens
      - completes
      description: Target group filling strategy.
      example: completes
    MonetaryAmount:
      type: object
      description: Represents a monetary value, including the amount and its currency.
      properties:
        value:
          type: string
          description: A decimal encapsulated in a string representing the value in the denomination indicated by the code.
          example: '2.7352'
        currency_code:
          $ref: '#/components/schemas/CurrencyCode'
        currency_scale:
          allOf:
          - {}
          - type: integer
            description: The number of digits after the decimal separator, as defined by ISO 4217.
            example: 2
    FieldingRunEndAt:
      type: string
      format: date-time
      description: 'The timestamp the fielding run is scheduled to end at (RFC3339 UTC format, 3 fractional digits).  The end time has to be after the starting time. '
      example: '2023-01-01T23:00:00.000Z'
    TargetGroupFieldingSpecification:
      type: object
      description: Contains Target Group fielding details.
      required:
      - start_at
      - end_at
      properties:
        start_at:
          type: string
          format: date-time
          description: The timestamp the Target Group is scheduled to start at (RFC3339 UTC format, 3 fractional digits).
          example: '2023-01-01T23:00:00.000Z'
        end_at:
          type: string
          format: date-time
          description: The timestamp the Target Group is scheduled to end at (RFC3339 UTC format, 3 fractional digits).
          example: '2023-01-01T23:00:00.000Z'
    TargetGroupClientSideReEntryAttribute:
      description: An attribute of the re-entry configuration that applies on the client side.
      type: object
      required:
      - client_side
      properties:
        client_side:
          $ref: '#/components/schemas/TargetGroupReEntryAttributeConfig'
    ConversionRate:
      type: number
      format: float
      description: The current conversion rate of the target group.
      minimum: 0
      maximum: 1
      example: 0.05
    QuestionID:
      type: integer
      description: The unique identifier for a profiling question.
      example: 12413
    ProfileTargetsSelectionConditionsV3:
      title: Selection condition
      type: object
      description: A profiling condition that targets a specific answer option (e.g. gender).
      required:
      - object
      - question_id
      - option
      properties:
        object:
          type: string
          description: The type of profiling condition. For this object, the value is always 'selection'.
          enum:
          - selection
          example: selection
        question_id:
          $ref: '#/components/schemas/QuestionID'
        option:
          type: string
          description: The unique identifier for the selected answer option.
          example: '1'
    TargetGroupOverview:
      type: object
      description: Basic attributes and statistics of a Target Group.
      required:
      - project_name
      - target_group_name
      - project_manager_id
      - progress
      - pricing_model
      - is_pricing_restricted
      - current_cost_per_interview
      - current_cost
      - status
      - country_code
      - language_code
      - conversion_rate
      - drop_off_rate
      - incidence_rate
      - created_at
      properties:
        project_name:
          type: string
          description: Name of the Project which contains the Target Group.
          example: Example Project
        target_group_name:
          type: string
          description: Name of the Target Group.
          example: Example Target Group
        human_readable_id:
          $ref: '#/components/schemas/TargetGroupHumanReadableID'
        project_manager_id:
          $ref: '#/components/schemas/UserID'
        progress:
          $ref: '#/components/schemas/TargetGroupProgress'
        pricing_model:
          $ref: '#/components/schemas/TargetGroupPricingModel'
        is_pricing_restricted:
          type: boolean
          description: True when there are target group CPI restrictions in place from fielding assistant, otherwise false.
          example: true
        current_cost_per_interview:
          description: Currently active Cost per Interview for the Target Group.
          allOf:
          - $ref: '#/components/schemas/MonetaryAmount'
        average_cost_per_interview:
          description: Average Cost per Interview for the Target Group.
          allOf:
          - $ref: '#/components/schemas/MonetaryAmount'
        current_cost:
          description: The total cost of the completes collected so far in this Target Group.
          allOf:
          - $ref: '#/components/schemas/MonetaryAmount'
        status:
          $ref: '#/components/schemas/TargetGroupStatus'
        country_code:
          type: string
          description: String representing country code.
          example: US
        language_code:
          type: string
          description: String representing language code.
          example: ENG
        conversion_rate:
          $ref: '#/components/schemas/ConversionRate'
        drop_off_rate:
          $ref: '#/components/schemas/DropOffRate'
        incidence_rate:
          $ref: '#/components/schemas/IncidenceRate'
        median_length_of_interview_seconds:
          allOf:
          - $ref: '#/components/schemas/MedianLengthOfInterviewSeconds'
          - {}
        study_type_code:
          $ref: '#/components/schemas/StudyTypeCode'
        target_group_customer_reference_number:
          allOf:
          - $ref: '#/components/schemas/TargetGroupCustomerReferenceNumber'
  

# --- truncated at 32 KB (243 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/cint/refs/heads/main/openapi/cint-target-groups-api-openapi.yml