---
title: "Preview autopilot results"
method: POST
path: "/v3/sequences/ai-sdr/{sequence_id}/autopilot/preview"
tags: ["AI SDR Sequences"]
---

# Preview autopilot results

`POST /v3/sequences/ai-sdr/{sequence_id}/autopilot/preview`

<Warning>
  **Coming soon.** This endpoint will be available by early July 2026.
</Warning>

<small>_Requires the `ai-sdr:operate` scope (or a broader one that includes it)._</small>

Previews the expected autopilot results for the sequence. Clients pass the autopilot filter config in the body — they are NOT required to save it to the sequence first (supports try-before-save in the filter UI).

Returns a background job to poll via `GET /v3/background-jobs/{id}`; on completion its `jsonDataResult` carries `{ contactsCount, companiesCount, sampleContacts }`, where `sampleContacts` is a capped sample of matching contacts.

Requires the AI SDR feature on the caller's team.

## Path parameters

- `sequence_id` integer, required

## Request body

- object — Autopilot filter configuration to preview. Does not need to be saved to the sequence first — supports try-before-save in the filter UI.
  - `filters` object, required — Account- and contact-level filter configuration used by autopilot when searching for new contacts to add to the sequence. Most collections are capped at 25 items. `accountKeywords` and `contactKeywords` are always present and non-null in responses even when empty (`{ "values": [], "type": "or" }`).
    - `accountListIds` object[] — Saved account-list ids the search is scoped to
      - `value` integer, required — The literal integer id to match
      - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
    - `industries` object[] — Industry filters
      - `value` string, required — The literal value to match (non-empty)
      - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
    - `companyLocations` object[] — Company location filters
      - `value` string, required — The literal value to match (non-empty)
      - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
    - `companySizes` string[] — Company size bands to include
    - `headcountGrowth` object, nullable — Min/max range applied to the company's total headcount growth (percent). Either bound may be omitted. When both are provided, `min` must be less than or equal to `max`.
      - `min` integer, nullable — Lower bound (inclusive), percent
      - `max` integer, nullable — Upper bound (inclusive), percent
    - `departmentHeadcountGrowth` object, nullable — Min/max range applied to a specific department's headcount growth (percent). Either bound may be omitted. When both are provided, `min` must be less than or equal to `max`.
      - `min` integer, nullable — Lower bound (inclusive), percent
      - `max` integer, nullable — Upper bound (inclusive), percent
      - `department` string, required — Department name the growth range applies to (non-empty)
    - `minRevenue` 'zeroMillion' | 'halfMillion' | 'oneMillion' | 'twoAndHalfMillion' | 'fiveMillion' | 'tenMillion' | 'twentyMillion' | 'fiftyMillion' | 'oneHundredMillion' | 'fiveHundredMillion' | 'oneThousandMillion' | 'overOneThousandMillion', nullable — Annual revenue tier used when filtering companies for autopilot search.
    - `maxRevenue` 'zeroMillion' | 'halfMillion' | 'oneMillion' | 'twoAndHalfMillion' | 'fiveMillion' | 'tenMillion' | 'twentyMillion' | 'fiftyMillion' | 'oneHundredMillion' | 'fiveHundredMillion' | 'oneThousandMillion' | 'overOneThousandMillion', nullable — Annual revenue tier used when filtering companies for autopilot search.
    - `accountKeywords` object — Boolean keyword filter applied to account or contact searches. In responses this field is always present and non-null even when no keywords are configured (`{ "values": [], "type": "or" }`).
      - `values` object[] — Keyword values combined according to `type`
        - `value` string, required — The literal value to match (non-empty)
        - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
      - `type` 'or' | 'and' — Boolean combinator applied across keyword filter values.
    - `isHiringOnLinkedIn` boolean — When `true`, restrict to companies currently hiring on LinkedIn. `false` (the default) applies no filter — it is treated the same as omitting the field.
    - `contactLocations` object[] — Contact location filters
      - `value` string, required — The literal value to match (non-empty)
      - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
    - `jobTitles` object[] — Contact job-title filters
      - `value` string, required — The literal value to match (non-empty)
      - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
    - `departments` object[] — Contact department filters
      - `value` string, required — The literal value to match (non-empty)
      - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
    - `seniorities` string[] — Seniority slugs to include
    - `yearsInCompany` string[] — Tenure bands to include
    - `contactKeywords` object — Boolean keyword filter applied to account or contact searches. In responses this field is always present and non-null even when no keywords are configured (`{ "values": [], "type": "or" }`).
      - `values` object[] — Keyword values combined according to `type`
        - `value` string, required — The literal value to match (non-empty)
        - `type` 'include' | 'exclude' — Whether matching values are included in or excluded from the autopilot search.
      - `type` 'or' | 'and' — Boolean combinator applied across keyword filter values.
    - `changedJobIn90Days` boolean — When `true`, restrict to contacts who changed jobs in the past 90 days. `false` (the default) applies no filter — it is treated the same as omitting the field.
  - `maxPeoplePerCompany` integer, nullable — Maximum contacts to consider per company
  - `maxPeopleToAddPerDay` integer, nullable — Maximum contacts to add per day
  - `referenceUrl` string, nullable — Optional reference URL used to seed the search

## Response `202`

Preview accepted; poll the returned job for progress and results

- object
  - `jobId` string, uuid, required — Background job id; poll `GET /v3/background-jobs/{id}`.

## Other responses

- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `403` — AI SDR feature is not available for the caller's team
- `404` — Sequence not found, or the sequence is not an AI SDR sequence

---

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