---
title: "Create a profile template"
method: POST
path: "/demand/accounts/{account_id}/profiling-templates"
tags: ["Profiling Templates"]
---

# Create a profile template

`POST /demand/accounts/{account_id}/profiling-templates`

## Request

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

This endpoint creates a new account-scoped profile template with a specified name, label, description, locales, and profiling definition (a set of profiles and their targets).

## Request body

- ProfileTemplateRequest: The request payload for creating or updating a profile template.
  - `name` string, required: A user-defined name for the template.
  - `description` string: A description for the template.
  - `label` string, required: A label for the template.
  - `locales` LocaleCode[], required: A list of locale codes where this template is applicable.
  - `profiling` ProfilingTemplate, required
    - `profile_adjustment_type` 'percentage', required: The method used to specify quota targets. The only supported value is `percentage`, where you specify a proportion of the total completes for each target.
    - `profiles` TemplateRegularProfiles[], required: List of regular profiles.
      - `object` 'regular', required: A field that identifies the profile type. The value is always `regular` for this schema.
      - `name` string: The name of the profile.
      - `description` string: A short summary of the profile.
      - `quotas_enabled` boolean, required: Indicates if quotas are enabled for this profile.
      - `targets` TemplateQuotaDetailsV3[], required: A list of quota targets for the profile template.
        - `conditions` TemplateProfileConditionsV3[], required: List of conditions.
          - union: Represents a condition for a profiling question within a profile template. The structure of this object will be one of the following types, depending on the nature of the question: * `TemplateSelectionConditionV3`: For questions that require selecting one or more options from a predefined list. * `ProfileTargetsRangeConditionsV3`: For questions that require a numerical value within a specific range. * `ProfileTargetsOpenEndedConditionsV3`: For questions that require a free-text answer.
            - TemplateSelectionConditionV3: A condition that defines a specific selected option from a list of possible answers (e.g., for a gender or country question).
              - …
            - ProfileTargetsRangeConditionsV3: A profiling condition that targets a numeric range (e.g. age).
              - …
            - union: A profiling condition that targets open-ended text values.
              - …
        - `quota` object: The quota allocated to this target. Omitted when the profile has quotas disabled.
          - `name` string: The name of the quota. In responses, it is returned only for targets with more than one condition.
          - `completes_goal_percentage` number, required: The percentage of the total completes goal that is allocated to this target.

## Response `201`

Returns the newly created profile template, including its unique `id`.

- ProfileTemplateResponse: Represents the overview information for a profile template, combining the base details with its `scope`.
  - `id` string, uuid: A unique identifier for the template.
  - `name` string: A user-defined name for the template.
  - `description` string: A description for the template.
  - `label` string: A label for the template.
  - `locales` LocaleCode[]: A list of locale codes where this template is applicable.
  - `scope` 'global' | 'account': The scope of the profile template, which determines its availability. * `global`: Choose this if you want the template to be available for all accounts. * `account`: Choose this if you want the template to be available only for a specified account.
  - `profiling` ProfilingTemplate
    - `profile_adjustment_type` 'percentage', required: The method used to specify quota targets. The only supported value is `percentage`, where you specify a proportion of the total completes for each target.
    - `profiles` TemplateRegularProfiles[], required: List of regular profiles.
      - `object` 'regular', required: A field that identifies the profile type. The value is always `regular` for this schema.
      - `name` string: The name of the profile.
      - `description` string: A short summary of the profile.
      - `quotas_enabled` boolean, required: Indicates if quotas are enabled for this profile.
      - `targets` TemplateQuotaDetailsV3[], required: A list of quota targets for the profile template.
        - `conditions` TemplateProfileConditionsV3[], required: List of conditions.
          - union: Represents a condition for a profiling question within a profile template. The structure of this object will be one of the following types, depending on the nature of the question: * `TemplateSelectionConditionV3`: For questions that require selecting one or more options from a predefined list. * `ProfileTargetsRangeConditionsV3`: For questions that require a numerical value within a specific range. * `ProfileTargetsOpenEndedConditionsV3`: For questions that require a free-text answer.
            - TemplateSelectionConditionV3: A condition that defines a specific selected option from a list of possible answers (e.g., for a gender or country question).
              - …
            - ProfileTargetsRangeConditionsV3: A profiling condition that targets a numeric range (e.g. age).
              - …
            - union: A profiling condition that targets open-ended text values.
              - …
        - `quota` object: The quota allocated to this target. Omitted when the profile has quotas disabled.
          - `name` string: The name of the quota. In responses, it is returned only for targets with more than one condition.
          - `completes_goal_percentage` number, required: The percentage of the total completes goal that is allocated to this target.

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