---
title: "List activities"
method: GET
path: "/v2/activities"
tags: ["Activities"]
---

# List activities

`GET /v2/activities`

Retrieve a paginated list of deal activities, filterable by type, activity status, deal status, origin, stage, assigned user, deal, free text, tags, and a date range. Requires the `ACTIVITIES_API` feature flag and an API key with the `activities:read` scope.

**Consistency note:** listing is served from the search index and is eventually consistent (typically seconds behind writes). `GET /v2/activities/:id` reads from the primary database and is always fresh — poll that endpoint instead of the list if you need to confirm a just-written change.

## Query parameters

- `type` string
- `activity_status` string
- `deal_status` string
- `origin_ids` string
- `stage_ids` string
- `user_id` string, uuid
- `deal_id` string, uuid
- `text` string
- `tags` string
- `tags_exclude` string
- `date_type` 'due' | 'created' | 'won' | 'lost'
- `date_start` string, date-time
- `date_end` string, date-time
- `limit` integer
- `page` integer

## Headers

- `api-token` string, required

## Response `200`

A paginated list of activities

- object — V2 paginated response with snake_case keys
  - `status` integer — Response status
  - `total_count` integer — Total items based on current filters
  - `page` integer — Current page
  - `total_pages` integer — Total pages based on current filters
  - `has_next` boolean — Indicates that has next page
  - `has_previous` boolean — Indicates that has previous page
  - `data` Activity[]
    - `id` string, uuid
    - `title` string
    - `type` 'CALL' | 'MAIL' | 'SCHEDULE' | 'TASK' | 'MEETING' | 'WHATSAPP' | 'INSTAGRAM'
    - `content` string, nullable — Free-text body. For WHATSAPP/INSTAGRAM this is the message text (read from the message body the Clint UI renders); for CALL/MAIL/TASK it is the notes field.
    - `template_id` string, uuid, nullable — UUID of the attached WhatsApp Official message template, or null when none is attached.
    - `completed` boolean
    - `completed_at` string, date-time, nullable
    - `completed_by` string, uuid, nullable
    - `due_at` string, date-time, nullable — Public alias of the internal to_check_at column.
    - `custom` boolean — true when the activity was created manually (via the API or UI); false when generated automatically from a stage template.
    - `no_show` boolean
    - `stage_id` string, uuid
    - `created_at` string, date-time
    - `updated_at` string, date-time, nullable
    - `deal` object, nullable
      - `id` string, uuid
      - `status` 'OPEN' | 'WON' | 'LOST', nullable
      - `origin_id` string, uuid
      - `stage_id` string, uuid
      - `contact` object, nullable
        - `id` string, uuid
        - `name` string, nullable

## Other responses

- `400` — Param type must be one of CALL, MAIL, SCHEDULE, TASK, MEETING, WHATSAPP, INSTAGRAM
- `401` — Authentication error - invalid or missing api-token
- `403` — This feature is not available for your account.

---

[API](https://skmtc.net/clint/apis/clint-api.md) · [All operations](https://skmtc.net/clint/apis/clint-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/clint/clint-api/revisions/12b8f9eff943/schema)
