---
title: "List keep-in-touch cadences (v2)"
method: GET
path: "/v2/keep-in-touch/cadences"
tags: ["keep-in-touch"]
---

# List keep-in-touch cadences (v2)

`GET /v2/keep-in-touch/cadences`

## Request

- Base URL: `https://api.prod.getdex.com`
- URL: `https://api.prod.getdex.com/v2/keep-in-touch/cadences`
- Auth: HTTP bearer

List the workspace's keep-in-touch cadences the caller can see, by `next_due_at` then id: the Team cadences plus the caller's own My cadences, never another member's. Filters: `kind` (`all` default, `team`, `my`), `contact_id`, `frequency_id`, `status` (`overdue` or `upcoming`), `due_before` (exclusive ISO date-time), `include_snoozed` (default false), `my_contacts` (default false; true keeps only the caller's My Contacts: their own My cadences plus cadences of contacts they have a known interaction with), `limit` (default 50, max 200) and `cursor` (from `pagination.nextCursor`). Workspace-only: send the `X-Dex-Workspace` header (400 `workspace_context_required` without it). Returns `{ data: { cadences: [...], pagination: { nextCursor } } }`.

## Query parameters

- `kind` 'all' | 'my' | 'team'
- `contact_id` string, uuid
- `frequency_id` string, uuid
- `group_id` string, uuid
- `status` 'overdue' | 'upcoming'
- `due_before` string, date-time
- `include_snoozed` boolean
- `my_contacts` boolean
- `limit` integer
- `cursor` string

## Response `200`

Successful response

- object
  - `data` object, required
    - `cadences` object[], required
      - `id` string, uuid, required
      - `kind` 'team' | 'my', required
      - `contact_id` string, uuid, required
      - `frequency_id` string, uuid, required
      - `days` integer, required
      - `next_due_at` union, required
        - string, date-time
        - unknown
      - `snoozed_until` union, required
        - string, date-time
        - unknown
      - `created_at` union, required
        - string, date-time
        - unknown
      - `updated_at` union, required
        - string, date-time
        - unknown
      - `contact` object, required
        - `id` string, uuid, required
        - `first_name` string, nullable, required
        - `last_name` string, nullable, required
        - `image_url` string, nullable, required
        - `job_title` string, nullable
    - `pagination` object
      - `nextCursor` string, nullable
      - `count` integer

## Other responses

- `400`: Request body failed validation.
- `401`: Missing or invalid API key.
- `403`: Valid key, insufficient permission.
- `404`: Resource does not exist.
- `409`: Request conflicts with the current state of the resource.
- `429`: Rate limit exceeded.
- `500`: Unexpected server error.

## Changes

- **2026-10-20** `1d88d52d821d`: 1 info
  - added the optional property `data/cadences/items/contact/job_title` to the response with the `200` status
- **2026-10-17** `44f9e870edb1`: 1 info
  - added the new optional `query` request parameter `my_contacts`
- **2026-10-15** `51c9adf0f104`: 1 info
  - added the new optional `query` request parameter `group_id`
- **2026-10-13** `4ad34c189dc7`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/getdex/apis/dex-public-api/changes/v2/keep-in-touch/cadences/get.md)

---

[API](https://skmtc.dev/getdex/apis/dex-public-api.md) · [All operations](https://skmtc.dev/getdex/apis/dex-public-api/llms.txt) · [OpenAPI document](https://skmtc.dev/getdex/apis/dex-public-api/revisions/657247ddcf7c?raw)
