---
title: "Get all customer properties"
method: GET
path: "/customer-properties"
tags: ["Customer properties"]
---

# Get all customer properties

`GET /customer-properties`

Get information about customer properties.

Customer properties are custom data field definitions configured at the project level. They extend the standard customer record with project-specific attributes - for example, loyalty tier preferences, subscription levels, or other business-specific data. This endpoint returns the property definitions; to read or update the values stored on a specific customer account, use [GET /customers/{customer_id}/properties](https://carecloud.readme.io/reference/getsubcustomerproperties).

## Query parameters

- `count` integer
- `offset` integer
- `sort_field` string
- `sort_direction` 'ASC' | 'DESC'
- `name` string

## Headers

- `Accept-Language` string

## Response `200`

OK

- object
  - `data` object
    - `customer_properties` Property[] — List of all customer properties.
      - `property_id` string — The unique ID of the property.
      - `name` string, required — Name of the property.
      - `description` string — User defined description of the property.
      - `data_type` string, required — Data type of the final value. * Possible values: string / boolean / integer / date / timestamp / float / customized data types*
      - `items` PropertyItem[] — List of possible values. Used for multivalued data types (like enum, multiselect).
        - `id` string — The unique ID of the property item.
        - `name` string — Name of the property item.
        - `resource_record_id` string — The ID of the CareCloud REST API resource record is filled when the property is related directly to the CareCloud API resource (for example resource stores). Usually, the data type of the property determines it.
        - `state` 0 | 1 | 2 — State of the property item. *Possible values are: 0 - deleted / 1 - active / 2 - non active*
      - `is_required` true | false, required — The settings whether the property is a required parameter of the specific entity.
      - `is_unique` true | false, required — The setting whether the property contains a unique value within the specific entity.
      - `last_change` string — Date and time of the last change. *(YYYY-MM-DD HH:MM:SS)*
      - `state` 0 | 1 | 2 — State of the property *Possible values are: 0 - deleted / 1 - active *
    - `total_items` integer — The number of all found customer properties.

## Other responses

- `400` — Bad input parameter. The response body's `error.error_data.invalid_params[]` array lists the parameters that caused the failure, each carrying a `reason` code. See the `BadRequestErrorBody` schema for the generic reason taxonomy. Operations with domain-specific business rules document additional reasons at the operation level.
- `401` — The client has invalid credentials or auth token.
- `403` — The client does not exist or the client tried to access an unauthorized property or resource.
- `404` — The resource was not found.
- `405` — The resource does not support the specified HTTP method.
- `429` — Too many requests - more than the resource limit.
- `500` — Server is not working as expected.
- `503` — Temporary state when the service is temporarily unavailable, overloaded or there is a maintenance window.

---

[API](https://skmtc.net/crmcarecloud/apis/rest-api-reference.md) · [All operations](https://skmtc.net/crmcarecloud/apis/rest-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/crmcarecloud/rest-api-reference/revisions/329c06dbf8d9/schema)
