# ManyPI Docs - [Introduction](https://docs.manypi.com/index.md): ManyPI is the AI sales platform that finds your leads, verifies them, and emails them for you. - [Quickstart](https://docs.manypi.com/quickstart.md): Find your first leads, verify them, and send your first campaign. - [Core concepts](https://docs.manypi.com/concepts.md): Workspaces, brands, seats, leads and the three credit types. - [Finding leads](https://docs.manypi.com/leads/finding-leads.md): Describe your ideal customer and let the agent source, enrich and save real leads. - [Managing leads](https://docs.manypi.com/leads/managing-leads.md): Fields, custom columns, statuses, import, export and deduplication. - [Email validation](https://docs.manypi.com/leads/email-validation.md): Probe every address before you send, so dead mailboxes never cost you a bounce. - [Outreach overview](https://docs.manypi.com/outreach/overview.md): How cold email works in ManyPI, end to end. - [Inboxes and warmup](https://docs.manypi.com/outreach/inboxes.md): Connect your sending mailboxes, ramp them safely, and watch their health. - [Sequences](https://docs.manypi.com/outreach/sequences.md): Multi-step cold email templates with merge variables, threading and A/B variants. - [Campaigns](https://docs.manypi.com/outreach/campaigns.md): Bind a sequence to an inbox, enroll leads, and watch what happens. - [Replies and deliverability](https://docs.manypi.com/outreach/replies.md): Everything that comes back: replies, sentiment, bounces, unsubscribes and suppressions. - [The agent](https://docs.manypi.com/agent/chat.md): Chat with an agent that browses, scrapes, analyses and acts on your workspace. - [Skills](https://docs.manypi.com/agent/skills.md): Reusable instruction sets you can select in chat. - [Workflows](https://docs.manypi.com/agent/workflows.md): Chain steps together and run them on a schedule or a webhook. - [Data, Vault and Studio](https://docs.manypi.com/agent/data.md): Where the agent's outputs live, and how to point it at your own data. - [Scrapers](https://docs.manypi.com/scraping/scrapers.md): Reusable, schema-validated extractors for any page. - [API endpoints](https://docs.manypi.com/scraping/endpoints.md): Publish a scraper as a typed REST endpoint on your own slug. - [Brands and teams](https://docs.manypi.com/platform/brands-and-teams.md): Run several companies from one workspace, and invite people into it. - [Plans and credits](https://docs.manypi.com/platform/plans-and-credits.md): What each plan includes, how credits work, and what happens when you run out. - [API keys and permissions](https://docs.manypi.com/platform/api-keys.md): Create keys, scope them to exactly what they need, and keep them safe. - [Integrations](https://docs.manypi.com/platform/integrations.md): Webhooks, polling, MCP and databases — how ManyPI talks to the rest of your stack. - [Introduction](https://docs.manypi.com/api-reference/introduction.md): The REST API behind ManyPI — leads, validation, outreach, agents and scraping. - [List leads](https://docs.manypi.com/api-reference/leads/list-leads.md): List and filter the workspace's leads. Also returns the declared custom columns, the past lead searches that produced these leads, the workspace total and the plan's lead limit — everything a grid needs in one call. - [Bulk update leads](https://docs.manypi.com/api-reference/leads/bulk-update-leads.md): Change status and/or archive state for up to 500 leads at once. - [Bulk delete leads](https://docs.manypi.com/api-reference/leads/bulk-delete-leads.md): Permanently delete up to 500 leads. Consider archiving instead — archived leads stop appearing everywhere but stay recoverable. - [Update a lead](https://docs.manypi.com/api-reference/leads/update-lead.md): Update one field, the status, the score, or the archive flag on a single lead. Setting `field` to a name that is not a core field writes into the lead's custom columns. - [Delete a lead](https://docs.manypi.com/api-reference/leads/delete-lead.md): Permanently delete one lead. - [Start a lead search](https://docs.manypi.com/api-reference/leads/start-research.md): Launch the lead-generation agent against structured criteria, a saved search, or a set of seed leads ("find more like these"). - [List saved searches](https://docs.manypi.com/api-reference/leads/list-research-profiles.md): The workspace's saved lead searches, plus past lead-generation campaigns that were never saved as a profile. - [Create or update a saved search](https://docs.manypi.com/api-reference/leads/save-research-profile.md): Store a search without running it. Pass `id` to update an existing profile in place. - [Import leads](https://docs.manypi.com/api-reference/leads/import-leads.md): Write a batch of leads. **Up to 100 rows per request** — chunk larger files client-side so a big import cannot outlive the request timeout and so progress is real. - [Export leads as CSV](https://docs.manypi.com/api-reference/leads/export-leads.md): Stream the filtered leads as CSV, up to 10,000 rows. Honours the same `status` and `q` filters as the list endpoint. Archived leads are excluded unless you ask for them. - [Get lead capacity](https://docs.manypi.com/api-reference/leads/get-capacity.md): How many more leads the workspace can store. Read this before starting a large search or import — it changes every time a run saves a lead. - [List custom columns](https://docs.manypi.com/api-reference/leads/list-fields.md): The workspace's declared lead columns, in display order. These are column *definitions*; the values live on each lead's `custom` object. - [Declare a custom column](https://docs.manypi.com/api-reference/leads/create-field.md): Declare a column so leads can carry it. Set `auto_research` and the agent fills it in on future lead searches without you restating it each time. - [Verify email addresses](https://docs.manypi.com/api-reference/validation/verify-emails.md): Queue an SMTP mailbox probe for lead addresses, raw addresses, or both. Results are written back onto the leads as `email_status`, `email_provider`, `email_is_role` and `email_validated_at`. - [List validation jobs](https://docs.manypi.com/api-reference/validation/list-jobs.md): The workspace's recent validation jobs, newest first. - [Get a validation job](https://docs.manypi.com/api-reference/validation/get-job.md): One validation job plus its per-address results. Poll this for progress and the final breakdown. - [List sending inboxes](https://docs.manypi.com/api-reference/outreach/list-inboxes.md): Every connected sending identity with its health: today's sends versus the warmup-aware cap, 14-day delivered/failed/opened/bounced, a rolling 24-hour bounce rate, whether the bounce guard has paused it, and a 0–100 health score. - [List sequences](https://docs.manypi.com/api-reference/outreach/list-sequences.md): Saved email sequences with their inline steps. Brand-scoped; `?brand=all` widens to the whole workspace. - [Create a sequence](https://docs.manypi.com/api-reference/outreach/create-sequence.md): Create the email steps a campaign sends. Step 0 goes out on enrollment; each later step waits `wait_days` after the previous one and, with `thread_mode: "reply"`, threads under the first email. - [Draft an email with AI](https://docs.manypi.com/api-reference/outreach/generate-email.md): AI-draft a cold email (`mode: "email"`) or a whole follow-up sequence (`mode: "sequence"`) from a plain-language brief, written against your brand context. - [List campaigns](https://docs.manypi.com/api-reference/outreach/list-campaigns.md): Campaigns with per-campaign stats — enrolled, active, completed, sent, opened, replied — plus the sequence and inbox each is bound to. - [Create a campaign](https://docs.manypi.com/api-reference/outreach/create-campaign.md): Bind a sequence to a sending inbox. After creating it, enroll leads with `POST /api/outreach/enroll`. - [Update a campaign](https://docs.manypi.com/api-reference/outreach/update-campaign.md): Pause, resume or archive a campaign, or change its name, reply-to, daily limit, schedule or priority. Pausing stops further sends without losing progress. - [Delete a campaign](https://docs.manypi.com/api-reference/outreach/delete-campaign.md): Delete a campaign. Archiving (`PATCH` with `status: "archived"`) is usually the better choice — it keeps the history. - [Get campaign analytics](https://docs.manypi.com/api-reference/outreach/get-campaign.md): One campaign's full analytics: headline stats, a per-step sent/opened breakdown, and every enrolled lead with its progress. - [Enroll leads into a campaign](https://docs.manypi.com/api-reference/outreach/enroll-leads.md): Queue the campaign's sequence for real sending, respecting the inbox's warmup and daily caps. Up to 1,000 leads per call. - [Remove leads from a campaign](https://docs.manypi.com/api-reference/outreach/unenroll-leads.md): Cancel remaining steps for the given leads. Emails already sent cannot be recalled. - [Send a one-off email](https://docs.manypi.com/api-reference/outreach/send-email.md): Send a single email to a lead now, outside any sequence. Merge variables are rendered against the lead, the inbox's daily/warmup cap is respected, and the lead is marked `contacted`. - [Get outreach stats](https://docs.manypi.com/api-reference/outreach/get-stats.md): Workspace-wide sending activity: 14 days of sends (sent, failed, opened per day), replies per day, unsubscribes, bounces, active enrollments, and today's sent versus the combined warmup-aware cap. - [List replies](https://docs.manypi.com/api-reference/outreach/list-replies.md): Everything that came back from your campaigns — human replies, auto-replies and bounces — with counts for filter chips and a sentiment summary. - [Get reply insights](https://docs.manypi.com/api-reference/outreach/get-insights.md): Patterns across your replies and concrete, approvable suggestions for what to change. - [List suppressed addresses](https://docs.manypi.com/api-reference/outreach/list-suppressions.md): The workspace's do-not-contact list. Nothing on it is ever sent to, by any campaign, from any inbox, in any brand. - [Suppress addresses](https://docs.manypi.com/api-reference/outreach/add-suppressions.md): Add addresses to the do-not-contact list. Import your existing list on day one — customers, competitors, anyone who has already asked you to stop. - [Unsuppress an address](https://docs.manypi.com/api-reference/outreach/remove-suppression.md): Remove one address from the list. This only clears the block — it does not re-enroll anyone, so a mistaken removal cannot by itself restart emails to someone who opted out. - [Create an agent run](https://docs.manypi.com/api-reference/agent/create-run.md): Start an agent run on a natural-language goal. Asynchronous — poll `GET /api/agents/runs/{id}` for status and results. - [List agent runs](https://docs.manypi.com/api-reference/agent/list-runs.md): Your recent runs, newest first, narrowed to the workspace and brand you are working in. - [Get an agent run](https://docs.manypi.com/api-reference/agent/get-run.md): Full status for one run, plus its artifacts with signed download URLs valid for one hour. - [Delete an agent run](https://docs.manypi.com/api-reference/agent/delete-run.md): Delete a run along with its events and artifacts. - [Reply to an agent run](https://docs.manypi.com/api-reference/agent/reply-to-run.md): Deliver a message into a run. - [Cancel an agent run](https://docs.manypi.com/api-reference/agent/cancel-run.md): Stop a run immediately. Cancellation is authoritative rather than advisory — the run is marked cancelled at once, so a wedged executor cannot keep it "running" and occupying one of your parallel-run slots. - [List skills](https://docs.manypi.com/api-reference/agent/list-skills.md): Skills available to the caller: ManyPI's premade ones plus the workspace's own. - [Create a skill](https://docs.manypi.com/api-reference/agent/create-skill.md): Create a custom skill — a reusable instruction set injected into the agent's system prompt for a run. - [List scrapers](https://docs.manypi.com/api-reference/scraping/list-scrapers.md): The workspace's scrapers with their schema, target URL, status and type. - [Run a scraper](https://docs.manypi.com/api-reference/scraping/run-scraper.md): Queue a scraper run. **Asynchronous** — the call returns `202` immediately with a `runId`, so a slow page never times your request out. - [Get scraper run results](https://docs.manypi.com/api-reference/scraping/get-scraper-run-data.md): The status and extracted data for one run. Poll this after `POST /api/scrape/{scraperId}` until `status` is `completed`. - [List scraper runs](https://docs.manypi.com/api-reference/scraping/list-scraper-runs.md): Recent scraper runs across every scraper, with status and extracted data. Returned as a flat array, which is the shape polling-based integrations such as Zapier expect for a trigger. - [List API endpoints](https://docs.manypi.com/api-reference/endpoints/list-endpoints.md): Your published endpoints and the scrapers backing them. - [Create an API endpoint](https://docs.manypi.com/api-reference/endpoints/create-endpoint.md): Publish a scraper as a typed REST endpoint at `https://app.manypi.com/v1/e/{slug}`. - [Invoke an endpoint](https://docs.manypi.com/api-reference/endpoints/invoke-endpoint.md): Call one of your published endpoints. - [Validate a key / get account info](https://docs.manypi.com/api-reference/account/get-user.md): The cheapest way to confirm a key works. Returns the owning user, the key's permissions and its rate limit. - [MCP server](https://docs.manypi.com/mcp/introduction.md): Run ManyPI's lead generation and outreach from Claude, Cursor, ChatGPT or any MCP client. - [Connect a client](https://docs.manypi.com/mcp/connect.md): Copy-paste setup for Claude, Cursor, VS Code, ChatGPT, Codex and more. - [MCP authentication](https://docs.manypi.com/mcp/authentication.md): Browser sign-in or an API key — how each works and which to choose. - [Tool reference](https://docs.manypi.com/mcp/tools.md): Every tool the ManyPI MCP server exposes. - [Recipes](https://docs.manypi.com/mcp/recipes.md): Complete conversations that go from an ICP description to a launched campaign. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) ## Optional - [Changelog](https://manypi.com/changelog) - [Blog](https://manypi.com/blog)