{
"detail": "Property foo is required but is missing.",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "https://example.com/error-log/abc123",
"status": 400,
"title": "Bad Request",
"type": "https://example.com/errors/example"
}
People Search
Plan a large people search before running it
Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as Search for people.
Returns at once with a job in planning. Poll it until planned: plan then lists every search with its count, and unreachable_count how many people no split could bring within the source’s 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts.
Planning costs no credits. For a search that needs no split, the plan is the search itself.
Free-text search over the whole profile: headline, About, every role's title and description, skills, education. A boolean expression — uppercase AND / OR, double quotes around phrases, parentheses for grouping, implicit AND between bare words — passed through to LinkedIn as written. Honored or the search fails: when no configured provider supports profile keywords, the request returns 503 rather than a page that ignores the expression.
Search using one of your saved personas, which supplies the job titles, countries and seniority bands behind it. List them via List personas.
Any filter you also send explicitly overrides the persona's value for that field; combine it with company_linkedin_ids to search a persona within specific companies. Mutually exclusive with prompt. One persona per call — to search several, call once per persona.
Languages the person's LinkedIn profile is written in (ISO 639-1: en, fr, de, es, it, nl, pt), ORed. The language of the profile, not of the person. Include only: a language cannot be excluded. Omitted, the persona's languages apply when a persona is given.
Run the search on one specific people-search source, with no fallback to another. Omit to let Tamtam choose, which is the default and falls back when a source is unavailable.
endor does not support keywords: a search carrying them is refused with a 400 rather than run without them. It also ignores years_of_experience.
Read on the first page only. Later pages always stay on the source that served the first, since next_cursor belongs to it.
Deprecated and IGNORED. There is no exclude form: the filter keeps the bands you ask for plus everyone it cannot classify, which an exclude list cannot express. Use seniority_includes.
Seniority bands to keep, derived from each person's job title. Allowed values: 'Owner / Partner', 'CXO', 'Vice President', 'Director', 'Experienced Manager', 'Senior', 'Entry Level', 'In Training'. A person whose title carries no seniority signal is kept rather than dropped, so this narrows results without discarding the unlabelled. 'Entry Level Manager' is accepted and behaves as 'Experienced Manager'; 'Strategic' is accepted and has no effect.
Whether this search widens the persona with Tamtam's AI extension of it: extra job titles inferred from the roles that actually convert for you, held outside the persona's own definition so they never appear in it.
Omit to use whatever the persona is set to — the default, and what the app itself does. Send false to search only the job titles written on the persona; the extension is recomputed periodically, so this is the setting that makes a search reproducible. Send true to widen even when the persona has the extension switched off. Sending true has no effect on a persona for which no extension has been computed yet.
Refinement hint forwarded to the underlying provider. Allowed values: 'Less than 1 year', '1 to 2 years', '3 to 5 years', '6 to 10 years', 'More than 10'. Best-effort — not all providers honor this field, and matches that ignore it may still be returned.
planning while the search is split into searches the source can serve whole. planned once the plan is ready: a job started with the plan endpoint waits there until you run it, one started to run goes straight on. running while pages are collected. completed when every search ran to its end or max_results was reached. stopped when you stopped it. out_of_credits when the account ran out of credits. failed when it could not go on, see error. Whatever ends a job, what it saved is kept.
People the search matches that no split could bring within reach of the source, and that the job will therefore not collect. See the operation description.
The source the job was pinned to, when one was asked for
Example:
"endor"
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"TAMTAM","colors":{"primary":"#0c31c1","light":"#3554d4","dark":"#081f7a"},"logo":{"light":"https://mintcdn.com/tamtam/1lHFBYsUpWvVAToh/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=1lHFBYsUpWvVAToh\u0026q=85\u0026s=5291cd6148923d32a8552bdb99ef3669","dark":"https://mintcdn.com/tamtam/1lHFBYsUpWvVAToh/assets/logo/dark.svg?fit=max\u0026auto=format\u0026n=1lHFBYsUpWvVAToh\u0026q=85\u0026s=32b84eb16f13c1a361f8318778532924"},"favicon":"https://mintcdn.com/tamtam/1lHFBYsUpWvVAToh/assets/favicon.png?fit=max\u0026auto=format\u0026n=1lHFBYsUpWvVAToh\u0026q=85\u0026s=f532f912a05f0bdb216d0903aae60d4a","navbar":{"links":[],"primary":{"type":"button","label":"Visit tamtam.ai","href":"https://www.tamtam.ai"}},"footer":{"socials":{"linkedin":"https://www.linkedin.com/company/tamtam-ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tamtam","hasAudioNarration":false,"actualSubdomain":"tamtam","customDomains":["docs.api.tamtam.ai"],"gitSource":{"type":"gitlab","owner":"tamtamai","repo":"tamtam","projectId":76070796,"deployBranch":"production","contentDirectory":"backend/public-api/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae36362864324a0b7688ac3","collectionId":"60ec3be8-4567-4986-a371-38355385382b","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae36362864324a0b7688ac3"},"entitlements":{},"buildId":"6ae498f016d886c98de48553","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API reference","count":88},{"language":"default","tag":"Signals","count":11},{"language":"default","tag":"Guides","count":10},{"language":"default","tag":"Companies","count":7},{"language":"default","tag":"People Search","count":7},{"language":"default","tag":"LinkedIn Content Signals","count":6},{"language":"default","tag":"Smart Verticals","count":6},{"language":"default","tag":"Webhooks","count":6},{"language":"default","tag":"Concepts","count":5},{"language":"default","tag":"Contact Searches","count":5}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/people-search/plan-a-large-people-search-before-running-it","slug":"/api-reference/people-search/plan-a-large-people-search-before-running-it","pageMetadata":{"title":"Plan a large people search before running it","description":"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as [Search for people](/api-reference/people-search/search-for-people).\n\nReturns at once with a job in `planning`. Poll it until `planned`: `plan` then lists every search with its count, and `unreachable_count` how many people no split could bring within the source's 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts.\n\nPlanning costs no credits. For a search that needs no split, the plan is the search itself.","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search-jobs/plan","href":"/api-reference/people-search/plan-a-large-people-search-before-running-it","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n a: \"a\",\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as \", _jsx(_components.a, {\n href: \"/api-reference/people-search/search-for-people\",\n children: \"Search for people\"\n }), \".\"]\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"Returns at once with a job in \", _jsx(_components.code, {\n children: \"planning\"\n }), \". Poll it until \", _jsx(_components.code, {\n children: \"planned\"\n }), \": \", _jsx(_components.code, {\n children: \"plan\"\n }), \" then lists every search with its count, and \", _jsx(_components.code, {\n children: \"unreachable_count\"\n }), \" how many people no split could bring within the source’s 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Planning costs no credits. For a search that needs no split, the plan is the search itself.\"\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Plan a large people search before running it","description":"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as [Search for people](/api-reference/people-search/search-for-people).\n\nReturns at once with a job in `planning`. Poll it until `planned`: `plan` then lists every search with its count, and `unreachable_count` how many people no split could bring within the source's 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts.\n\nPlanning costs no credits. For a search that needs no split, the plan is the search itself.","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search-jobs/plan","href":"/api-reference/people-search/plan-a-large-people-search-before-running-it","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as [Search for people](/api-reference/people-search/search-for-people).\n\nReturns at once with a job in `planning`. Poll it until `planned`: `plan` then lists every search with its count, and `unreachable_count` how many people no split could bring within the source's 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts.\n\nPlanning costs no credits. For a search that needs no split, the plan is the search itself.","operationId":"plan-people-search-job","requestBody":"0b552544-467e-4ba4-a409-d3520cad5079","responses":{"202":"a4d5d7da-8411-43f1-a2fb-a788322d3683","default":"7899607b-c117-46d4-b5be-780779d841d8"},"security":["782a5a4a-59e3-43da-a4b9-2a0b9cf21f65","20b57c93-171a-41ca-bc61-37b443aed58c"],"summary":"Plan a large people search before running it","tags":["People Search"],"method":"post","type":"path","servers":["83ce9b4e-1db5-4c96-8b86-10e3c4245028"],"path":"/v2/people/search-jobs/plan","baseUrlOptions":["https://api.tamtam.ai/api"],"title":"Plan a large people search before running it","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"canonical_job_titles_excludes_ids":{"oneOf":[{"description":"Canonical job title IDs to exclude","items":{"type":"string","uniqueKey":"canonical_job_titles_excludes_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"canonical_job_titles_excludes_ids.oneOf.0","typeLabel":"string[]"},{"description":"Canonical job title IDs to exclude","items":{"type":"string"},"type":"null","uniqueKey":"canonical_job_titles_excludes_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"canonical_job_titles_excludes_ids","typeLabel":"string[] | null"},"canonical_job_titles_includes_ids":{"oneOf":[{"description":"Canonical job title IDs to include","items":{"type":"string","uniqueKey":"canonical_job_titles_includes_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"canonical_job_titles_includes_ids.oneOf.0","typeLabel":"string[]"},{"description":"Canonical job title IDs to include","items":{"type":"string"},"type":"null","uniqueKey":"canonical_job_titles_includes_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"canonical_job_titles_includes_ids","typeLabel":"string[] | null"},"company_headcounts":{"oneOf":[{"description":"Company headcount band codes (single letter). A=self-employed, B=1-10, C=11-50, D=51-200, E=201-500, F=501-1000, G=1001-5000, H=5001-10000, I=10001+.","examples":[["C"]],"items":{"type":"string","uniqueKey":"company_headcounts.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"company_headcounts.oneOf.0","typeLabel":"string[]"},{"description":"Company headcount band codes (single letter). A=self-employed, B=1-10, C=11-50, D=51-200, E=201-500, F=501-1000, G=1001-5000, H=5001-10000, I=10001+.","examples":[["C"]],"items":{"type":"string"},"type":"null","uniqueKey":"company_headcounts.oneOf.1","typeLabel":"null"}],"uniqueKey":"company_headcounts","typeLabel":"string[] | null"},"company_hq_countries":{"oneOf":[{"description":"Company HQ country codes","examples":[["FR"]],"items":{"type":"string","uniqueKey":"company_hq_countries.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"company_hq_countries.oneOf.0","typeLabel":"string[]"},{"description":"Company HQ country codes","examples":[["FR"]],"items":{"type":"string"},"type":"null","uniqueKey":"company_hq_countries.oneOf.1","typeLabel":"null"}],"uniqueKey":"company_hq_countries","typeLabel":"string[] | null"},"company_linkedin_ids":{"oneOf":[{"description":"LinkedIn company IDs to filter by","examples":[["104924588"]],"items":{"type":"string","uniqueKey":"company_linkedin_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"company_linkedin_ids.oneOf.0","typeLabel":"string[]"},{"description":"LinkedIn company IDs to filter by","examples":[["104924588"]],"items":{"type":"string"},"type":"null","uniqueKey":"company_linkedin_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"company_linkedin_ids","typeLabel":"string[] | null"},"countries":{"oneOf":[{"description":"Country codes to filter by","examples":[["FR"]],"items":{"type":"string","uniqueKey":"countries.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"countries.oneOf.0","typeLabel":"string[]"},{"description":"Country codes to filter by","examples":[["FR"]],"items":{"type":"string"},"type":"null","uniqueKey":"countries.oneOf.1","typeLabel":"null"}],"uniqueKey":"countries","typeLabel":"string[] | null"},"country_excludes":{"oneOf":[{"description":"Country codes to exclude. Narrows a search rather than describing one, so it cannot be the only filter sent.","examples":[["BE"]],"items":{"type":"string","uniqueKey":"country_excludes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"country_excludes.oneOf.0","typeLabel":"string[]"},{"description":"Country codes to exclude. Narrows a search rather than describing one, so it cannot be the only filter sent.","examples":[["BE"]],"items":{"type":"string"},"type":"null","uniqueKey":"country_excludes.oneOf.1","typeLabel":"null"}],"uniqueKey":"country_excludes","typeLabel":"string[] | null"},"first_name":{"description":"Filter by first name","examples":["Elliot"],"type":"string","uniqueKey":"first_name","typeLabel":"string"},"industry_excludes_ids":{"oneOf":[{"description":"Industry IDs to exclude.\n\nResolve via [Search industries](/api-reference/industries/search-industries) and pass the returned id.","examples":[["c4d7e6f3-2345-4bcd-aef0-123456789abc"]],"items":{"type":"string","uniqueKey":"industry_excludes_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"industry_excludes_ids.oneOf.0","typeLabel":"string[]"},{"description":"Industry IDs to exclude.\n\nResolve via [Search industries](/api-reference/industries/search-industries) and pass the returned id.","examples":[["c4d7e6f3-2345-4bcd-aef0-123456789abc"]],"items":{"type":"string"},"type":"null","uniqueKey":"industry_excludes_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"industry_excludes_ids","typeLabel":"string[] | null"},"industry_includes_ids":{"oneOf":[{"description":"Industry IDs to include.\n\nResolve via [Search industries](/api-reference/industries/search-industries) and pass the returned id.","examples":[["b3c6f5e2-1234-4abc-9def-0123456789ab"]],"items":{"type":"string","uniqueKey":"industry_includes_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"industry_includes_ids.oneOf.0","typeLabel":"string[]"},{"description":"Industry IDs to include.\n\nResolve via [Search industries](/api-reference/industries/search-industries) and pass the returned id.","examples":[["b3c6f5e2-1234-4abc-9def-0123456789ab"]],"items":{"type":"string"},"type":"null","uniqueKey":"industry_includes_ids.oneOf.1","typeLabel":"null"}],"uniqueKey":"industry_includes_ids","typeLabel":"string[] | null"},"job_titles_excludes":{"oneOf":[{"description":"Job titles to exclude","examples":[["Intern"]],"items":{"type":"string","uniqueKey":"job_titles_excludes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"job_titles_excludes.oneOf.0","typeLabel":"string[]"},{"description":"Job titles to exclude","examples":[["Intern"]],"items":{"type":"string"},"type":"null","uniqueKey":"job_titles_excludes.oneOf.1","typeLabel":"null"}],"uniqueKey":"job_titles_excludes","typeLabel":"string[] | null"},"job_titles_includes":{"oneOf":[{"description":"Job titles to include","examples":[["Head of Sales"]],"items":{"type":"string","uniqueKey":"job_titles_includes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"job_titles_includes.oneOf.0","typeLabel":"string[]"},{"description":"Job titles to include","examples":[["Head of Sales"]],"items":{"type":"string"},"type":"null","uniqueKey":"job_titles_includes.oneOf.1","typeLabel":"null"}],"uniqueKey":"job_titles_includes","typeLabel":"string[] | null"},"keywords":{"description":"Free-text search over the whole profile: headline, About, every role's title and description, skills, education. A boolean expression — uppercase AND / OR, double quotes around phrases, parentheses for grouping, implicit AND between bare words — passed through to LinkedIn as written. Honored or the search fails: when no configured provider supports profile keywords, the request returns 503 rather than a page that ignores the expression.","examples":["\"supply chain\" AND SAP"],"type":"string","uniqueKey":"keywords","typeLabel":"string"},"last_name":{"description":"Filter by last name","examples":["Alderson"],"type":"string","uniqueKey":"last_name","typeLabel":"string"},"persona_id":{"description":"Search using one of your saved personas, which supplies the job titles, countries and seniority bands behind it. List them via [List personas](/api-reference/personas/list-personas).\n\nAny filter you also send explicitly overrides the persona's value for that field; combine it with company_linkedin_ids to search a persona within specific companies. Mutually exclusive with prompt. One persona per call — to search several, call once per persona.","examples":["b3c6f5e2-1234-4abc-9def-0123456789ab"],"type":"string","uniqueKey":"persona_id","typeLabel":"string"},"profile_languages":{"oneOf":[{"description":"Languages the person's LinkedIn profile is written in (ISO 639-1: en, fr, de, es, it, nl, pt), ORed. The language of the profile, not of the person. Include only: a language cannot be excluded. Omitted, the persona's languages apply when a persona is given.","examples":[["en"]],"items":{"type":"string","uniqueKey":"profile_languages.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"profile_languages.oneOf.0","typeLabel":"string[]"},{"description":"Languages the person's LinkedIn profile is written in (ISO 639-1: en, fr, de, es, it, nl, pt), ORed. The language of the profile, not of the person. Include only: a language cannot be excluded. Omitted, the persona's languages apply when a persona is given.","examples":[["en"]],"items":{"type":"string"},"type":"null","uniqueKey":"profile_languages.oneOf.1","typeLabel":"null"}],"uniqueKey":"profile_languages","typeLabel":"string[] | null"},"prompt":{"description":"Free-text search prompt (e.g. 'CTOs at fintech startups in France'). Mutually exclusive with filter fields.","examples":["Head of Sales at AI startups in France"],"type":"string","uniqueKey":"prompt","typeLabel":"string"},"provider":{"description":"Run the search on one specific people-search source, with no fallback to another. Omit to let Tamtam choose, which is the default and falls back when a source is unavailable.\n\nendor does not support keywords: a search carrying them is refused with a 400 rather than run without them. It also ignores years_of_experience.\n\nRead on the first page only. Later pages always stay on the source that served the first, since next_cursor belongs to it.","enum":["endor","bespin"],"examples":["endor"],"type":"string","uniqueKey":"provider","typeLabel":"enum\u003cstring>"},"recently_changed_jobs":{"description":"Only include people who recently changed jobs","examples":[true],"type":"boolean","uniqueKey":"recently_changed_jobs","typeLabel":"boolean"},"seniority_excludes":{"oneOf":[{"deprecated":true,"description":"Deprecated and IGNORED. There is no exclude form: the filter keeps the bands you ask for plus everyone it cannot classify, which an exclude list cannot express. Use seniority_includes.","items":{"type":"string","uniqueKey":"seniority_excludes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"seniority_excludes.oneOf.0","typeLabel":"string[]"},{"deprecated":true,"description":"Deprecated and IGNORED. There is no exclude form: the filter keeps the bands you ask for plus everyone it cannot classify, which an exclude list cannot express. Use seniority_includes.","items":{"type":"string"},"type":"null","uniqueKey":"seniority_excludes.oneOf.1","typeLabel":"null"}],"uniqueKey":"seniority_excludes","typeLabel":"string[] | null"},"seniority_includes":{"oneOf":[{"description":"Seniority bands to keep, derived from each person's job title. Allowed values: 'Owner / Partner', 'CXO', 'Vice President', 'Director', 'Experienced Manager', 'Senior', 'Entry Level', 'In Training'. A person whose title carries no seniority signal is kept rather than dropped, so this narrows results without discarding the unlabelled. 'Entry Level Manager' is accepted and behaves as 'Experienced Manager'; 'Strategic' is accepted and has no effect.","examples":[["Director","CXO"]],"items":{"type":"string","uniqueKey":"seniority_includes.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"seniority_includes.oneOf.0","typeLabel":"string[]"},{"description":"Seniority bands to keep, derived from each person's job title. Allowed values: 'Owner / Partner', 'CXO', 'Vice President', 'Director', 'Experienced Manager', 'Senior', 'Entry Level', 'In Training'. A person whose title carries no seniority signal is kept rather than dropped, so this narrows results without discarding the unlabelled. 'Entry Level Manager' is accepted and behaves as 'Experienced Manager'; 'Strategic' is accepted and has no effect.","examples":[["Director","CXO"]],"items":{"type":"string"},"type":"null","uniqueKey":"seniority_includes.oneOf.1","typeLabel":"null"}],"uniqueKey":"seniority_includes","typeLabel":"string[] | null"},"use_persona_ai_extension":{"description":"Whether this search widens the persona with Tamtam's AI extension of it: extra job titles inferred from the roles that actually convert for you, held outside the persona's own definition so they never appear in it.\n\nOmit to use whatever the persona is set to — the default, and what the app itself does. Send false to search only the job titles written on the persona; the extension is recomputed periodically, so this is the setting that makes a search reproducible. Send true to widen even when the persona has the extension switched off. Sending true has no effect on a persona for which no extension has been computed yet.\n\nRequires persona_id.","examples":[false],"type":"boolean","uniqueKey":"use_persona_ai_extension","typeLabel":"boolean"},"years_of_experience":{"oneOf":[{"description":"Refinement hint forwarded to the underlying provider. Allowed values: 'Less than 1 year', '1 to 2 years', '3 to 5 years', '6 to 10 years', 'More than 10'. Best-effort — not all providers honor this field, and matches that ignore it may still be returned.","examples":[["6 to 10 years"]],"items":{"type":"string","uniqueKey":"years_of_experience.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"years_of_experience.oneOf.0","typeLabel":"string[]"},{"description":"Refinement hint forwarded to the underlying provider. Allowed values: 'Less than 1 year', '1 to 2 years', '3 to 5 years', '6 to 10 years', 'More than 10'. Best-effort — not all providers honor this field, and matches that ignore it may still be returned.","examples":[["6 to 10 years"]],"items":{"type":"string"},"type":"null","uniqueKey":"years_of_experience.oneOf.1","typeLabel":"null"}],"uniqueKey":"years_of_experience","typeLabel":"string[] | null"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"canonical_job_titles_excludes_ids":["\u003cstring>"],"canonical_job_titles_includes_ids":["\u003cstring>"],"company_headcounts":["C"],"company_hq_countries":["FR"],"company_linkedin_ids":["104924588"],"countries":["FR"],"country_excludes":["BE"],"first_name":"Elliot","industry_excludes_ids":["c4d7e6f3-2345-4bcd-aef0-123456789abc"],"industry_includes_ids":["b3c6f5e2-1234-4abc-9def-0123456789ab"],"job_titles_excludes":["Intern"],"job_titles_includes":["Head of Sales"],"keywords":"\"supply chain\" AND SAP","last_name":"Alderson","persona_id":"b3c6f5e2-1234-4abc-9def-0123456789ab","profile_languages":["en"],"prompt":"Head of Sales at AI startups in France","provider":"endor","recently_changed_jobs":true,"seniority_excludes":["\u003cstring>"],"seniority_includes":["Director","CXO"],"use_persona_ai_extension":false,"years_of_experience":["6 to 10 years"]}}},"exampleType":"generated"}},"required":true,"exampleType":"generated"},"responses":{"a4d5d7da-8411-43f1-a2fb-a788322d3683":{"content":{"application/json":{"schema":{"additionalProperties":false,"properties":{"contacts_list_ids":{"oneOf":[{"description":"The contacts lists the job has filled so far, in order, 10,000 people each. Empty when no list was asked for.","items":{"type":"string","uniqueKey":"contacts_list_ids.oneOf.0.items.[INDEX]","typeLabel":"string"},"type":"array","isRequired":true,"uniqueKey":"contacts_list_ids.oneOf.0","typeLabel":"string[]"},{"description":"The contacts lists the job has filled so far, in order, 10,000 people each. Empty when no list was asked for.","items":{"type":"string"},"type":"null","isRequired":true,"uniqueKey":"contacts_list_ids.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"contacts_list_ids","typeLabel":"string[] | null"},"created_at":{"description":"When the job was created","format":"date-time","type":"string","isRequired":true,"uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"job_id":{"description":"The job's ID, to poll it, read its results or stop it","examples":["b3c6f5e2-1234-4abc-9def-0123456789ab"],"type":"string","isRequired":true,"uniqueKey":"job_id","typeLabel":"string"},"max_results":{"description":"The cap the job stops at. 0 while planning.","examples":[100000],"format":"int64","type":"integer","isRequired":true,"uniqueKey":"max_results","typeLabel":"integer\u003cint64>"},"plan":{"oneOf":[{"description":"The searches the job was split into, in the order they run. Empty while planning.","items":{"additionalProperties":false,"properties":{"label":{"description":"What this search is: the original search narrowed to one slice. Empty for a search that was not split.","examples":["HR Manager · FR · 501-1000"],"type":"string","isRequired":true,"uniqueKey":"plan.oneOf.0.items.[INDEX].label","typeLabel":"string"},"result_count":{"description":"How many people the source counts for this search. At most 2,500 are collected from it: a count above that is a slice no split could narrow, whose surplus is in unreachable_count. Absent when the source was not counted, for a search pinned to endor.","examples":[1840],"format":"int64","type":"integer","uniqueKey":"plan.oneOf.0.items.[INDEX].result_count","typeLabel":"integer\u003cint64>"}},"required":["label"],"type":"object","uniqueKey":"plan.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"plan.oneOf.0","typeLabel":"object[]"},{"description":"The searches the job was split into, in the order they run. Empty while planning.","items":{"additionalProperties":false,"properties":{"label":{"description":"What this search is: the original search narrowed to one slice. Empty for a search that was not split.","examples":["HR Manager · FR · 501-1000"],"type":"string"},"result_count":{"description":"How many people the source counts for this search. At most 2,500 are collected from it: a count above that is a slice no split could narrow, whose surplus is in unreachable_count. Absent when the source was not counted, for a search pinned to endor.","examples":[1840],"format":"int64","type":"integer"}},"required":["label"],"type":"object"},"type":"null","isRequired":true,"uniqueKey":"plan.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"plan","typeLabel":"object[] | null"},"saved_count":{"description":"How many distinct people the job has saved so far","examples":[12500],"format":"int64","type":"integer","isRequired":true,"uniqueKey":"saved_count","typeLabel":"integer\u003cint64>"},"searches":{"description":"How many searches the job was split into. 1 for a search the source serves whole.","examples":[24],"format":"int64","type":"integer","isRequired":true,"uniqueKey":"searches","typeLabel":"integer\u003cint64>"},"searches_failed":{"description":"How many of those failed after repeated retries. What they saved before failing is kept.","examples":[0],"format":"int64","type":"integer","isRequired":true,"uniqueKey":"searches_failed","typeLabel":"integer\u003cint64>"},"searches_finished":{"description":"How many of those have run to their end","examples":[10],"format":"int64","type":"integer","isRequired":true,"uniqueKey":"searches_finished","typeLabel":"integer\u003cint64>"},"status":{"description":"planning while the search is split into searches the source can serve whole. planned once the plan is ready: a job started with the plan endpoint waits there until you run it, one started to run goes straight on. running while pages are collected. completed when every search ran to its end or max_results was reached. stopped when you stopped it. out_of_credits when the account ran out of credits. failed when it could not go on, see error. Whatever ends a job, what it saved is kept.","enum":["planning","planned","running","completed","stopped","out_of_credits","failed"],"examples":["running"],"type":"string","isRequired":true,"uniqueKey":"status","typeLabel":"enum\u003cstring>"},"unreachable_count":{"description":"People the search matches that no split could bring within reach of the source, and that the job will therefore not collect. See the operation description.","examples":[0],"format":"int64","type":"integer","isRequired":true,"uniqueKey":"unreachable_count","typeLabel":"integer\u003cint64>"},"error":{"description":"Why a failed job stopped: planning_failed, search_failed or start_failed","examples":["planning_failed"],"type":"string","uniqueKey":"error","typeLabel":"string"},"finished_at":{"description":"When the job ended, whatever the reason","format":"date-time","type":"string","uniqueKey":"finished_at","typeLabel":"string\u003cdate-time>"},"provider":{"description":"The source the job was pinned to, when one was asked for","examples":["endor"],"type":"string","uniqueKey":"provider","typeLabel":"string"}},"required":["job_id","status","max_results","saved_count","unreachable_count","searches","searches_finished","searches_failed","plan","contacts_list_ids","created_at"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"contacts_list_ids":["\u003cstring>"],"created_at":"2023-11-07T05:31:56Z","job_id":"b3c6f5e2-1234-4abc-9def-0123456789ab","max_results":100000,"plan":[{"label":"HR Manager · FR · 501-1000","result_count":1840}],"saved_count":12500,"searches":24,"searches_failed":0,"searches_finished":10,"status":"running","unreachable_count":0,"error":"planning_failed","finished_at":"2023-11-07T05:31:56Z","provider":"endor"}}},"exampleType":"generated"}},"description":"Accepted","exampleType":"generated"},"7899607b-c117-46d4-b5be-780779d841d8":{"content":{"application/problem+json":{"schema":{"additionalProperties":false,"properties":{"detail":{"description":"A human-readable explanation specific to this occurrence of the problem.","examples":["Property foo is required but is missing."],"type":"string","uniqueKey":"detail","typeLabel":"string"},"errors":{"oneOf":[{"description":"Optional list of individual error details","items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string","uniqueKey":"errors.oneOf.0.items.[INDEX].location","typeLabel":"string"},"message":{"description":"Error message text","type":"string","uniqueKey":"errors.oneOf.0.items.[INDEX].message","typeLabel":"string"},"value":{"description":"The value at the given location","uniqueKey":"errors.oneOf.0.items.[INDEX].value","typeLabel":"any"}},"type":"object","uniqueKey":"errors.oneOf.0.items.[INDEX]","typeLabel":"object"},"type":"array","uniqueKey":"errors.oneOf.0","typeLabel":"object[]"},{"description":"Optional list of individual error details","items":{"additionalProperties":false,"properties":{"location":{"description":"Where the error occurred, e.g. 'body.items[3].tags' or 'path.thing-id'","type":"string"},"message":{"description":"Error message text","type":"string"},"value":{"description":"The value at the given location"}},"type":"object"},"type":"null","uniqueKey":"errors.oneOf.1","typeLabel":"null"}],"uniqueKey":"errors","typeLabel":"object[] | null"},"instance":{"description":"A URI reference that identifies the specific occurrence of the problem.","examples":["https://example.com/error-log/abc123"],"format":"uri","type":"string","uniqueKey":"instance","typeLabel":"string\u003curi>"},"status":{"description":"HTTP status code","examples":[400],"format":"int64","type":"integer","uniqueKey":"status","typeLabel":"integer\u003cint64>"},"title":{"description":"A short, human-readable summary of the problem type. This value should not change between occurrences of the error.","examples":["Bad Request"],"type":"string","uniqueKey":"title","typeLabel":"string"},"type":{"default":"about:blank","description":"A URI reference to human-readable documentation for the error.","examples":["https://example.com/errors/example"],"format":"uri","type":"string","uniqueKey":"type","typeLabel":"string\u003curi>"}},"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"detail":"Property foo is required but is missing.","errors":[{"location":"\u003cstring>","message":"\u003cstring>","value":"\u003cunknown>"}],"instance":"https://example.com/error-log/abc123","status":400,"title":"Bad Request","type":"https://example.com/errors/example"}}},"exampleType":"generated"}},"description":"Error","exampleType":"generated"}},"security":{"782a5a4a-59e3-43da-a4b9-2a0b9cf21f65":{"apikeyAuth":{"description":"Account API key passed in the Authorization header","in":"header","name":"Authorization","type":"apiKey","scopes":[],"schemeName":"apikeyAuth"}},"20b57c93-171a-41ca-bc61-37b443aed58c":{"bearerAuth":{"description":"Bearer JWT obtained via the OAuth 2.1 authorization flow","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"83ce9b4e-1db5-4c96-8b86-10e3c4245028":{"url":"https://api.tamtam.ai/api"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"Account API key passed in the Authorization header","in":"header","name":"Authorization","type":"apiKey","scopes":[],"schemeName":"apikeyAuth"},"schema":{"title":"Authorization","type":"string","description":"Account API key passed in the Authorization header","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apikeyAuth","name":"Authorization"}],"title":"apikeyAuth"},{"schemes":[{"scheme":{"description":"Bearer JWT obtained via the OAuth 2.1 authorization flow","scheme":"bearer","type":"http","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Bearer JWT obtained via the OAuth 2.1 authorization flow","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"reference/openapi.yaml"},"subdomain":"tamtam","siteName":"TAMTAM","title":"Plan a large people search before running it - TAMTAM","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T15:16:59.907Z","originalFileLocation":"api-reference/people-search/plan-a-large-people-search-before-running-it.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as Search for people. Returns at once with a job in planning. Poll it until planned: plan then lists every search with its count, and unreachable_count how many people no split could bring within the source\u0026#x27;s 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts. Planning costs no credits. For a search that needs no split, the plan is the search itself.\">\u003cmeta data-mint-head name=\"application-name\" content=\"TAMTAM\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Plan a large people search before running it - TAMTAM\">\u003cmeta data-mint-head property=\"og:description\" content=\"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as Search for people. Returns at once with a job in planning. Poll it until planned: plan then lists every search with its count, and unreachable_count how many people no split could bring within the source\u0026#x27;s 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts. Planning costs no credits. For a search that needs no split, the plan is the search itself.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"TAMTAM\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tamtam.mintlify.app/_mintlify/api/og/v2?division=People+Search\u0026amp;title=Plan+a+large+people+search+before+running+it\u0026amp;description=Split+a+search+into+the+searches+a+source+can+serve+whole%2C+count+each%2C+and+stop+there%2C+so+you+can+see+what+a+run+would+collect+before+paying+for+it.+Takes+the+s\u0026amp;theme=0a3840a452825963dbf5c1f1\u0026amp;signature=7dbdc5a84ac3d0f5fc7f59e4da80d56341fdcca84e19e33be68d96779ebb3567\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Plan a large people search before running it - TAMTAM\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as Search for people. Returns at once with a job in planning. Poll it until planned: plan then lists every search with its count, and unreachable_count how many people no split could bring within the source\u0026#x27;s 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts. Planning costs no credits. For a search that needs no split, the plan is the search itself.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tamtam.mintlify.app/_mintlify/api/og/v2?division=People+Search\u0026amp;title=Plan+a+large+people+search+before+running+it\u0026amp;description=Split+a+search+into+the+searches+a+source+can+serve+whole%2C+count+each%2C+and+stop+there%2C+so+you+can+see+what+a+run+would+collect+before+paying+for+it.+Takes+the+s\u0026amp;theme=0a3840a452825963dbf5c1f1\u0026amp;signature=7dbdc5a84ac3d0f5fc7f59e4da80d56341fdcca84e19e33be68d96779ebb3567\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/tamtam/dfUdFRrL5AuvFkxq/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"TAMTAM\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0c31c1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/people-search/plan-a-large-people-search-before-running-it.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.api.tamtam.ai/#organization\",\"name\":\"TAMTAM\",\"url\":\"https://docs.api.tamtam.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tamtam/1lHFBYsUpWvVAToh/assets/logo/light.svg?fit=max\u0026auto=format\u0026n=1lHFBYsUpWvVAToh\u0026q=85\u0026s=5291cd6148923d32a8552bdb99ef3669\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.api.tamtam.ai#website\",\"name\":\"TAMTAM\",\"url\":\"https://docs.api.tamtam.ai\",\"publisher\":{\"@id\":\"https://docs.api.tamtam.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it#webpage\",\"url\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it\",\"name\":\"Plan a large people search before running it\",\"description\":\"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as Search for people. Returns at once with a job in planning. Poll it until planned: plan then lists every search with its count, and unreachable_count how many people no split could bring within the source's 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts. Planning costs no credits. For a search that needs no split, the plan is the search itself.\",\"dateModified\":\"2026-10-29T15:16:59.907Z\",\"isPartOf\":{\"@id\":\"https://docs.api.tamtam.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"People Search\",\"item\":\"https://docs.api.tamtam.ai/api-reference/people-search/search-for-people\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Plan a large people search before running it\",\"item\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it#apireference\",\"headline\":\"Plan a large people search before running it\",\"name\":\"Plan a large people search before running it\",\"description\":\"Split a search into the searches a source can serve whole, count each, and stop there, so you can see what a run would collect before paying for it. Takes the same filters as Search for people. Returns at once with a job in planning. Poll it until planned: plan then lists every search with its count, and unreachable_count how many people no split could bring within the source's 2,500 limit. Run it with the run endpoint, or leave it: a plan nobody runs costs only the counts. Planning costs no credits. For a search that needs no split, the plan is the search itself.\",\"url\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it\",\"mainEntityOfPage\":{\"@id\":\"https://docs.api.tamtam.ai/api-reference/people-search/plan-a-large-people-search-before-running-it#webpage\"},\"dateModified\":\"2026-10-29T15:16:59.907Z\",\"publisher\":{\"@id\":\"https://docs.api.tamtam.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.api.tamtam.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"TAMTAM\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"TAMTAM","nav":{"global":null,"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API reference","groups":[{"group":"Contacts","pages":[{"title":"Get contacts by IDs (deprecated)","deprecated":true,"version":null,"openapi":"/reference/openapi.yaml post /v1/contacts","href":"/api-reference/contacts/get-contacts-by-ids-deprecated"},{"title":"Get contacts","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contacts","href":"/api-reference/contacts/get-contacts"},{"title":"Get research answers for a contact","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contacts/{contactID}/research-questions","href":"/api-reference/contacts/get-research-answers-for-a-contact"},{"title":"Ask a research question about a contact","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/contacts/{contactID}/research-questions","href":"/api-reference/contacts/ask-a-research-question-about-a-contact"}]},{"group":"Companies Lists","pages":[{"title":"List companies lists","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/companies-lists","href":"/api-reference/companies-lists/list-companies-lists"},{"title":"Get a companies list","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/companies-lists/{listID}","href":"/api-reference/companies-lists/get-a-companies-list"},{"title":"Add companies to a list","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/companies-lists/{listID}","href":"/api-reference/companies-lists/add-companies-to-a-list"}]},{"group":"Companies","pages":[{"title":"List job changes for companies","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/companies/job-changes","href":"/api-reference/companies/list-job-changes-for-companies"},{"title":"Search for a company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/companies/search","href":"/api-reference/companies/search-for-a-company"},{"title":"Get job postings for a company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/companies/{linkedin_id}/job-postings","href":"/api-reference/companies/get-job-postings-for-a-company"},{"title":"Get news for a company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/companies/{linkedin_id}/news","href":"/api-reference/companies/get-news-for-a-company"},{"title":"Get research answers for a company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/companies/{linkedin_id}/research-questions","href":"/api-reference/companies/get-research-answers-for-a-company"},{"title":"Ask a research question about a company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/companies/{linkedin_id}/research-questions","href":"/api-reference/companies/ask-a-research-question-about-a-company"},{"title":"Get an asked research question","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/companies/{linkedin_id}/research-questions/{questionID}","href":"/api-reference/companies/get-an-asked-research-question"}]},{"group":"Contact Searches","pages":[{"title":"List contact searches","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contact-searches","href":"/api-reference/contact-searches/list-contact-searches"},{"title":"Start a contact search","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/contact-searches","href":"/api-reference/contact-searches/start-a-contact-search"},{"title":"Preview a contact search","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/contact-searches/preview-count","href":"/api-reference/contact-searches/preview-a-contact-search"},{"title":"Get a contact search","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contact-searches/{searchID}","href":"/api-reference/contact-searches/get-a-contact-search"},{"title":"Stop a contact search","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/contact-searches/{searchID}/stop","href":"/api-reference/contact-searches/stop-a-contact-search"}]},{"group":"Contacts Lists","pages":[{"title":"List contacts lists","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contacts-lists","href":"/api-reference/contacts-lists/list-contacts-lists"},{"title":"Get a contacts list","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contacts-lists/{contactsListID}","href":"/api-reference/contacts-lists/get-a-contacts-list"},{"title":"List the contacts in a contacts list or contact search","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contacts-lists/{contactsListID}/contacts","href":"/api-reference/contacts-lists/list-the-contacts-in-a-contacts-list-or-contact-search"}]},{"group":"Signals","pages":[{"title":"List signals on a contacts list","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/contacts-lists/{listID}/signals","href":"/api-reference/signals/list-signals-on-a-contacts-list"},{"title":"List CRM deal stages","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/crm-deal-stages","href":"/api-reference/signals/list-crm-deal-stages"},{"title":"Create a deal stage lookalike signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/deal-stage-lookalike-signals","href":"/api-reference/signals/create-a-deal-stage-lookalike-signal"},{"title":"Create a job posting signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/job-posting-signals","href":"/api-reference/signals/create-a-job-posting-signal"},{"title":"Start a lead generation run","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/lead-generation-runs","href":"/api-reference/signals/start-a-lead-generation-run"},{"title":"Create a new hire signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/new-hire-signals","href":"/api-reference/signals/create-a-new-hire-signal"},{"title":"Create a news signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/news-content-signals","href":"/api-reference/signals/create-a-news-signal"},{"title":"Create a page follower signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/page-follower-signals","href":"/api-reference/signals/create-a-page-follower-signal"},{"title":"List page follower filter values","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/page-follower-signals/filter-values","href":"/api-reference/signals/list-page-follower-filter-values"},{"title":"Create an ex-customer move signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/past-company-move-signals","href":"/api-reference/signals/create-an-ex-customer-move-signal"},{"title":"List signals","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/signals","href":"/api-reference/signals/list-signals"}]},{"group":"Credits","pages":[{"title":"Get remaining credits","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/credits","href":"/api-reference/credits/get-remaining-credits"}]},{"group":"Engagement Watches","pages":[{"title":"List engagement signals","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/engagement-signals","href":"/api-reference/engagement-watches/list-engagement-signals"},{"title":"List engagement watches","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/engagement-watches","href":"/api-reference/engagement-watches/list-engagement-watches"},{"title":"Create an engagement watch","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/engagement-watches","href":"/api-reference/engagement-watches/create-an-engagement-watch"},{"title":"Delete an engagement watch","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml delete /v2/engagement-watches/{id}","href":"/api-reference/engagement-watches/delete-an-engagement-watch"},{"title":"Update an engagement watch","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml patch /v2/engagement-watches/{id}","href":"/api-reference/engagement-watches/update-an-engagement-watch"}]},{"group":"ICP Criteria","pages":[{"title":"List ICP criteria","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/icp-criteria","href":"/api-reference/icp-criteria/list-icp-criteria"},{"title":"Create an ICP criteria","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/icp-criteria","href":"/api-reference/icp-criteria/create-an-icp-criteria"},{"title":"Get an ICP criteria","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/icp-criteria/{icpCriteriaID}","href":"/api-reference/icp-criteria/get-an-icp-criteria"},{"title":"Update an ICP criteria","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml put /v2/icp-criteria/{icpCriteriaID}","href":"/api-reference/icp-criteria/update-an-icp-criteria"},{"title":"Delete an ICP criteria","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml delete /v2/icp-criteria/{icpCriteriaID}","href":"/api-reference/icp-criteria/delete-an-icp-criteria"}]},{"group":"ICP Signal Watches","pages":[{"title":"List ICP signal watches","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/icp-signal-watches","href":"/api-reference/icp-signal-watches/list-icp-signal-watches"},{"title":"Get an ICP signal watch","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/icp-signal-watches/{icpCriteriaID}","href":"/api-reference/icp-signal-watches/get-an-icp-signal-watch"},{"title":"Create or update an ICP signal watch","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml put /v2/icp-signal-watches/{icpCriteriaID}","href":"/api-reference/icp-signal-watches/create-or-update-an-icp-signal-watch"},{"title":"Delete an ICP signal watch","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml delete /v2/icp-signal-watches/{icpCriteriaID}","href":"/api-reference/icp-signal-watches/delete-an-icp-signal-watch"},{"title":"List ICP signals","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/icp-signals","href":"/api-reference/icp-signal-watches/list-icp-signals"}]},{"group":"Industries","pages":[{"title":"Search industries","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/industries/search","href":"/api-reference/industries/search-industries"}]},{"group":"Key Accounts","pages":[{"title":"List Key Accounts","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/key-accounts","href":"/api-reference/key-accounts/list-key-accounts"},{"title":"Add companies to Key Accounts","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/key-accounts","href":"/api-reference/key-accounts/add-companies-to-key-accounts"}]},{"group":"Lead Score","pages":[{"title":"Score job titles at a company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/lead-scores/at-company","href":"/api-reference/lead-score/score-job-titles-at-a-company"},{"title":"Score job titles with no company","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/lead-scores/title-only","href":"/api-reference/lead-score/score-job-titles-with-no-company"}]},{"group":"LinkedIn Content Signals","pages":[{"title":"List content signal events","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/linkedin-content-signal-events","href":"/api-reference/linkedin-content-signals/list-content-signal-events"},{"title":"List LinkedIn content signals","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/linkedin-content-signals","href":"/api-reference/linkedin-content-signals/list-linkedin-content-signals"},{"title":"Create a LinkedIn content signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/linkedin-content-signals","href":"/api-reference/linkedin-content-signals/create-a-linkedin-content-signal"},{"title":"Delete a LinkedIn content signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml delete /v2/linkedin-content-signals/{id}","href":"/api-reference/linkedin-content-signals/delete-a-linkedin-content-signal"},{"title":"Update a LinkedIn content signal","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml patch /v2/linkedin-content-signals/{id}","href":"/api-reference/linkedin-content-signals/update-a-linkedin-content-signal"},{"title":"List judged posts","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/linkedin-content-signals/{id}/posts","href":"/api-reference/linkedin-content-signals/list-judged-posts"}]},{"group":"Lookalikes","pages":[{"title":"Search for lookalike companies","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/multi-search-lookalikes","href":"/api-reference/lookalikes/search-for-lookalike-companies"}]},{"group":"People Enrichment","pages":[{"title":"Enrich people with email and phone data","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/enrich","href":"/api-reference/people-enrichment/enrich-people-with-email-and-phone-data"},{"title":"Get enrichment request status and results","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/people/enrich/{RequestID}","href":"/api-reference/people-enrichment/get-enrichment-request-status-and-results"}]},{"group":"People Extract","pages":[{"title":"Read people's experiences","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/experiences","href":"/api-reference/people-extract/read-peoples-experiences"},{"title":"Extract a person's profile","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/extract","href":"/api-reference/people-extract/extract-a-persons-profile"},{"title":"Resolve people to LinkedIn profiles","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/resolve","href":"/api-reference/people-extract/resolve-people-to-linkedin-profiles"}]},{"group":"People Search","pages":[{"title":"Search for people","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search","href":"/api-reference/people-search/search-for-people"},{"title":"Run a people search to the end in the background","description":"Collect every person a search matches, up to 100,000, without paging it yourself. Takes the same filters as [Search for people](/api-reference/people-search/search-for-people), plus how many people to save and, optionally, a contacts list name to save them into.\n\nReturns at once with a job to poll. The job is the same one the app runs for \"Add all to a list\":\n\n- **Large searches are split.** A source serves at most 2,500 people for one search, so a larger one is first split into narrower searches that each fit (by job title, then country, company size and industry), and those run four at a time. A person matching two of them is saved once. When a slice cannot be split under the limit, the people beyond it are reported in `unreachable_count` rather than silently missing.\n- **Pages are paced.** Every job on a source shares one pace set by Tamtam, so running several at once queues them rather than getting them throttled; a page the source still refuses is retried with backoff from where it stopped.\n\nWith `provider: \"endor\"`, whose searches have no 2,500 limit, the search is not split and runs whole.\n\n**Reading the results:** poll the job, and read the people from the results endpoint, which works while the job runs. With `list_name`, they are also saved into contacts lists of 10,000.\n\nCosts 1 credit per person fetched, as a search does. A job ends as `out_of_credits` when the balance runs out, and keeps what it saved.","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search-jobs","href":"/api-reference/people-search/run-a-people-search-to-the-end-in-the-background"},{"title":"Plan a large people search before running it","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search-jobs/plan","href":"/api-reference/people-search/plan-a-large-people-search-before-running-it"},{"title":"Get a people search job","description":"Poll a people search job: its status, how many people it has saved, how far its searches have got, and the contacts lists it has filled.","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/people/search-jobs/{JobID}","href":"/api-reference/people-search/get-a-people-search-job"},{"title":"Read a people search job's results","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/people/search-jobs/{JobID}/results","href":"/api-reference/people-search/read-a-people-search-jobs-results"},{"title":"Run a planned people search","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search-jobs/{JobID}/run","href":"/api-reference/people-search/run-a-planned-people-search"},{"title":"Stop a people search job","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/people/search-jobs/{JobID}/stop","href":"/api-reference/people-search/stop-a-people-search-job"}]},{"group":"Personas","pages":[{"title":"List personas","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/personas","href":"/api-reference/personas/list-personas"},{"title":"Create a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/personas","href":"/api-reference/personas/create-a-persona"},{"title":"Update a persona","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml patch /v2/personas/{id}","href":"/api-reference/personas/update-a-persona"}]},{"group":"Smart Verticals","pages":[{"title":"List smart verticals","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/smart-verticals","href":"/api-reference/smart-verticals/list-smart-verticals"},{"title":"Create a smart vertical","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/smart-verticals","href":"/api-reference/smart-verticals/create-a-smart-vertical"},{"title":"Classify companies into smart verticals","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/smart-verticals/classify","href":"/api-reference/smart-verticals/classify-companies-into-smart-verticals"},{"title":"Reclassify all classified companies","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/smart-verticals/reclassify","href":"/api-reference/smart-verticals/reclassify-all-classified-companies"},{"title":"Update a smart vertical","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml put /v2/smart-verticals/{smartVerticalID}","href":"/api-reference/smart-verticals/update-a-smart-vertical"},{"title":"Delete a smart vertical","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml delete /v2/smart-verticals/{smartVerticalID}","href":"/api-reference/smart-verticals/delete-a-smart-vertical"}]},{"group":"Webhooks","pages":[{"title":"List webhook deliveries","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/webhook-deliveries","href":"/api-reference/webhooks/list-webhook-deliveries"},{"title":"Replay a webhook delivery","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/webhook-deliveries/{deliveryID}/replay","href":"/api-reference/webhooks/replay-a-webhook-delivery"},{"title":"List webhook endpoints","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml get /v2/webhook-endpoints","href":"/api-reference/webhooks/list-webhook-endpoints"},{"title":"Create a webhook endpoint","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml post /v2/webhook-endpoints","href":"/api-reference/webhooks/create-a-webhook-endpoint"},{"title":"Delete a webhook endpoint","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml delete /v2/webhook-endpoints/{endpointID}","href":"/api-reference/webhooks/delete-a-webhook-endpoint"},{"title":"Update a webhook endpoint","deprecated":null,"version":null,"openapi":"/reference/openapi.yaml patch /v2/webhook-endpoints/{endpointID}","href":"/api-reference/webhooks/update-a-webhook-endpoint"}]}]}]},"title":"Plan a large people search before running it - TAMTAM","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}