---
title: "Get information about all customer events"
method: GET
path: "/customers/{customer_id}/events"
tags: ["Customers"]
---

# Get information about all customer events

`GET /customers/{customer_id}/events`

Get a list of customer events in the CareCloud platform.

Events represent customer interaction records and marketing automation triggers. They are used as conditions and triggers in CareCloud marketing automation workflows. This endpoint returns all events associated with the customer account.

Related: [GET /events](https://carecloud.readme.io/reference/getevents)

## Path parameters

- `customer_id` string, required

## Query parameters

- `count` integer
- `offset` integer
- `sort_field` string
- `sort_direction` 'ASC' | 'DESC'
- `event_type_id` string
- `external_id` string
- `event_type_ids` string[]
- `include_property_records` true | false
- `time_from` string
- `time_to` string

## Headers

- `Accept-Language` string

## Response `200`

OK

- object
  - `data` object
    - `customer_events` Event[] — Collection of all events.
      - `event_id` string — The unique ID of the event.
      - `event_type_id` string, required — The unique ID of the event type. [GET /event-types](https://carecloud.readme.io/reference/geteventtypes)
      - `customer_id` string, required — The unique ID of the customer. [GET /customers](https://carecloud.readme.io/reference/getcustomers)
      - `external_id` string, required — The unique external ID of the event. It may be ID from other system.
      - `data` union — Additional data of the event. Serialized data in JSON.
        - string
        - string[]
        - object
      - `created_at` string — Timestamp of the event. Accepts the format `YYYY-MM-DD HH:MM:SS` or ISO-8601 format (`YYYY-MM-DDTHH:MM:SS`). All times must be in the local timezone.
      - `secondary_external_id` string — Additional external ID of the event. Used when differentiation of external_id is needed.
      - `state` 0 | 1 | 2 — State of the event. *Possible values are: 0 - deleted / 1 - active / 2 - non active*
      - `property_records` PropertyRecord[] — List of event property records. The field is populated only when the `include_property_records` query parameter is set to `true` on [GET /events](https://carecloud.readme.io/reference/getevents). Otherwise the value is `null`.
        - `property_record_id` string — The unique ID of the property record.
        - `property_id` string, required — The unique ID of the property.
        - `property_name` string — Name of the property.
        - `property_value` union — Value of the property record. The format depends on the data type of the property. - **string** – a plain text value: ```json { "property_id": "p1_note", "property_value": "VIP customer" } ``` - **date** – a date string in `YYYY-MM-DD` format: ```json { "property_id": "p1_birth_date", "property_value": "1985-06-15" } ``` - **integer** – a whole number: ```json { "property_id": "p1_visit_count", "property_value": 42 } ``` - **float** – a decimal number: ```json { "property_id": "p1_average_spend", "property_value": 149.90 } ``` - **enum** – a single-item array containing a PropertyItem object: ```json { "property_id": "p1_favourite_color", "property_value": [ { "id": "86e05affc7a7abefcd513ab400", "name": "Blue", "resource_record_id": null, "state": 1 } ] } ``` - **multiselect** – a multi-item array of PropertyItem objects: ```json { "property_id": "p1_favourite_color", "property_value": [ { "id": "86e05affc7a7abefcd513ab400", "name": "Blue", "resource_record_id": null, "state": 1 }, { "id": "81eaeea13b8984a169c490a325", "name": "Green", "resource_record_id": null, "state": 1 } ] } ``` - **custom data type** – the format depends on the specific data type configuration. For example, a serialized JSON object: ```json { "property_id": "p1_address", "property_value": "{\"street\":\"Main St\",\"city\":\"Prague\"}" } ```
          - string
          - number
          - integer
          - boolean
          - unknown[]
            - unknown
          - object
        - `last_change` string — Date and time of the last change. *(YYYY-MM-DD HH:MM:SS)*
    - `total_items` integer — The number of all found events.

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