---
title: "List contact views"
method: GET
path: "/v2/api/crm/views"
tags: ["CRM"]
---

# List contact views

`GET /v2/api/crm/views`

## Request

- Base URL: `https://api.withallo.com`
- URL: `https://api.withallo.com/v2/api/crm/views`
- Auth: API key in header `Authorization`

Returns the saved contact views you can see: your private views and your team's shared views. `page` below 1 or `size` outside 1..100 returns 400 `INVALID_PAGE_SIZE`.

## Query parameters

- `page` integer
- `size` integer

## Response `200`

List of views

- object
  - `data` CrmView[]
    - `id` string: Public ID of the view
    - `name` string
    - `filters` CrmViewFilter[]
      - `field` string, required: A built-in person field (`name`, `company`, `job_title`, `emails`, `phone_numbers`, `website`, `addresses`, `created_at`, `updated_at`, `last_activity`, `activity_history`, `sms_content` (only when the team has SMS)) or the `key` of a custom field from `GET /v2/api/crm/attributes`. An unknown field returns 400 `INVALID_FILTER_FIELD`
      - `operator` 'IS' | 'IS_NOT' | 'CONTAINS' | 'NOT_CONTAINS' | 'EMPTY' | 'NOT_EMPTY' | 'STARTS_WITH' | 'ENDS_WITH' | 'BEFORE' | 'AFTER' | 'DATE_EQUALS' | 'GREATER_THAN' | 'GREATER_THAN_OR_EQUAL' | 'LESS_THAN' | 'LESS_THAN_OR_EQUAL' | 'HAS', required: Comparison operator. It must match the type of the field, otherwise the request returns 400 `INVALID_FILTER_OPERATOR`
      - `value` string, required: Value to compare to. It must be readable for the type of the field, otherwise the request returns 400 `INVALID_FILTER_VALUE`: numeric for a number field, an ISO 8601 date such as `2026-01-31` or date-time such as `2026-01-31T00:00:00Z` for a date field. Ignored for `EMPTY` and `NOT_EMPTY`
    - `sort` CrmViewSort[]
      - `field` string, required: A sortable built-in person field (`name`, `company`, `job_title`, `website`, `created_at`, `updated_at`, `last_activity`) or the `key` of a sortable custom field from `GET /v2/api/crm/attributes`
      - `order` 'asc' | 'desc', required
    - `owner_type` 'USER' | 'TEAM': `USER` is private to the API key's user. `TEAM` is shared with the user's team.
    - `user_id` string, nullable: ID of the user who owns a `USER` view
    - `team_id` string, nullable: ID of the team a `TEAM` view belongs to
    - `created_at` string
    - `updated_at` string
  - `pagination` Pagination
    - `page` integer
    - `size` integer
    - `total_count` integer
    - `total_pages` integer
    - `has_more` boolean

## Other responses

- `400`: Invalid request parameters
- `401`: Invalid or missing API key
- `403`: API key lacks the required scope or access to the resource
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `46c77103dd14`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/withallo/apis/allo-api/changes/v2/api/crm/views/get.md)

---

[API](https://skmtc.dev/withallo/apis/allo-api.md) - [All operations](https://skmtc.dev/withallo/apis/allo-api/llms.txt) - [OpenAPI document](https://skmtc.dev/withallo/apis/allo-api/revisions/46c77103dd14?raw)
