---
title: "List contacts of a sequence"
method: GET
path: "/v1/sequences/{id}/contacts"
tags: ["Sequences"]
---

# List contacts of a sequence

`GET /v1/sequences/{id}/contacts`

Returns a paginated list of contacts in a sequence, enriched with their tags and call history within the sequence. Supports filtering by tag label and contact status. Returns 404 if the parent sequence is in a workspace outside the API key scope.

## Path parameters

- `id` string, required

## Query parameters

- `page` number
- `limit` number
- `tag` string
- `status` 'CONNECTED' | 'RESPONDER' | 'ERROR' | 'CANCELLED' | 'RUNNING' | 'MISSING_NUMBER'

## Response `200`

Paginated list of sequence contacts with tags and calls

- PaginatedSequenceContactsDto
  - `data` SequenceContactDto[], required — Array of sequence contacts
    - `id` string, required — Unique identifier of the sequence contact record
    - `status` 'CONNECTED' | 'RESPONDER' | 'ERROR' | 'CANCELLED' | 'RUNNING' | 'MISSING_NUMBER', nullable — Status of the contact in the sequence
    - `contact` SequenceContactContactDto, required
      - `id` string, required — Unique identifier of the contact
      - `firstName` string, required — First name of the contact
      - `lastName` string, required — Last name of the contact
      - `email` object, nullable — Email address of the contact
      - `company` object, nullable — Company of the contact
      - `phoneNumbers` SequenceContactPhoneNumberDto[] — Phone numbers associated with the contact
        - `id` string, required — Unique identifier of the phone number
        - `number` string, required — Phone number in E.164 format
    - `tags` SequenceContactTagDto[], required — Tags associated with this contact in the sequence
      - `id` string, required — Unique identifier of the tag
      - `label` string, required — Label of the tag
      - `isSuccessTag` boolean, required — Whether this tag is a success tag
    - `calls` SequenceContactCallDto[], required — Calls made to this contact in the sequence
      - `id` string, required — Unique identifier of the call session
      - `status` 'NOT_INITIATED' | 'INITIATED' | 'QUEUED' | 'RINGING' | 'IN_PROGRESS' | 'BUSY' | 'NO_ANSWER' | 'MISSED_CALL' | 'VOICEMAIL' | 'CONNECTED' | 'CANCELLED' | 'COMPLETED' | 'ERROR_NUMBER' | 'ERROR_COUNTRY' | 'UNKNOWN_ERROR', required — Status of the call
      - `startedAt` object, nullable — Date and time when the call started
      - `endedAt` object, nullable — Date and time when the call ended
      - `durationSeconds` object, nullable — Duration of the call in seconds (endedAt - startedAt)
      - `createdAt` string, date-time, required — Date and time when the call record was created
    - `createdAt` string, date-time, required — Date when the contact was added to the sequence
  - `total` number, required
  - `page` number, required
  - `limit` number, required
  - `totalPages` number, required

## Other responses

- `401` — Invalid or missing API key
- `403` — Subscription required or plan not eligible
- `404` — Sequence not found or outside API key scope

---

[API](https://skmtc.net/skipcall/apis/skipcall-public-api.md) · [All operations](https://skmtc.net/skipcall/apis/skipcall-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/skipcall/skipcall-public-api/versions/f594352719bd/schema)
