---
title: "Queue a bulk screen and return a job id to poll"
method: POST
path: "/v2/compliance/screen/bulk"
tags: ["compliance-v2"]
---

# Queue a bulk screen and return a job id to poll

`POST /v2/compliance/screen/bulk`

## Request

- Base URL: `https://api.tracklysms.com/api`
- URL: `https://api.tracklysms.com/api/v2/compliance/screen/bulk`
- Auth: API key in header `X-Api-Key`

Accepts up to 1000 NANP numbers. Each non-cached litigator lookup bills \$0.015,
as does each answered RnD query; cached (recently-screened) numbers are free.
When the account sets a compliance_screen_daily_cap_cents above zero, screening
stops for the day once it is exhausted and the remaining numbers come back
skipped with reason cap_exceeded, unbilled; the default cap of zero means
unlimited. NEVER rejects on a hit: verdicts are returned for the caller to act
on. Sustained bursts beyond the per-account rate limit return 429.

## Request body

- ComplianceBulkScreenRequest
  - `force` boolean: Bypass the 30-day staleness cache and force fresh (billable) screens.
  - `include_rnd` boolean: Also run the FCC Reassigned Numbers check on numbers that clear the consent-age / activity / staleness gates. Ineligible numbers are never queried or billed.
  - `phone_numbers` string[], required: E.164 numbers to screen (1-1000).

## Response `200`

Success

---

[API](https://skmtc.dev/tracklysms/apis/trackly-sms-api.md) · [All operations](https://skmtc.dev/tracklysms/apis/trackly-sms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/tracklysms/apis/trackly-sms-api/revisions/ac1ad22cb2a9?raw)
