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

# Register property

> Registers a new private property for a given Client Id.

**Required scopes:** `properties.configuration:rw`


## OpenAPI

````yaml /api/configuration/v3.5/openapi.json post /action/register_property
openapi: 3.1.0
info:
  title: Configuration API
  version: v3.5
servers:
  - url: https://api.livechatinc.com/v3.5/configuration
security:
  - PersonalAccessToken: []
  - OAuth2BearerToken: []
paths:
  /action/register_property:
    post:
      tags:
        - Properties
      summary: Register property
      description: Registers a new private property for a given Client Id.
      operationId: register-property
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/RegisterPropertyRequest'
            example:
              name: string_property
              owner_client_id: 0805e283233042b37f460ed8fbf22160
              type: string
              default_value: string_default_value
              access:
                chat:
                  agent:
                    - read
                  customer:
                    - read
                    - write
      responses:
        '200':
          description: Property registered successfully.
components:
  schemas:
    RegisterPropertyRequest:
      type: object
      required:
        - name
        - owner_client_id
        - type
        - access
      properties:
        name:
          type: string
          description: The property name.
        owner_client_id:
          type: string
          description: >-
            The Client Id that will own the property. Must be owned by your
            organization.
        type:
          type: string
          enum:
            - int
            - string
            - bool
            - tokenized_string
          description: The property type.
        access:
          $ref: '#/components/schemas/PropertyAccess'
        description:
          type: string
          description: The property description.
        domain:
          type: array
          items: {}
          description: >-
            An array of values that the property can be set to. Only one of
            `domain` and `range` can be set for a single property.
        range:
          $ref: '#/components/schemas/PropertyRange'
        default_value:
          description: >-
            The default value of the property. Validated by `domain` or `range`,
            if one exists. Registering a property with `default_value` is
            possible only if `access.<location>` is set to `license` or to
            `group`.
    PropertyAccess:
      type: object
      description: >-
        An object with location keys (`chat`, `thread`, `event`, `license`,
        `group`) and their access configuration.
      properties:
        chat:
          $ref: '#/components/schemas/PropertyLocationAccess'
        thread:
          $ref: '#/components/schemas/PropertyLocationAccess'
        event:
          $ref: '#/components/schemas/PropertyLocationAccess'
        license:
          $ref: '#/components/schemas/PropertyLocationAccess'
        group:
          $ref: '#/components/schemas/PropertyLocationAccess'
    PropertyRange:
      type: object
      description: >-
        A range of values that the property can be set to. Works only for
        numeric types.
      properties:
        from:
          type: integer
          description: >-
            The lower bound of the range. Only values equal to or greater than
            this are matched.
        to:
          type: integer
          description: >-
            The upper bound of the range. Only values equal to or lower than
            this are matched.
    PropertyLocationAccess:
      type: object
      description: >-
        An object defining which users can access the property within a
        location.
      properties:
        agent:
          $ref: '#/components/schemas/PropertyAccessLevel'
        customer:
          $ref: '#/components/schemas/PropertyAccessLevel'
    PropertyAccessLevel:
      type: array
      items:
        type: string
        enum:
          - read
          - write
      description: 'The access levels. Possible values: `read`, `write`.'
  securitySchemes:
    PersonalAccessToken:
      type: http
      scheme: basic
      description: >-
        Use your `account ID` as the username and your personal access token
        (PAT) as the password, or pass a Base64-encoded value directly in the
        Authorization header. For more information, see the <a
        href="/authentication/personal-access-tokens">personal access tokens
        guide</a>.
    OAuth2BearerToken:
      type: http
      scheme: bearer
      description: Authenticate using an OAuth 2.0 Bearer token.
      x-example: us-south1:MQraNrGCsoJvtxD7KNJQB1kM3d5

````