---
title: "List Sequence Audience Rows"
method: GET
path: "/api/sequences/{sequence_id}/audience/leads"
tags: ["sequences"]
---

# List Sequence Audience Rows

`GET /api/sequences/{sequence_id}/audience/leads`

## Request

- Base URL: `https://platform.verbiflow.com/api/bridge`
- URL: `https://platform.verbiflow.com/api/bridge/api/sequences/{sequence_id}/audience/leads`
- Auth: one of:
  - HTTP bearer and API key in header `x-flage-org-id`
  - HTTP bearer and API key in header `x-flage-org-slug`

## Path parameters

- `sequence_id` string, required

## Query parameters

- `cursor` string, nullable
- `limit` integer
- `activity` 'any_sent' | 'email_sent' | 'email_opened' | 'email_clicked' | 'email_bounced' | 'replied' | 'linkedin_connection_sent' | 'linkedin_connection_accepted' | 'not_contacted'

## Response `200`

Successful Response

- ContactRowPagePayload: Cursor page of current materialized campaign audience rows.
  - `columns` ListFieldDescriptorPayload[]: Typed audience field descriptors.
    - `available` boolean: Whether the field can be read for this audience.
    - `category` 'source_input' | 'identifier' | 'enrichment' | 'system', required: Identity, enrichment, CRM, runtime, or source field category.
    - `default_hidden` boolean: Whether the field is hidden in the default table view.
    - `default_order` integer, required: Default audience-table column order.
    - `entity` 'source' | 'contact' | 'company' | 'system', required: Contact, company, or system entity that owns the value.
    - `enum_values` ListFieldOptionPayload[]: Allowed values for an enumerated field.
      - `label` string, required: Human-readable enum label.
      - `value` string, required: Stored enum value.
    - `field_key` string, required: Stable field key used in row cells and filters.
    - `filterable` boolean: Whether server-side filters support the field.
    - `hidden_reason` 'synthetic_consumed' | 'low_signal' | 'system_internal' | 'not_applicable', nullable: Reason the field is hidden or unavailable.
    - `json_path` string, nullable: Canonical JSON path used to project the value.
    - `label` string, required: Human-readable column label.
    - `origin` 'static' | 'source_input' | 'import_mapping' | 'enrichment' | 'system' | 'projection', required: System, source, enrichment, or CRM origin of the field.
    - `pinned_hint` 'left' | 'right', nullable: Suggested left or right pinning behavior.
    - `provider_key` string, nullable: Provider property key, when the field comes from a provider.
    - `provider_subfield` string, nullable: Nested provider property path, when applicable.
    - `searchable` boolean: Whether text search indexes the field.
    - `sortable` boolean: Whether server-side sorting supports the field.
    - `source_column_index` integer, nullable: Original zero-based source-column order.
    - `source_column_name` string, nullable: Original uploaded or provider source-column name.
    - `storage_kind` 'first_class' | 'contact_enrichment_json' | 'company_enrichment_json' | 'source_row' | 'system' | 'projection', required: Canonical storage location for the value.
    - `value_kind` 'string' | 'number' | 'boolean' | 'date' | 'enum' | 'string_list' | 'number_list' | 'enum_list' | 'json': String, number, boolean, date, enum, or structured value kind.
    - `width_hint` string, nullable: Suggested table-column width in pixels.
  - `display_counts` AudienceDisplayCountsPayload: Current campaign audience counts by customer-facing status.
    - `bounce_protected` integer: Rows held by email delivery-risk policy.
    - `duplicate` integer, required: Rows suppressed as duplicates.
    - `enrolled` integer, required: Rows admitted to campaign runtime.
    - `excluded` integer: Rows held by global or campaign exclusion policy.
    - `failed` integer, required: Rows whose audience materialization failed.
    - `not_eligible` integer, required: Rows that failed audience eligibility checks.
    - `ready` integer, required: Rows eligible for enrollment.
    - `resolving` integer, required: Rows still materializing identity or enrichment data.
    - `total` integer, required: All non-deleted audience rows.
    - `user_manual_hold` integer: Rows paused by an explicit user hold.
  - `leads` ContactRowPayload[]: Materialized audience rows in this page.
    - `activity` ContactRowActivityPayload: Bounded campaign activity summary for one audience contact.
      - `latest_engagement` ContactRowActivityEventPayload: Latest material delivery or engagement event for one campaign step.
        - `kind` 'email_sent' | 'email_opened' | 'email_clicked' | 'email_bounced' | 'email_replied' | 'linkedin_connection_sent' | 'linkedin_connection_accepted' | 'linkedin_message_sent' | 'linkedin_inmail_sent' | 'linkedin_replied', required: Normalized sent, opened, clicked, bounced, replied, or accepted event kind.
        - `occurred_at` string, date-time, required: Provider or platform event time.
        - `step_id` string, required: Stable campaign action-step id that produced the event.
        - `step_label` string, required: Human-readable campaign step label.
      - `latest_touch` ContactRowActivityEventPayload, required: Latest material delivery or engagement event for one campaign step.
        - `kind` 'email_sent' | 'email_opened' | 'email_clicked' | 'email_bounced' | 'email_replied' | 'linkedin_connection_sent' | 'linkedin_connection_accepted' | 'linkedin_message_sent' | 'linkedin_inmail_sent' | 'linkedin_replied', required: Normalized sent, opened, clicked, bounced, replied, or accepted event kind.
        - `occurred_at` string, date-time, required: Provider or platform event time.
        - `step_id` string, required: Stable campaign action-step id that produced the event.
        - `step_label` string, required: Human-readable campaign step label.
      - `steps` ContactRowActivityStepPayload[]: Campaign steps with their material activity timestamps.
        - `accepted_at` string, date-time, nullable: LinkedIn connection acceptance time when applicable.
        - `bounced_at` string, date-time, nullable: Latest terminal email bounce time.
        - `channel` 'email' | 'linkedin_connection' | 'linkedin_message' | 'linkedin_inmail', required: Delivery channel used for this campaign step.
        - `clicked_at` string, date-time, nullable: Latest human email click time.
        - `opened_at` string, date-time, nullable: Latest human email open time.
        - `replied_at` string, date-time, nullable: Latest recipient reply time.
        - `sent_at` string, date-time, required: Time the outbound action reached sent state.
        - `step_id` string, required: Stable campaign action-step id.
        - `step_label` string, required: Human-readable campaign step label.
    - `audience_issue` CampaignAudienceIssue: Audience hold or identity issue. The code vocabulary includes runtime and materialization producers and remains extensible.
      - `canonical_source_row_index` integer, nullable: Original source row selected as canonical, if known.
      - `code` string: Reason code, such as global_exclusion, bounce_protect, duplicate_in_upload, or missing_strong_identifier.
      - `conflicting_company_ids` integer[]: Candidate company identities that conflict.
      - `conflicting_person_ids` integer[]: Candidate person identities that conflict.
      - `identifier_types` string[]: Identity kinds involved in the issue.
      - `matched_instance_id` string, nullable: Runtime instance containing the matching contact.
      - `matched_lead_list_id` string, nullable: Lead list containing the matching contact.
      - `message` string: Human-readable explanation when supplied.
      - `metadata` object: Issue-specific evidence keyed by the producing validator.
    - `cells` CampaignJsonValueOutput[]: Audience values in the same positional order as the enclosing page columns; pair columns[i].field_key with cells[i].
      - union: Recursive JSON value: object, array, string, integer, number, boolean, or null.
        - object
        - CampaignJsonValueOutput[]
        - string
        - integer
        - number
        - boolean
    - `contact_id` string, required: Stable campaign audience contact id.
    - `created_at` string, date-time, required: Time when the audience row was created.
    - `email_deliverability` ContactRowEmailDeliverabilityPayload: Current normalized email deliverability and bounce evidence for one audience row.
      - `apollo_domain_catchall` boolean, nullable: Whether Apollo reported the email domain as catch-all.
      - `apollo_status` string, nullable: Apollo email status retained as supporting evidence.
      - `blocked_until` string, date-time, nullable: Time until which delivery remains blocked.
      - `bounce_at` string, date-time, nullable: Time of the latest supporting bounce evidence.
      - `bounce_class` 'hard' | 'soft' | 'unknown', nullable: Hard, soft, or unknown bounce class.
      - `checked_at` string, date-time, required: Time when deliverability state was last evaluated.
      - `reason` string, nullable: Sanitized reason for the current deliverability state.
      - `recipient_email` string, required: Normalized recipient email evaluated by the policy.
      - `status` 'sendable' | 'unverified' | 'risky' | 'on_hold' | 'invalid' | 'bounced', required: Current safe, held, bounced, or unknown deliverability state.
      - `verification_checked_at` string, date-time, nullable: Time when email verification last ran.
      - `verification_provider_state` string, nullable: Sanitized provider verification state.
      - `verification_status` 'valid' | 'risky' | 'invalid' | 'unknown', nullable: Normalized third-party email verification status.
    - `ingress_id` string, nullable: Operational source ingress that produced the row.
    - `is_deleted` boolean: Whether the audience row has been removed.
    - `lead_list_id` string, nullable: Lead list that materialized this row.
    - `runtime_revision` ContactRowRuntimeRevisionPayload: Campaign revision currently governing one audience row runtime instance.
      - `is_current` boolean: Whether the row runs the latest compatible revision.
      - `latest_revision_id` string, nullable: Most recently published campaign revision.
      - `latest_revision_number` integer, nullable: Human-facing number of the latest revision.
      - `revision_id` string, nullable: Revision currently executed by the row.
      - `revision_number` integer, nullable: Human-facing number of the current revision.
      - `transition_reason_code` string, nullable: Stable reason code for the transition decision.
      - `transition_reason_message` string, nullable: Human-readable transition decision detail.
      - `transition_status` 'applied' | 'skipped' | 'baseline', nullable: Current compatible-revision transition state.
      - `transition_to_revision_id` string, nullable: Target revision for an in-progress or blocked transition.
    - `source_kind` string, nullable: Source adapter that produced the row.
    - `source_node_id` string, nullable: Workflow source node that owns the ingress.
    - `source_row_index` integer, nullable: Original zero-based row order within the source execution.
    - `source_run_id` string, nullable: Immutable source execution that produced the row.
    - `source_run_row_id` string, nullable: Stable row id within the source execution.
    - `updated_at` string, date-time, required: Time when the audience row last changed.
  - `next_cursor` string, nullable: Opaque cursor for the next page, or null at completion.
  - `schema_hash` string, nullable: Digest of the field descriptor set used by this page.
  - `total` integer, required: Total rows matching the current filters.

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract.md) - [All operations](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/llms.txt) - [OpenAPI document](https://skmtc.dev/verbiflow/apis/verbiflow-sdk-http-contract/revisions/c80e903ef8f3?raw)
