---
title: "ContactKPIs.list"
method: GET
path: "/entities/ContactKPIs"
tags: ["Contact"]
---

# ContactKPIs.list

`GET /entities/ContactKPIs`

## Request

- Base URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id`
- URL: `https://us-east.api.coevera.com/api/v100/rest/spaces/your_space_id/entities/ContactKPIs`
- Auth: HTTP basic
- TypeScript: <https://skmtc.dev/coevera/apis/coevera-crm-api/docs/entities/ContactKPIs/get.ts> (a function with typed inputs; its response is checked against the schema)

Returns a page of ContactKPI records, optionally filtered, sorted and limited to selected fields.

## Query parameters

- `include-deleted` boolean
- `first` integer
- `last` integer
- `before` string
- `after` string
- `expand` string
- `order-by` string
- `filter` object
- `filter-op` object
- `load-only` string

## Response `200`

Page of ContactKPI records.

- object
  - `success` boolean: True when the request succeeded; false on error.
  - `data` ContactKPI[]
    - `is_delete_protected` boolean, required: True when the record is protected against deletion because it must always exist in the space. Deleting a record that is not protected can still fail on other checks. Read-only.
    - `id` string, uuid, required: Unique identifier of entity.
    - `is_deleted` boolean: Specifies if the entity is considered deleted.
    - `modified` string, date-time: Last modification time.
    - `created` string, date-time: Creation time.
    - `client` string, uri: User who triggered the KPI event (e.g. created or archived the contact, sent the first email). Related Client record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Client' for its fields.
    - `contact` string, uri, required: Contact this KPI event relates to. Related Contact record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Contact' for its fields.
    - `owner` string, uri, required: Contact owner at the time the KPI event occurred. Related Client record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'Client' for its fields.
    - `unit` string, uri: Sales unit the triggering user belonged to at the time of the event. Related SalesUnit record, returned as the URI of the record. With the 'expand' parameter the full record is returned instead; see 'SalesUnit' for its fields.
    - `application_id` string, uuid: Application context in which the KPI event was triggered (e.g. browser, automation, third-party integration).
    - `client_id` string, uuid: Id of the user who triggered the event.
    - `contact_id` string, uuid, required: Id of the contact this KPI event relates to.
    - `kpi` 1 | 2 | 3 | 4 | 5, required: KPI metric this event represents: CreateContact, FirstEmailSent, LastEmailSent, Archive or LastModified. Integer enum value: 1 - CreateContact, 2 - LastEmailSent, 3 - FirstEmailSent, 4 - Archive, 5 - LastModified
    - `owner_id` string, uuid, required: Id of the contact owner at the time of the event.
    - `unit_id` string, uuid: Id of the sales unit.
    - `revision` integer: Revision when entity was lastly changed.
  - `page_info` object: Pagination of the result; not returned when the legacy limit and offset parameters are used.
    - `start_cursor` string: Cursor of the first record of the page.
    - `end_cursor` string: Cursor of the last record of the page.
    - `has_previous_page` boolean: Whether records exist before this page; pass start_cursor as before to load them.
    - `has_next_page` boolean: Whether records exist after this page; pass end_cursor as after to load them.
  - `total` integer: Number of records that match the request, across all pages.

## Other responses

- `400`: Bad request: a bad or unknown parameter (codes 117, 118), a missing permission (code 50), conflicting data (code 2002) or any other API error. The REST API answers 400 where others answer 403 or 409; check `code`.
- `401`: Not authenticated: missing or wrong credentials, a credential of another space, or an expired token (code 401, ERROR_UNAUTHORIZED).
- `429`: Too many requests (code 182). Wait for the seconds in Retry-After, then retry.
- `500`: Unexpected server error (code 1000, ERROR_UNKNOWN).

---

[API](https://skmtc.dev/coevera/apis/coevera-crm-api.md) - [All operations](https://skmtc.dev/coevera/apis/coevera-crm-api/llms.txt) - [OpenAPI document](https://skmtc.dev/coevera/apis/coevera-crm-api/revisions/40ebbc83f179?raw)
