---
title: "Enroll leads in enrichment: enriched now, re-checked monthly (SPENDS TOKENS)"
method: POST
path: "/api/v1/leads/enroll"
---

# Enroll leads in enrichment: enriched now, re-checked monthly (SPENDS TOKENS)

`POST /api/v1/leads/enroll`

## Request

- Base URL: `https://lyreleads.com`
- URL: `https://lyreleads.com/api/v1/leads/enroll`
- Auth: HTTP bearer

One lead per two businesses, paid once. Each business is enriched right away and then re-checked about once a month for as long as you keep it, with change events on what moved (GET /api/v1/leads?signal=..., or the signal.detected webhook). Enrolling is separate from enriching (POST /api/enrich, one lead per five, which never enrolls). Businesses a search finds are already enrolled for free. Businesses already enrolled, and businesses with no website to re-check, are skipped and cost nothing. A business whose site cannot be read is charged the enrichment rate for the attempt and is not enrolled. Runs as a job: poll GET /api/enrich/progress/{jobId}, which reports enrolled, readOnly and leadsCharged. Price it first with POST /api/v1/enrich/preview (enrollCost). Lead-spending limit: 30,000 businesses a minute on Growth, up to 150,000 on Agency.

## Request body

- object
  - `resultIds` integer[], required

## Response `200`

jobId (null when nothing needed enrolling), mode: enroll, enrolling, alreadyEnrolled, noWebsite, notFound, max_cost

## Other responses

- `402`: Insufficient leads
- `429`: Rate limit exceeded

---

[API](https://skmtc.dev/lyreleads/apis/lyre-leads-api.md) · [All operations](https://skmtc.dev/lyreleads/apis/lyre-leads-api/llms.txt) · [OpenAPI document](https://skmtc.dev/lyreleads/apis/lyre-leads-api/revisions/1c7c73cc355f?raw)
