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

# Add a new custom attribute

> Add a new custom attribute to account



## OpenAPI

````yaml https://raw.githubusercontent.com/chatwoot/chatwoot/develop/swagger/tag_groups/application_swagger.json post /api/v1/accounts/{account_id}/custom_attribute_definitions
openapi: 3.1.0
info:
  title: Chatwoot
  description: This is the API documentation for Chatwoot server.
  version: 1.1.0
  termsOfService: https://www.chatwoot.com/terms-of-service/
  contact:
    email: hello@chatwoot.com
  license:
    name: MIT License
    url: https://opensource.org/licenses/MIT
servers:
  - url: https://app.chatwoot.com/
security: []
tags:
  - name: Account AgentBots
    description: Account-specific Agent Bots
  - name: Agents
    description: Agent management APIs
  - name: Canned Responses
    description: Pre-defined responses for common queries
  - name: Contacts
    description: Contact management APIs
  - name: Contact Labels
    description: Manage contact labels
  - name: Conversation Assignments
    description: Manage conversation assignments
  - name: Conversation Labels
    description: Manage conversation labels
  - name: Conversations
    description: Conversation management APIs
  - name: Custom Attributes
    description: Custom fields for contacts and conversations
  - name: Custom Filters
    description: Saved filters for conversations
  - name: Inboxes
    description: Communication channels setup
  - name: Integrations
    description: Third-party integrations
  - name: Labels
    description: Account label management APIs
  - name: Messages
    description: Message management APIs
  - name: Profile
    description: User profile APIs
  - name: Reports
    description: Analytics and reporting APIs
  - name: Teams
    description: Team management APIs
  - name: Webhooks
    description: Event notification webhooks
  - name: Automation Rule
    description: Workflow automation rules
  - name: Help Center
    description: Knowledge base management
paths:
  /api/v1/accounts/{account_id}/custom_attribute_definitions:
    parameters:
      - $ref: '#/components/parameters/account_id'
    post:
      tags:
        - Custom Attributes
      summary: Add a new custom attribute
      description: Add a new custom attribute to account
      operationId: add-new-custom-attribute-to-account
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/custom_attribute_create_update_payload'
      responses:
        '200':
          description: Success
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/custom_attribute'
        '403':
          description: Access denied
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/bad_request_error'
      security:
        - userApiKey: []
components:
  parameters:
    account_id:
      in: path
      name: account_id
      schema:
        type: integer
      required: true
      description: The numeric ID of the account
  schemas:
    custom_attribute_create_update_payload:
      type: object
      properties:
        attribute_display_name:
          type: string
          description: Attribute display name
          example: Custom Attribute
        attribute_display_type:
          type: integer
          description: >-
            Attribute display type (text- 0, number- 1, currency- 2, percent- 3,
            link- 4, date- 5, list- 6, checkbox- 7)
          example: 0
        attribute_description:
          type: string
          description: Attribute description
          example: This is a custom attribute
        attribute_key:
          type: string
          description: Attribute unique key value
          example: custom_attribute
        attribute_values:
          type: array
          description: Attribute values
          items:
            type: string
          example:
            - value1
            - value2
        attribute_model:
          type: integer
          description: Attribute type(conversation_attribute- 0, contact_attribute- 1)
          example: 0
        regex_pattern:
          type: string
          description: >-
            Regex pattern (Only applicable for type- text). The regex pattern is
            used to validate the attribute value(s).
          example: ^[a-zA-Z0-9]+$
        regex_cue:
          type: string
          description: >-
            Regex cue message (Only applicable for type- text). The cue message
            is shown when the regex pattern is not matched.
          example: Please enter a valid value
    custom_attribute:
      type: object
      properties:
        id:
          type: integer
          description: Identifier
        attribute_display_name:
          type: string
          description: Attribute display name
        attribute_display_type:
          type: string
          description: >-
            Attribute display type (text, number, currency, percent, link, date,
            list, checkbox)
        attribute_description:
          type: string
          description: Attribute description
        attribute_key:
          type: string
          description: Attribute unique key value
        regex_pattern:
          type: string
          description: Regex pattern
        regex_cue:
          type: string
          description: Regex cue
        attribute_values:
          type: string
          description: Attribute values
        attribute_model:
          type: string
          description: Attribute type(conversation_attribute/contact_attribute)
        default_value:
          type: string
          description: Attribute default value
        created_at:
          type: string
          description: The date and time when the custom attribute was created
        updated_at:
          type: string
          description: The date and time when the custom attribute was updated
    bad_request_error:
      title: data
      type: object
      properties:
        description:
          type: string
        errors:
          type: array
          items:
            $ref: '#/components/schemas/request_error'
    request_error:
      type: object
      properties:
        field:
          type: string
        message:
          type: string
        code:
          type: string
  securitySchemes:
    userApiKey:
      type: apiKey
      in: header
      name: api_access_token
      description: >-
        This token can be obtained by visiting the profile page or via rails
        console. Provides access to  endpoints based on the user permissions
        levels. This token can be saved by an external system when user is
        created via API, to perform activities on behalf of the user.

````