> ## Documentation Index
> Fetch the complete documentation index at: https://docs.peec.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Create Brand Perception Attribute Clusters

> Add custom attributes to the project's brand-perception market view, the same edit the Add attribute button makes. Each new attribute starts with no terms; a top-of-funnel run is queued for the batch so its market prominence scores populate within a few minutes. A project holds at most 10 custom attributes. Errors: 400 when a name is empty, 409 when the batch would exceed the custom-attribute limit; nothing is added in that case.



## OpenAPI

````yaml https://api.peec.ai/customer/v1/openapi/json post /brand-perception/attribute-clusters/create
openapi: 3.0.3
info:
  title: Peec AI Customer API
  description: Development documentation
  version: 1.0.0
  contact:
    name: Peec AI Team
    email: support@peec.ai
servers:
  - url: https://api.peec.ai/customer/v1
security: []
paths:
  /brand-perception/attribute-clusters/create:
    post:
      tags:
        - Brand Perception
      summary: Create Brand Perception Attribute Clusters
      description: >-
        Add custom attributes to the project's brand-perception market view, the
        same edit the Add attribute button makes. Each new attribute starts with
        no terms; a top-of-funnel run is queued for the batch so its market
        prominence scores populate within a few minutes. A project holds at most
        10 custom attributes. Errors: 400 when a name is empty, 409 when the
        batch would exceed the custom-attribute limit; nothing is added in that
        case.
      operationId: postBrand-perceptionAttribute-clustersCreate
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                project_id:
                  description: Required if using a company api key
                  example: or_f45b94ba-5e35-4982-93ed-285e72ee14eb
                  type: string
                names:
                  minItems: 1
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 120
                  example:
                    - Sustainability
                    - Customer support
                  description: >-
                    Attributes to add. Each must be unique within the project,
                    case-insensitively; a name that already exists is skipped
                    rather than rejected. A project holds at most 10 custom
                    attributes.
              required:
                - names
          application/x-www-form-urlencoded:
            schema:
              type: object
              properties:
                project_id:
                  description: Required if using a company api key
                  example: or_f45b94ba-5e35-4982-93ed-285e72ee14eb
                  type: string
                names:
                  minItems: 1
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 120
                  example:
                    - Sustainability
                    - Customer support
                  description: >-
                    Attributes to add. Each must be unique within the project,
                    case-insensitively; a name that already exists is skipped
                    rather than rejected. A project holds at most 10 custom
                    attributes.
              required:
                - names
          multipart/form-data:
            schema:
              type: object
              properties:
                project_id:
                  description: Required if using a company api key
                  example: or_f45b94ba-5e35-4982-93ed-285e72ee14eb
                  type: string
                names:
                  minItems: 1
                  maxItems: 10
                  type: array
                  items:
                    type: string
                    minLength: 1
                    maxLength: 120
                  example:
                    - Sustainability
                    - Customer support
                  description: >-
                    Attributes to add. Each must be unique within the project,
                    case-insensitively; a name that already exists is skipped
                    rather than rejected. A project holds at most 10 custom
                    attributes.
              required:
                - names
      responses:
        '200':
          description: Success. Every name is either in `created` or in `skipped`.
          content:
            application/json:
              schema:
                type: object
                properties:
                  created:
                    type: array
                    items:
                      type: object
                      properties:
                        cluster_id:
                          type: string
                          example: 0199a4c1-9f3e-7c21-9f0f-2c0a5d3b1e42
                          description: >-
                            Stable id of the new attribute. Pass it to the edit
                            endpoint; it survives renames.
                        name:
                          type: string
                          example: Sustainability
                      required:
                        - cluster_id
                        - name
                    description: The attributes added by this call.
                  skipped:
                    type: array
                    items:
                      type: object
                      properties:
                        name:
                          type: string
                          example: Pricing
                        reason:
                          type: string
                          enum:
                            - duplicate
                          description: >-
                            The name already exists in the project or repeats
                            within the call.
                      required:
                        - name
                        - reason
                    description: Names that were not added, with the reason.
                required:
                  - created
                  - skipped
                description: Success. Every name is either in `created` or in `skipped`.
        '400':
          description: A name is empty.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
                description: A name is empty.
        '409':
          description: >-
            The batch would exceed the 10 custom-attribute limit. Nothing was
            added.
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
                required:
                  - message
                description: >-
                  The batch would exceed the 10 custom-attribute limit. Nothing
                  was added.
      security:
        - APIKeyHeader: []
        - APIKeyQuery: []
        - BearerAuth: []
components:
  securitySchemes:
    APIKeyHeader:
      type: apiKey
      in: header
      name: X-API-Key
    APIKeyQuery:
      type: apiKey
      in: query
      name: api_key
    BearerAuth:
      type: http
      scheme: bearer
      bearerFormat: JWT

````