Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don’t pass them, the batch is preparing again while they are written. Raises version. If another change to the batch lands first, it returns 409 BATCH_VERSION_CHANGED: read the batch and add them again. Only the API key or person who created the batch can change it. Needs campaigns:enroll.
POST
/
v1
/
campaigns
/
{id}
/
enrollment-batches
/
{batch_id}
/
recipients
Add people to a batch
curl --request POST \ --url https://api.stardex.ai/v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "recipients": [ { "person_id": "8f6c1d2e-3b5a-4c7e-9d1f-6a8c0e2b4d76", "variable_values": { "personalization_line": "Your Monzo meetup talk was great.", "ai:opening_line": "Your work on the card payments platform stood out." } } ]}'
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Stardex Help Docs","description":"AI native ATS \u0026 CRM for search firms","colors":{"primary":"#5853f7","light":"#5853f7","dark":"#EDF3F9"},"logo":{"light":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/light.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=6a32bc87265a1562f0ee3793cb4c66e7","dark":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/dark.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=000def45485b23628fc81f156a6306cd"},"favicon":"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/favicon.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=dbebacabd3552482bc8b3f787e61888d","api":{"mdx":{"auth":{"method":"bearer","name":"Authorization"},"server":"https://api.stardex.ai"}},"navbar":{"links":[{"href":"mailto:support@stardex.ai","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://stardex.com/jobs"}},"footer":{"socials":{"x":"https://x.com/stardexhq","linkedin":"https://linkedin.com/company/stardexhq"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Home page","icon":"book-open-cover","href":"https://www.stardex.com"},{"anchor":"Blog","icon":"newspaper","href":"https://www.stardex.com/blog"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"stardex","hasAudioNarration":false,"actualSubdomain":"stardex","customDomains":["docs.stardex.com"],"gitSource":{"type":"github","owner":"dotshq","repo":"ats-plus","deployBranch":"main","contentDirectory":"apps/docs","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6adc22bb47d1fc97ca4d909a","collectionId":"ec4ca445-ecb9-4c0a-a762-4ff8472e33d8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adc22bb47d1fc97ca4d909a"},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6ade7b00b7bed53c17af21c3","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"API Reference","count":162},{"language":"default","tag":"Help Center","count":86},{"language":"default","tag":"Core Features","count":35},{"language":"default","tag":"Settings \u0026 Customization","count":27},{"language":"default","tag":"Campaigns","count":23},{"language":"default","tag":"Persons","count":23},{"language":"default","tag":"Integrations","count":16},{"language":"default","tag":"Jobs","count":15},{"language":"default","tag":"Email \u0026 other integrations","count":10},{"language":"default","tag":"Automations","count":10}]},"assistantConfig":{},"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":"editor-v7-file-tree","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":"pause-universal-search-reconcile","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":"per-site-search-delta","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":"editor-private-page-search","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":"editor-nav-generations","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":"editor-agent-model-picker","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":"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}],"isAtlas":false,"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/campaigns/add-people-to-a-batch","slug":"/api-reference/campaigns/add-people-to-a-batch","pageMetadata":{"title":"Add people to a batch","description":"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don't pass them, the batch is `preparing` again while they are written. Raises `version`. If another change to the batch lands first, it returns `409 BATCH_VERSION_CHANGED`: read the batch and add them again. Only the API key or person who created the batch can change it. Needs `campaigns:enroll`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients","href":"/api-reference/campaigns/add-people-to-a-batch","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don’t pass them, the batch is \", _jsx(_components.code, {\n children: \"preparing\"\n }), \" again while they are written. Raises \", _jsx(_components.code, {\n children: \"version\"\n }), \". If another change to the batch lands first, it returns \", _jsx(_components.code, {\n children: \"409 BATCH_VERSION_CHANGED\"\n }), \": read the batch and add them again. Only the API key or person who created the batch can change it. Needs \", _jsx(_components.code, {\n children: \"campaigns:enroll\"\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":"Add people to a batch","description":"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don't pass them, the batch is `preparing` again while they are written. Raises `version`. If another change to the batch lands first, it returns `409 BATCH_VERSION_CHANGED`: read the batch and add them again. Only the API key or person who created the batch can change it. Needs `campaigns:enroll`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients","href":"/api-reference/campaigns/add-people-to-a-batch","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"addCampaignEnrollmentBatchRecipients","summary":"Add people to a batch","description":"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don't pass them, the batch is `preparing` again while they are written. Raises `version`. If another change to the batch lands first, it returns `409 BATCH_VERSION_CHANGED`: read the batch and add them again. Only the API key or person who created the batch can change it. Needs `campaigns:enroll`.","tags":["Campaigns"],"parameters":["80948f9f-2063-49e0-b457-fbd114ee4384","fe2f7ba2-fe9e-468c-9752-ea37b3d63303"],"requestBody":"299ffdad-1c70-4826-81ad-d448eb898edd","responses":{"200":"45a04e69-b070-4707-a138-04d552bb7e35","400":"cd97c05f-dc74-41d8-9a7f-c7c5c16dccfc","403":"81b99e34-b462-47b7-a02a-cf091ce33983","404":"a216f893-294b-4cfd-8f16-d8156cb70d87","409":"b40d4e73-1aeb-47dc-a6b8-c68133300fa5","410":"03afab46-ec6c-4bf0-b5fa-2af79d992455","500":"3a7848b4-39be-46ab-a126-2c0e51e739cf"},"method":"post","type":"path","servers":["20e81692-0e88-4037-93ca-f9780d101506"],"security":["5625a650-543e-4dde-bdd4-529bc2359650"],"path":"/v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients","baseUrlOptions":["https://api.stardex.ai"],"title":"Add people to a batch","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"80948f9f-2063-49e0-b457-fbd114ee4384":{"schema":{"type":"string","format":"uuid","description":"Campaign ID.","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":true,"description":"Campaign ID.","name":"id","in":"path"},"fe2f7ba2-fe9e-468c-9752-ea37b3d63303":{"schema":{"type":"string","format":"uuid","description":"Enrollment batch ID.","isRequired":true,"uniqueKey":"","typeLabel":"string\u003cuuid>"},"required":true,"description":"Enrollment batch ID.","name":"batch_id","in":"path"}},"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"recipients":{"type":"array","items":{"type":"object","properties":{"person_id":{"type":"string","format":"uuid","description":"Person to enroll.","isRequired":true,"uniqueKey":"recipients.items.[INDEX].person_id","typeLabel":"string\u003cuuid>"},"email":{"oneOf":[{"type":"string","format":"email","description":"Email to send to. Left out, the person's best email is picked using email_preference.","uniqueKey":"recipients.items.[INDEX].email.oneOf.0","typeLabel":"string\u003cemail>"},{"type":"null","format":"email","description":"Email to send to. Left out, the person's best email is picked using email_preference.","uniqueKey":"recipients.items.[INDEX].email.oneOf.1","typeLabel":"null"}],"uniqueKey":"recipients.items.[INDEX].email","typeLabel":"string\u003cemail> | null"},"add_email_to_person":{"type":"boolean","description":"Save email to the person's profile when it isn't one of their emails. A batch can't send to an address without saving it, so without this an email not on the profile leaves the person needs_input (email_not_on_person).","uniqueKey":"recipients.items.[INDEX].add_email_to_person","typeLabel":"boolean"},"variable_values":{"type":"object","additionalProperties":{"type":"string","maxLength":2000,"uniqueKey":"recipients.items.[INDEX].variable_values.additionalProperties","typeLabel":"string"},"description":"Values for {{variables}}, keyed by the name used in the template, for example {\"personalization_line\": \"Loved your PyCon talk.\"} or {\"ai:opening_line\": \"...\"} to write an AI variable yourself.","uniqueKey":"recipients.items.[INDEX].variable_values","typeLabel":"object"},"blank_variables":{"type":"array","items":{"type":"string","minLength":1,"maxLength":100,"uniqueKey":"recipients.items.[INDEX].blank_variables.items.[INDEX]","typeLabel":"string"},"maxItems":100,"description":"Variables to leave out of the email. The {{token}} is removed and the spacing around it tidied.","uniqueKey":"recipients.items.[INDEX].blank_variables","typeLabel":"string[]"},"overrides":{"type":"array","items":{"type":"string","enum":["company_do_not_contact","duplicate_enrollment"],"uniqueKey":"recipients.items.[INDEX].overrides.items.[INDEX]","typeLabel":"enum\u003cstring>"},"maxItems":2,"description":"Enroll despite these blocks: company_do_not_contact (works at a company marked do not contact) or duplicate_enrollment (already in this campaign at another email, or finished it before). Needs override_reason here or on the batch. Ignored when the person has neither block. A blocked person (unsubscribed, bounced, marked do not contact, or still in this campaign at the same email) cannot be overridden, and passing overrides for them fails the whole request with OVERRIDE_NOT_ALLOWED. To re-enroll someone at the same email, stop their enrollment first.","uniqueKey":"recipients.items.[INDEX].overrides","typeLabel":"enum\u003cstring>[]"},"override_reason":{"oneOf":[{"type":"string","minLength":1,"maxLength":1000,"description":"Why the block is being overridden. Stored on the enrollment.","uniqueKey":"recipients.items.[INDEX].override_reason.oneOf.0","typeLabel":"string"},{"type":"null","minLength":1,"maxLength":1000,"description":"Why the block is being overridden. Stored on the enrollment.","uniqueKey":"recipients.items.[INDEX].override_reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"recipients.items.[INDEX].override_reason","typeLabel":"string | null"}},"required":["person_id"],"uniqueKey":"recipients.items.[INDEX]","typeLabel":"object"},"minItems":1,"maxItems":1000,"description":"People to enroll, each person once. A batch holds up to your workspace's recipient limit (50 by default), and never more than 1,000.","isRequired":true,"uniqueKey":"recipients","typeLabel":"object[]"}},"required":["recipients"],"uniqueKey":"","typeLabel":"object"},"example":{"recipients":[{"person_id":"8f6c1d2e-3b5a-4c7e-9d1f-6a8c0e2b4d76","variable_values":{"personalization_line":"Your Monzo meetup talk was great.","ai:opening_line":"Your work on the card payments platform stood out."}}]},"examples":{"Example":{"title":"Example","value":{"recipients":[{"person_id":"8f6c1d2e-3b5a-4c7e-9d1f-6a8c0e2b4d76","variable_values":{"personalization_line":"Your Monzo meetup talk was great.","ai:opening_line":"Your work on the card payments platform stood out."}}]}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"45a04e69-b070-4707-a138-04d552bb7e35":{"description":"People added","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[true],"isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"data":{"type":"object","properties":{"batch_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.batch_id","typeLabel":"string\u003cuuid>"},"status":{"type":"string","enum":["preparing","ready","starting","started","discarded","expired"],"description":"preparing: AI variables are being written. ready: can be edited and started. starting: people are enrolled and adding them to the job or as client contacts is still finishing. started, discarded, expired: final.","isRequired":true,"uniqueKey":"data.status","typeLabel":"enum\u003cstring>"},"version":{"type":"integer","description":"Goes up with every change. Pass it to start.","isRequired":true,"uniqueKey":"data.version","typeLabel":"integer"},"source":{"type":"string","enum":["api","mcp","copilot","app"],"description":"Where the batch was made: api (an API key), mcp (an AI assistant connected over MCP), copilot (Ask Dex) or app (a signed-in user calling the API).","isRequired":true,"uniqueKey":"data.source","typeLabel":"enum\u003cstring>"},"campaign":{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.campaign.id","typeLabel":"string\u003cuuid>"},"name":{"type":"string","isRequired":true,"uniqueKey":"data.campaign.name","typeLabel":"string"}},"required":["id","name"],"isRequired":true,"uniqueKey":"data.campaign","typeLabel":"object"},"sender":{"type":"object","properties":{"team_member_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.sender.team_member_id","typeLabel":"string\u003cuuid>"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.sender.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.sender.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.sender.name","typeLabel":"string | null"},"from_email":{"type":"string","isRequired":true,"uniqueKey":"data.sender.from_email","typeLabel":"string"}},"required":["team_member_id","name","from_email"],"isRequired":true,"uniqueKey":"data.sender","typeLabel":"object"},"job":{"oneOf":[{"type":"object","properties":{"id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.oneOf.0.id","typeLabel":"string\u003cuuid>"},"title":{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.title","typeLabel":"string"},"pipeline_stage_id":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.job.oneOf.0.pipeline_stage_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","isRequired":true,"uniqueKey":"data.job.oneOf.0.pipeline_stage_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.oneOf.0.pipeline_stage_id","typeLabel":"string\u003cuuid> | null"},"pipeline_stage":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.job.oneOf.0.pipeline_stage.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.job.oneOf.0.pipeline_stage.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job.oneOf.0.pipeline_stage","typeLabel":"string | null"}},"required":["id","title","pipeline_stage_id","pipeline_stage"],"isRequired":true,"uniqueKey":"data.job.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"id":{"type":"string","format":"uuid"},"title":{"type":"string"},"pipeline_stage_id":{"oneOf":[{"type":"string","format":"uuid"},{"type":"null","format":"uuid"}]},"pipeline_stage":{"oneOf":[{"type":"string"},{"type":"null"}]}},"required":["id","title","pipeline_stage_id","pipeline_stage"],"isRequired":true,"uniqueKey":"data.job.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.job","typeLabel":"object | null"},"start":{"type":"object","properties":{"mode":{"type":"string","enum":["next_window","now","scheduled"],"isRequired":true,"uniqueKey":"data.start.mode","typeLabel":"enum\u003cstring>"},"at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.start.at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.start.at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.start.at","typeLabel":"string | null"},"timezone":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.start.timezone.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.start.timezone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.start.timezone","typeLabel":"string | null"}},"required":["mode","at","timezone"],"isRequired":true,"uniqueKey":"data.start","typeLabel":"object"},"created_by":{"type":"object","properties":{"type":{"type":"string","enum":["api_key","team_member"],"isRequired":true,"uniqueKey":"data.created_by.type","typeLabel":"enum\u003cstring>"},"id":{"oneOf":[{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.created_by.id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","isRequired":true,"uniqueKey":"data.created_by.id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.created_by.id","typeLabel":"string\u003cuuid> | null"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.created_by.name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.created_by.name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.created_by.name","typeLabel":"string | null"}},"required":["type","id","name"],"description":"Who prepared the batch: an API key, with its name, or a team member. Only they can change, start or discard it.","isRequired":true,"uniqueKey":"data.created_by","typeLabel":"object"},"created_at":{"type":"string","isRequired":true,"uniqueKey":"data.created_at","typeLabel":"string"},"expires_at":{"type":"string","description":"A draft expires 24 hours after its last change.","isRequired":true,"uniqueKey":"data.expires_at","typeLabel":"string"},"started_at":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.started_at.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.started_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.started_at","typeLabel":"string | null"},"progress":{"oneOf":[{"type":"object","properties":{"done":{"type":"integer","isRequired":true,"uniqueKey":"data.progress.oneOf.0.done","typeLabel":"integer"},"total":{"type":"integer","isRequired":true,"uniqueKey":"data.progress.oneOf.0.total","typeLabel":"integer"}},"required":["done","total"],"description":"AI writing progress while preparing.","isRequired":true,"uniqueKey":"data.progress.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"done":{"type":"integer"},"total":{"type":"integer"}},"required":["done","total"],"description":"AI writing progress while preparing.","isRequired":true,"uniqueKey":"data.progress.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.progress","typeLabel":"object | null"},"summary":{"type":"object","properties":{"total":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.total","typeLabel":"integer"},"preparing":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.preparing","typeLabel":"integer"},"ready":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.ready","typeLabel":"integer"},"needs_input":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.needs_input","typeLabel":"integer"},"blocked":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.blocked","typeLabel":"integer"},"excluded":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.excluded","typeLabel":"integer"},"enrolled":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.enrolled","typeLabel":"integer"},"rejected_at_start":{"type":"integer","isRequired":true,"uniqueKey":"data.summary.rejected_at_start","typeLabel":"integer"}},"required":["total","preparing","ready","needs_input","blocked","excluded","enrolled","rejected_at_start"],"isRequired":true,"uniqueKey":"data.summary","typeLabel":"object"},"warnings":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"exceeds_daily_capacity, daily_limit_reached (the mailbox already sent its daily limit today and the first email is due today, so it waits for the reset), sending_disabled, mailbox_rate_limited, outside_sending_window, adds_to_job_pipeline, creates_client_contacts, contains_overrides (details has the names), shared_email (one per email several people use; details has the email and the names), job_automation_will_run or steps_without_timezone. outside_sending_window means the first email goes out outside sending hours, on a weekend or on a holiday the campaign skips (start_mode now or scheduled), or has to wait for the next sending window (next_window); details has reason (outside_hours, weekend or holiday), sending_hours and first_email_at.","isRequired":true,"uniqueKey":"data.warnings.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"data.warnings.items.[INDEX].message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"type":"string","uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"data.warnings.items.[INDEX].details.additionalProperties","typeLabel":"string · number · boolean · null · string[] · null"},"description":"Extra facts about the issue, such as variable names.","uniqueKey":"data.warnings.items.[INDEX].details","typeLabel":"object"}},"required":["code","message"],"uniqueKey":"data.warnings.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.warnings","typeLabel":"object[]"},"recipients":{"type":"array","items":{"type":"object","properties":{"recipient_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].recipient_id","typeLabel":"string\u003cuuid>"},"person_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].person_id","typeLabel":"string\u003cuuid>"},"name":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].name","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].email.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].email.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].email","typeLabel":"string | null"},"status":{"type":"string","enum":["preparing","ready","needs_input","blocked","excluded","enrolled","rejected_at_start"],"description":"ready: enrolled at start. needs_input and blocked: not enrolled; see issues. excluded: left out by you. preparing: AI variables are still being written. After start: enrolled or rejected_at_start.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"issues":{"type":"array","items":{"type":"object","properties":{"code":{"type":"string","description":"Blocks: person_not_found, email_bounced, unsubscribed, person_do_not_contact, already_enrolled. Needs input: no_email, email_not_on_person, company_do_not_contact, already_enrolled_different_email, previously_completed, missing_variables, ai_generation_failed. Warnings: likely_bounce, enrolled_in_other_campaign, previously_in_campaign (was in this campaign before and was stopped, cancelled or failed).","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].code","typeLabel":"string"},"message":{"type":"string","description":"What is wrong and how to fix it.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.3","typeLabel":"null"},{"type":"array","items":{"type":"string","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.4.items.[INDEX]","typeLabel":"string"},"uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.4","typeLabel":"string[]"},{"type":"null","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties.oneOf.5","typeLabel":"null"}],"uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details.additionalProperties","typeLabel":"string · number · boolean · null · string[] · null"},"description":"Extra facts about the issue, such as variable names.","uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX].details","typeLabel":"object"}},"required":["code","message"],"uniqueKey":"data.recipients.items.[INDEX].issues.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].issues","typeLabel":"object[]"},"overrides":{"type":"array","items":{"type":"string","enum":["company_do_not_contact","duplicate_enrollment"],"uniqueKey":"data.recipients.items.[INDEX].overrides.items.[INDEX]","typeLabel":"enum\u003cstring>"},"description":"Blocks this person is enrolled despite.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].overrides","typeLabel":"enum\u003cstring>[]"},"override_reason":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].override_reason.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].override_reason.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].override_reason","typeLabel":"string | null"},"enrollment_id":{"oneOf":[{"type":"string","format":"uuid","description":"Set once enrolled.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].enrollment_id.oneOf.0","typeLabel":"string\u003cuuid>"},{"type":"null","format":"uuid","description":"Set once enrolled.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].enrollment_id.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].enrollment_id","typeLabel":"string\u003cuuid> | null"},"first_email_estimated_at":{"oneOf":[{"type":"string","description":"Estimated time of this person's first email, following start_mode and moved to later days when the batch is more than the mailbox's daily limit can send. null when the person isn't ready, the first step isn't an email, or the mailbox's daily limit is 0.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].first_email_estimated_at.oneOf.0","typeLabel":"string"},{"type":"null","description":"Estimated time of this person's first email, following start_mode and moved to later days when the batch is more than the mailbox's daily limit can send. null when the person isn't ready, the first step isn't an email, or the mailbox's daily limit is 0.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].first_email_estimated_at.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].first_email_estimated_at","typeLabel":"string | null"},"steps":{"type":"array","items":{"type":"object","properties":{"step_id":{"type":"string","format":"uuid","description":"Campaign step ID.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].step_id","typeLabel":"string\u003cuuid>"},"order":{"type":"integer","description":"1-based position in the campaign.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].order","typeLabel":"integer"},"type":{"type":"string","enum":["email","manual","text","linkedin_message","linkedin_connection","call"],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].type","typeLabel":"enum\u003cstring>"},"send_after_days":{"type":"integer","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].send_after_days","typeLabel":"integer"},"subject":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].subject.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].subject.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].subject","typeLabel":"string | null"},"body_html":{"type":"string","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].body_html","typeLabel":"string"},"edited":{"type":"boolean","description":"Edited for this person, so variable changes don't rewrite it.","isRequired":true,"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX].edited","typeLabel":"boolean"}},"required":["step_id","order","type","send_after_days","subject","body_html","edited"],"uniqueKey":"data.recipients.items.[INDEX].steps.items.[INDEX]","typeLabel":"object"},"description":"Only with include=content.","uniqueKey":"data.recipients.items.[INDEX].steps","typeLabel":"object[]"}},"required":["recipient_id","person_id","name","email","status","issues","overrides","override_reason","enrollment_id","first_email_estimated_at"],"uniqueKey":"data.recipients.items.[INDEX]","typeLabel":"object"},"isRequired":true,"uniqueKey":"data.recipients","typeLabel":"object[]"},"sample":{"oneOf":[{"type":"object","properties":{"recipient_id":{"type":"string","format":"uuid","isRequired":true,"uniqueKey":"data.sample.oneOf.0.recipient_id","typeLabel":"string\u003cuuid>"},"subject":{"oneOf":[{"type":"string","isRequired":true,"uniqueKey":"data.sample.oneOf.0.subject.oneOf.0","typeLabel":"string"},{"type":"null","isRequired":true,"uniqueKey":"data.sample.oneOf.0.subject.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.sample.oneOf.0.subject","typeLabel":"string | null"},"body_text":{"type":"string","isRequired":true,"uniqueKey":"data.sample.oneOf.0.body_text","typeLabel":"string"}},"required":["recipient_id","subject","body_text"],"description":"The first ready person's first email, as plain text.","isRequired":true,"uniqueKey":"data.sample.oneOf.0","typeLabel":"object"},{"type":"null","properties":{"recipient_id":{"type":"string","format":"uuid"},"subject":{"oneOf":[{"type":"string"},{"type":"null"}]},"body_text":{"type":"string"}},"required":["recipient_id","subject","body_text"],"description":"The first ready person's first email, as plain text.","isRequired":true,"uniqueKey":"data.sample.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"data.sample","typeLabel":"object | null"}},"required":["batch_id","status","version","source","campaign","sender","job","start","created_by","created_at","expires_at","started_at","progress","summary","warnings","recipients","sample"],"isRequired":true,"uniqueKey":"data","typeLabel":"object"}},"required":["success","data"],"uniqueKey":"","typeLabel":"object"},"example":{"success":true,"data":{"batch_id":"eb8d2f41-3c7a-4e19-b5d2-7f0a1c9e6b34","status":"ready","version":3,"source":"api","campaign":{"id":"3f9a1c27-8e4b-4d2a-b6f0-7c1e5a9d2b84","name":"Senior Backend Engineer, Monzo"},"sender":{"team_member_id":"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20","name":"Riya Kapoor","from_email":"riya@acmetalent.com"},"job":{"id":"b21d7e4a-5c9f-4e3b-a1d6-8f2c4e7b9a13","title":"Senior Backend Engineer","pipeline_stage_id":"e4a0c3b7-1f5d-4a8e-9b2c-6d3f7a1e5c88","pipeline_stage":"Contacted"},"start":{"mode":"scheduled","at":"2026-10-19T08:00:00.000Z","timezone":"Europe/London"},"created_by":{"type":"api_key","id":"0d4b8f2e-6a1c-4e9b-b3d7-5f2a8c1e4b96","name":"Greenhouse sync"},"created_at":"2026-10-13T11:20:00.000Z","expires_at":"2026-10-14T11:24:10.000Z","started_at":null,"progress":null,"summary":{"total":5,"preparing":0,"ready":2,"needs_input":2,"blocked":1,"excluded":0,"enrolled":0,"rejected_at_start":0},"warnings":[{"code":"adds_to_job_pipeline","message":"2 people will be added to Senior Backend Engineer at Contacted.","details":{"count":2}},{"code":"contains_overrides","message":"Ana Ruiz is enrolled despite a do-not-contact or duplicate block.","details":{"count":1,"names":["Ana Ruiz"]}},{"code":"job_automation_will_run","message":"Moving people to this stage starts these automations: Notify hiring manager.","details":{"automations":["Notify hiring manager"]}}],"recipients":[{"recipient_id":"a1c3e5f7-2b4d-4f6a-8c0e-1d3f5b7a9c21","person_id":"2f6b9d1e-4a8c-4e3f-b7d2-1c5a9e3b7f40","name":"Sam Patel","email":"sam@gmail.com","status":"ready","issues":[{"code":"enrolled_in_other_campaign","message":"Also in 'Q4 platform engineers' (running).","details":{"campaigns":["Q4 platform engineers"]}}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":"2026-10-19T08:00:00.000Z"},{"recipient_id":"b2d4f6a8-3c5e-4a7b-9d1f-2e4a6c8b0d32","person_id":"6a3e8c2f-9b1d-4f7a-a5c3-8e2b6d4f1a73","name":"Tom Reed","email":"tom@reed.dev","status":"needs_input","issues":[{"code":"missing_variables","message":"Fill in or leave blank: personalization_line.","details":{"variables":["personalization_line"]}}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":null},{"recipient_id":"c3e5a7b9-4d6f-4b8c-ae2a-3f5b7d9c1e43","person_id":"9c4f1a7e-2d8b-4e6c-b3a9-5f1d7c3e8b24","name":"Priya Shah","email":"priya@shah.io","status":"blocked","issues":[{"code":"unsubscribed","message":"Unsubscribed from your emails on 2 Sep 2026."}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":null},{"recipient_id":"d4f6b8ca-5e7a-4c9d-bf3b-4a6c8e0d2f54","person_id":"4e8b2d6f-1a3c-4e9b-8f5d-7c2a6e1b3d95","name":"Mark Chen","email":"mark.chen@gmail.com","status":"needs_input","issues":[{"code":"company_do_not_contact","message":"Works at Globex, which is marked do not contact. Override with a reason to include them.","details":{"companies":["Globex"]}},{"code":"likely_bounce","message":"This email looks risky and may bounce."}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":null},{"recipient_id":"e5a7c9db-6f8b-4dae-8c4d-5b7d9f1e3a65","person_id":"8f6c1d2e-3b5a-4c7e-9d1f-6a8c0e2b4d76","name":"Ana Ruiz","email":"ana.ruiz@gmail.com","status":"ready","issues":[{"code":"previously_in_campaign","message":"Was in this campaign before at ana.ruiz@gmail.com: enrolled 2 Sep 2026, then stopped.","details":{"enrollment_id":"1c3e5a7b-8d9f-4a2c-b4e6-7f9a1c3e5b87","status":"stopped","enrolled_at":"2026-09-02T09:30:00.000Z"}}],"overrides":["company_do_not_contact"],"override_reason":"Their hiring manager asked us to reach out.","enrollment_id":null,"first_email_estimated_at":"2026-10-19T08:00:00.000Z"}],"sample":{"recipient_id":"a1c3e5f7-2b4d-4f6a-8c0e-1d3f5b7a9c21","subject":"Senior Backend Engineer role at Monzo","body_text":"Hi Sam,\n\nYour work scaling payments at Wise stood out. I'm hiring a Senior Backend Engineer at Monzo. Loved your PyCon talk on async Python.\n\nYou can see the role here (https://jobs.stardex.com/acme-talent/senior-backend-engineer-k3f9a2). Open to a chat?\n\nRiya"}}},"examples":{"Example":{"title":"Example","value":{"success":true,"data":{"batch_id":"eb8d2f41-3c7a-4e19-b5d2-7f0a1c9e6b34","status":"ready","version":3,"source":"api","campaign":{"id":"3f9a1c27-8e4b-4d2a-b6f0-7c1e5a9d2b84","name":"Senior Backend Engineer, Monzo"},"sender":{"team_member_id":"7c1e4a9b-3d6f-4b2e-8a5c-9f1d3b7e5a20","name":"Riya Kapoor","from_email":"riya@acmetalent.com"},"job":{"id":"b21d7e4a-5c9f-4e3b-a1d6-8f2c4e7b9a13","title":"Senior Backend Engineer","pipeline_stage_id":"e4a0c3b7-1f5d-4a8e-9b2c-6d3f7a1e5c88","pipeline_stage":"Contacted"},"start":{"mode":"scheduled","at":"2026-10-19T08:00:00.000Z","timezone":"Europe/London"},"created_by":{"type":"api_key","id":"0d4b8f2e-6a1c-4e9b-b3d7-5f2a8c1e4b96","name":"Greenhouse sync"},"created_at":"2026-10-13T11:20:00.000Z","expires_at":"2026-10-14T11:24:10.000Z","started_at":null,"progress":null,"summary":{"total":5,"preparing":0,"ready":2,"needs_input":2,"blocked":1,"excluded":0,"enrolled":0,"rejected_at_start":0},"warnings":[{"code":"adds_to_job_pipeline","message":"2 people will be added to Senior Backend Engineer at Contacted.","details":{"count":2}},{"code":"contains_overrides","message":"Ana Ruiz is enrolled despite a do-not-contact or duplicate block.","details":{"count":1,"names":["Ana Ruiz"]}},{"code":"job_automation_will_run","message":"Moving people to this stage starts these automations: Notify hiring manager.","details":{"automations":["Notify hiring manager"]}}],"recipients":[{"recipient_id":"a1c3e5f7-2b4d-4f6a-8c0e-1d3f5b7a9c21","person_id":"2f6b9d1e-4a8c-4e3f-b7d2-1c5a9e3b7f40","name":"Sam Patel","email":"sam@gmail.com","status":"ready","issues":[{"code":"enrolled_in_other_campaign","message":"Also in 'Q4 platform engineers' (running).","details":{"campaigns":["Q4 platform engineers"]}}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":"2026-10-19T08:00:00.000Z"},{"recipient_id":"b2d4f6a8-3c5e-4a7b-9d1f-2e4a6c8b0d32","person_id":"6a3e8c2f-9b1d-4f7a-a5c3-8e2b6d4f1a73","name":"Tom Reed","email":"tom@reed.dev","status":"needs_input","issues":[{"code":"missing_variables","message":"Fill in or leave blank: personalization_line.","details":{"variables":["personalization_line"]}}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":null},{"recipient_id":"c3e5a7b9-4d6f-4b8c-ae2a-3f5b7d9c1e43","person_id":"9c4f1a7e-2d8b-4e6c-b3a9-5f1d7c3e8b24","name":"Priya Shah","email":"priya@shah.io","status":"blocked","issues":[{"code":"unsubscribed","message":"Unsubscribed from your emails on 2 Sep 2026."}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":null},{"recipient_id":"d4f6b8ca-5e7a-4c9d-bf3b-4a6c8e0d2f54","person_id":"4e8b2d6f-1a3c-4e9b-8f5d-7c2a6e1b3d95","name":"Mark Chen","email":"mark.chen@gmail.com","status":"needs_input","issues":[{"code":"company_do_not_contact","message":"Works at Globex, which is marked do not contact. Override with a reason to include them.","details":{"companies":["Globex"]}},{"code":"likely_bounce","message":"This email looks risky and may bounce."}],"overrides":[],"override_reason":null,"enrollment_id":null,"first_email_estimated_at":null},{"recipient_id":"e5a7c9db-6f8b-4dae-8c4d-5b7d9f1e3a65","person_id":"8f6c1d2e-3b5a-4c7e-9d1f-6a8c0e2b4d76","name":"Ana Ruiz","email":"ana.ruiz@gmail.com","status":"ready","issues":[{"code":"previously_in_campaign","message":"Was in this campaign before at ana.ruiz@gmail.com: enrolled 2 Sep 2026, then stopped.","details":{"enrollment_id":"1c3e5a7b-8d9f-4a2c-b4e6-7f9a1c3e5b87","status":"stopped","enrolled_at":"2026-09-02T09:30:00.000Z"}}],"overrides":["company_do_not_contact"],"override_reason":"Their hiring manager asked us to reach out.","enrollment_id":null,"first_email_estimated_at":"2026-10-19T08:00:00.000Z"}],"sample":{"recipient_id":"a1c3e5f7-2b4d-4f6a-8c0e-1d3f5b7a9c21","subject":"Senior Backend Engineer role at Monzo","body_text":"Hi Sam,\n\nYour work scaling payments at Wise stood out. I'm hiring a Senior Backend Engineer at Monzo. Loved your PyCon talk on async Python.\n\nYou can see the role here (https://jobs.stardex.com/acme-talent/senior-backend-engineer-k3f9a2). Open to a chat?\n\nRiya"}}}}},"exampleType":"examples"}},"exampleType":"examples"},"cd97c05f-dc74-41d8-9a7f-c7c5c16dccfc":{"description":"Validation error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"81b99e34-b462-47b7-a02a-cf091ce33983":{"description":"No access to campaigns, or the API key lacks the permission","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"a216f893-294b-4cfd-8f16-d8156cb70d87":{"description":"Resource not found","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"b40d4e73-1aeb-47dc-a6b8-c68133300fa5":{"description":"The batch is preparing, has started or was discarded, or another change to it landed first (BATCH_PREPARING, BATCH_NOT_EDITABLE, BATCH_VERSION_CHANGED)","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"03afab46-ec6c-4bf0-b5fa-2af79d992455":{"description":"The draft expired 24 hours after its last change (BATCH_EXPIRED)","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"},"3a7848b4-39be-46ab-a126-2c0e51e739cf":{"description":"Internal server error","content":{"application/json":{"schema":{"type":"object","properties":{"success":{"type":"boolean","enum":[false],"description":"Always false for error responses.","isRequired":true,"uniqueKey":"success","typeLabel":"enum\u003cboolean>"},"error":{"type":"object","properties":{"code":{"type":"string","description":"Machine-readable error code (e.g. \"VALIDATION_ERROR\", \"NOT_FOUND\").","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","description":"Human-readable error description.","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"error.details.additionalProperties","typeLabel":"any"},"description":"Extra facts about the error when they help you fix it, such as a limit and when it resets.","uniqueKey":"error.details","typeLabel":"object"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["success","error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"success":false,"error":{"code":"\u003cstring>","message":"\u003cstring>","details":{}}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"5625a650-543e-4dde-bdd4-529bc2359650":{"bearerAuth":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"20e81692-0e88-4037-93ca-f9780d101506":{"url":"https://api.stardex.ai","description":"Production API server"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","bearerFormat":"JWT","description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate with a Bearer token: API key, OAuth token, or session token.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi-v1.json"},"subdomain":"stardex","siteName":"Stardex Help Docs","title":"Add people to a batch - Stardex Help Docs","navMaps":{"firstHrefInVersion":{"v1":{"href":"/api-reference/campaigns/add-people-to-a-batch","matchLevel":0},"v0 (Deprecated)":{"href":"/api-reference/introduction","matchLevel":3}},"firstHrefInLanguage":{}},"lastModified":"2026-10-25T21:56:34.433Z","originalFileLocation":"api-reference/campaigns/add-people-to-a-batch.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=\"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don\u0026#x27;t pass them, the batch is preparing again while they are written. Raises version. If another change to the batch lands first, it returns 409 BATCH_VERSION_CHANGED: read the batch and add them again. Only the API key or person who created the batch can change it. Needs campaigns:enroll.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_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/stardex/joPRbrJhRInrO3yB/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Add people to a batch - Stardex Help Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don\u0026#x27;t pass them, the batch is preparing again while they are written. Raises version. If another change to the batch lands first, it returns 409 BATCH_VERSION_CHANGED: read the batch and add them again. Only the API key or person who created the batch can change it. Needs campaigns:enroll.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://stardex.mintlify.app/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Add+people+to+a+batch\u0026amp;description=Adds+people+to+a+ready+batch%2C+checked+the+same+way+as+at+create.+When+the+campaign+uses+AI+variables+and+you+don%27t+pass+them%2C+the+batch+is+%60preparing%60+again+whi\u0026amp;theme=2ff938ec1d7da32d63cb34ec\u0026amp;signature=6649a3fe47e47e816c1dea32e05f5a6b733091a210fba7806823cde516fc61c2\">\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=\"Add people to a batch - Stardex Help Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don\u0026#x27;t pass them, the batch is preparing again while they are written. Raises version. If another change to the batch lands first, it returns 409 BATCH_VERSION_CHANGED: read the batch and add them again. Only the API key or person who created the batch can change it. Needs campaigns:enroll.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://stardex.mintlify.app/_mintlify/api/og/v2?division=Campaigns\u0026amp;title=Add+people+to+a+batch\u0026amp;description=Adds+people+to+a+ready+batch%2C+checked+the+same+way+as+at+create.+When+the+campaign+uses+AI+variables+and+you+don%27t+pass+them%2C+the+batch+is+%60preparing%60+again+whi\u0026amp;theme=2ff938ec1d7da32d63cb34ec\u0026amp;signature=6649a3fe47e47e816c1dea32e05f5a6b733091a210fba7806823cde516fc61c2\">\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/stardex/joPRbrJhRInrO3yB/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Stardex Help Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5853f7\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/campaigns/add-people-to-a-batch.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.stardex.com/#organization\",\"name\":\"Stardex Help Docs\",\"url\":\"https://docs.stardex.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/stardex/Unebva7RlCeyAgPy/logo/light.svg?fit=max\u0026auto=format\u0026n=Unebva7RlCeyAgPy\u0026q=85\u0026s=6a32bc87265a1562f0ee3793cb4c66e7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.stardex.com#website\",\"name\":\"Stardex Help Docs\",\"url\":\"https://docs.stardex.com\",\"publisher\":{\"@id\":\"https://docs.stardex.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch#webpage\",\"url\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch\",\"name\":\"Add people to a batch\",\"description\":\"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don't pass them, the batch is preparing again while they are written. Raises version. If another change to the batch lands first, it returns 409 BATCH_VERSION_CHANGED: read the batch and add them again. Only the API key or person who created the batch can change it. Needs campaigns:enroll.\",\"dateModified\":\"2026-10-25T21:56:34.433Z\",\"isPartOf\":{\"@id\":\"https://docs.stardex.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Campaigns\",\"item\":\"https://docs.stardex.com/api-reference/campaigns/search-campaigns\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Add people to a batch\",\"item\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch#apireference\",\"headline\":\"Add people to a batch\",\"name\":\"Add people to a batch\",\"description\":\"Adds people to a ready batch, checked the same way as at create. When the campaign uses AI variables and you don't pass them, the batch is preparing again while they are written. Raises version. If another change to the batch lands first, it returns 409 BATCH_VERSION_CHANGED: read the batch and add them again. Only the API key or person who created the batch can change it. Needs campaigns:enroll.\",\"url\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch\",\"mainEntityOfPage\":{\"@id\":\"https://docs.stardex.com/api-reference/campaigns/add-people-to-a-batch#webpage\"},\"dateModified\":\"2026-10-25T21:56:34.433Z\",\"publisher\":{\"@id\":\"https://docs.stardex.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.stardex.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Stardex Help Docs\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Stardex Help Docs","nav":{"global":{"anchors":[{"anchor":"Home page","icon":"book-open-cover","href":"https://www.stardex.com"},{"anchor":"Blog","icon":"newspaper","href":"https://www.stardex.com/blog"}]},"tabs":[{"tab":"Guides","hidden":true,"pages":[{"title":"Guides","href":"/help-center/ai-activity-updates"}]},{"tab":"Help Center","pages":[{"title":"Help Center","href":"/help-center"}]},{"tab":"Changelog","hidden":true,"pages":[{"title":"Changelog","href":"/changelog-stardex"}]},{"tab":"API Reference","versions":[{"version":"v1","groups":[{"group":"API Documentation","pages":[{"title":"Introduction","href":"/api-reference/introduction-v1"},{"title":"Enrolling people in campaigns","href":"/api-reference/campaigns-guide"}]},{"group":"Activity Reports","pages":[{"title":"Generate an activity \u0026 stage-change report","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/activity-reports","href":"/api-reference/activity-reports/generate-an-activity-\u0026-stage-change-report"}]},{"group":"Automations","pages":[{"title":"Search automations","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations/search","href":"/api-reference/automations/search-automations"},{"title":"List automation trigger types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/trigger-types","href":"/api-reference/automations/list-automation-trigger-types"},{"title":"List automation action types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/action-types","href":"/api-reference/automations/list-automation-action-types"},{"title":"List automation run statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/run-statuses","href":"/api-reference/automations/list-automation-run-statuses"},{"title":"Get automation by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/{id}","href":"/api-reference/automations/get-automation-by-id"},{"title":"Archive automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/automations/{id}","href":"/api-reference/automations/archive-automation"},{"title":"Update automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/automations/{id}","href":"/api-reference/automations/update-automation"},{"title":"Create automation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations","href":"/api-reference/automations/create-automation"},{"title":"Search automation runs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/automations/{id}/runs/search","href":"/api-reference/automations/search-automation-runs"},{"title":"Get automation run by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/automations/runs/{runId}","href":"/api-reference/automations/get-automation-run-by-id"}]},{"group":"Calendar Meetings","pages":[{"title":"List calendar meetings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/calendar-meetings","href":"/api-reference/calendar-meetings/list-calendar-meetings"},{"title":"Get calendar meeting by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/calendar-meetings/{id}","href":"/api-reference/calendar-meetings/get-calendar-meeting-by-id"}]},{"group":"Campaigns","pages":[{"title":"Search campaigns","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/search","href":"/api-reference/campaigns/search-campaigns"},{"title":"List campaign types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/types","href":"/api-reference/campaigns/list-campaign-types"},{"title":"List campaign variables","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/variables","href":"/api-reference/campaigns/list-campaign-variables"},{"title":"List sending mailboxes","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/mailboxes","href":"/api-reference/campaigns/list-sending-mailboxes"},{"title":"Get campaign by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}","href":"/api-reference/campaigns/get-campaign-by-id"},{"title":"Update campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}","href":"/api-reference/campaigns/update-campaign"},{"title":"Create campaign","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns","href":"/api-reference/campaigns/create-campaign"},{"title":"Add campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/steps","href":"/api-reference/campaigns/add-campaign-step"},{"title":"Delete campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/campaigns/{id}/steps/{step_id}","href":"/api-reference/campaigns/delete-campaign-step"},{"title":"Update campaign step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/steps/{step_id}","href":"/api-reference/campaigns/update-campaign-step"},{"title":"Reorder campaign steps","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/steps/reorder","href":"/api-reference/campaigns/reorder-campaign-steps"},{"title":"List enrollment status groups","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/enrollment-statuses","href":"/api-reference/campaigns/list-enrollment-status-groups"},{"title":"Prepare an enrollment","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches","href":"/api-reference/campaigns/prepare-an-enrollment"},{"title":"Get an enrollment batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollment-batches/{batch_id}","href":"/api-reference/campaigns/get-an-enrollment-batch"},{"title":"Get one person in a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients/{recipient_id}","href":"/api-reference/campaigns/get-one-person-in-a-batch"},{"title":"Change one person in a batch","description":"Change the email, fill in or leave out variables, override a do-not-contact or duplicate block with a reason, set the final text of their steps, or exclude them. The person is checked again and comes back with their new status. Raises the batch `version`. Changes to different people can be sent at the same time; send all changes to one person in one request, since two at once return `409 BATCH_VERSION_CHANGED`. Only the API key or person who created the batch can change it. Needs `campaigns:enroll`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients/{recipient_id}","href":"/api-reference/campaigns/change-one-person-in-a-batch"},{"title":"Add people to a batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/recipients","href":"/api-reference/campaigns/add-people-to-a-batch"},{"title":"Start an enrollment","description":"Enrolls every `ready` person with exactly the emails stored on the batch. Pass the `version` and `summary.ready` you read, so nothing you haven't seen is sent; if either changed you get `409` and nothing is enrolled. Everyone is checked again: a person who unsubscribed or was enrolled in this campaign by someone else in the meantime is listed in `rejected_at_start` and the rest are enrolled. Calling start again is safe: it returns or finishes the first result with `replayed: true`. To undo a start, stop the batch with `POST /v1/campaigns/{id}/enrollments/stop`. Only the API key or person who created the batch can start it. Needs `campaigns:enroll`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/start","href":"/api-reference/campaigns/start-an-enrollment"},{"title":"Discard an enrollment batch","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollment-batches/{batch_id}/discard","href":"/api-reference/campaigns/discard-an-enrollment-batch"},{"title":"Search enrollees","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollments/search","href":"/api-reference/campaigns/search-enrollees"},{"title":"Get an enrollee","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/campaigns/{id}/enrollments/{enrollment_id}","href":"/api-reference/campaigns/get-an-enrollee"},{"title":"Edit an enrollee's upcoming step","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/campaigns/{id}/enrollments/{enrollment_id}/steps/{step_id}","href":"/api-reference/campaigns/edit-an-enrollees-upcoming-step"},{"title":"Stop enrollees","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/campaigns/{id}/enrollments/stop","href":"/api-reference/campaigns/stop-enrollees"}]},{"group":"Candidates","pages":[{"title":"Update candidate stage","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/candidates/update-stage","href":"/api-reference/candidates/update-candidate-stage"},{"title":"List rejection reasons","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/candidates/rejection-reasons","href":"/api-reference/candidates/list-rejection-reasons"},{"title":"Get candidate by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/candidates/{id}","href":"/api-reference/candidates/get-candidate-by-id"},{"title":"Remove candidate from job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/candidates/{id}","href":"/api-reference/candidates/remove-candidate-from-job"}]},{"group":"Client Contacts","pages":[{"title":"List client contact statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts/statuses","href":"/api-reference/client-contacts/list-client-contact-statuses"},{"title":"List client contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts","href":"/api-reference/client-contacts/list-client-contacts"},{"title":"Create client contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/client-contacts","href":"/api-reference/client-contacts/create-client-contact"},{"title":"Get client contact by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/client-contacts/{id}","href":"/api-reference/client-contacts/get-client-contact-by-id"},{"title":"Update client contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/client-contacts/{id}","href":"/api-reference/client-contacts/update-client-contact"}]},{"group":"Companies","pages":[{"title":"List company client statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/statuses","href":"/api-reference/companies/list-company-client-statuses"},{"title":"Search companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies/search","href":"/api-reference/companies/search-companies"},{"title":"Create or update company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies","href":"/api-reference/companies/create-or-update-company"},{"title":"Get company by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/{id}","href":"/api-reference/companies/get-company-by-id"},{"title":"Update company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/companies/{id}","href":"/api-reference/companies/update-company"},{"title":"List company document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/document-types","href":"/api-reference/companies/list-company-document-types"},{"title":"Get company documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/companies/{id}/documents","href":"/api-reference/companies/get-company-documents"},{"title":"Upload company document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/companies/{id}/documents","href":"/api-reference/companies/upload-company-document"}]},{"group":"Company Activities","pages":[{"title":"List company activity types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities/types","href":"/api-reference/company-activities/list-company-activity-types"},{"title":"List company activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities","href":"/api-reference/company-activities/list-company-activities"},{"title":"Create company activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-activities","href":"/api-reference/company-activities/create-company-activity-note"},{"title":"Get company activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-activities/{id}","href":"/api-reference/company-activities/get-company-activity-by-id"},{"title":"Update company activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/company-activities/{id}","href":"/api-reference/company-activities/update-company-activity-note-by-id"}]},{"group":"Company Insights","pages":[{"title":"List AI-extracted insights for a company","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/company-insights","href":"/api-reference/company-insights/list-ai-extracted-insights-for-a-company"},{"title":"Edit content or dismiss/restore an insight","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/company-insights/{id}","href":"/api-reference/company-insights/edit-content-or-dismissrestore-an-insight"},{"title":"Dismiss multiple insights at once","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-insights/bulk-dismiss","href":"/api-reference/company-insights/dismiss-multiple-insights-at-once"},{"title":"Manually extract insights from an activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/company-insights/trigger","href":"/api-reference/company-insights/manually-extract-insights-from-an-activity"}]},{"group":"Custom Fields","pages":[{"title":"Get person custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/persons","href":"/api-reference/custom-fields/get-person-custom-field-definitions"},{"title":"Get company custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/companies","href":"/api-reference/custom-fields/get-company-custom-field-definitions"},{"title":"Get job custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/jobs","href":"/api-reference/custom-fields/get-job-custom-field-definitions"},{"title":"Get deal custom field definitions","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/custom-fields/deals","href":"/api-reference/custom-fields/get-deal-custom-field-definitions"}]},{"group":"Deal Activities","pages":[{"title":"List deal activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deal-activities","href":"/api-reference/deal-activities/list-deal-activities"},{"title":"Create deal activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deal-activities","href":"/api-reference/deal-activities/create-deal-activity-note"},{"title":"Get deal activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deal-activities/{id}","href":"/api-reference/deal-activities/get-deal-activity-by-id"},{"title":"Update deal activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/deal-activities/{id}","href":"/api-reference/deal-activities/update-deal-activity-note-by-id"}]},{"group":"Deals","pages":[{"title":"List deal statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deals/statuses","href":"/api-reference/deals/list-deal-statuses"},{"title":"Search deals","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deals/search","href":"/api-reference/deals/search-deals"},{"title":"Get deal by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/deals/{id}","href":"/api-reference/deals/get-deal-by-id"},{"title":"Archive deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/deals/{id}","href":"/api-reference/deals/archive-deal"},{"title":"Update deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/deals/{id}","href":"/api-reference/deals/update-deal"},{"title":"Create deal","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/deals","href":"/api-reference/deals/create-deal"}]},{"group":"Job Activities","pages":[{"title":"List job activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-activities","href":"/api-reference/job-activities/list-job-activities"},{"title":"Create job activity (note)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/job-activities","href":"/api-reference/job-activities/create-job-activity-note"},{"title":"Get job activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-activities/{id}","href":"/api-reference/job-activities/get-job-activity-by-id"},{"title":"Update job activity (note) by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/job-activities/{id}","href":"/api-reference/job-activities/update-job-activity-note-by-id"}]},{"group":"Job Offers","pages":[{"title":"List job offer statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-offers/statuses","href":"/api-reference/job-offers/list-job-offer-statuses"},{"title":"List job offers","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/job-offers","href":"/api-reference/job-offers/list-job-offers"}]},{"group":"Jobs","pages":[{"title":"List jobs (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs","href":"/api-reference/jobs/list-jobs-deprecated"},{"title":"Create job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs","href":"/api-reference/jobs/create-job"},{"title":"Search jobs","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/search","href":"/api-reference/jobs/search-jobs"},{"title":"Get job by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}","href":"/api-reference/jobs/get-job-by-id"},{"title":"Update job","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/jobs/{id}","href":"/api-reference/jobs/update-job"},{"title":"List job candidates","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/candidates","href":"/api-reference/jobs/list-job-candidates"},{"title":"List job applicants","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/applicants","href":"/api-reference/jobs/list-job-applicants"},{"title":"List job document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/document-types","href":"/api-reference/jobs/list-job-document-types"},{"title":"Get job documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/{id}/documents","href":"/api-reference/jobs/get-job-documents"},{"title":"Upload job document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/documents","href":"/api-reference/jobs/upload-job-document"},{"title":"Add job target companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/jobs/{id}/target-companies","href":"/api-reference/jobs/add-job-target-companies"},{"title":"Remove job target companies","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/jobs/{id}/target-companies","href":"/api-reference/jobs/remove-job-target-companies"},{"title":"List job team member roles","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/team-member-roles","href":"/api-reference/jobs/list-job-team-member-roles"},{"title":"List job statuses","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/statuses","href":"/api-reference/jobs/list-job-statuses"},{"title":"List pipeline stages","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/jobs/pipeline-stages","href":"/api-reference/jobs/list-pipeline-stages"}]},{"group":"Lists","pages":[{"title":"Search lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists/search","href":"/api-reference/lists/search-lists"},{"title":"Get list by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/lists/{id}","href":"/api-reference/lists/get-list-by-id"},{"title":"Create list","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists","href":"/api-reference/lists/create-list"},{"title":"Add list items","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/lists/{id}/items","href":"/api-reference/lists/add-list-items"},{"title":"Remove list items","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/lists/{id}/items","href":"/api-reference/lists/remove-list-items"}]},{"group":"Meeting Recordings","pages":[{"title":"List meeting recordings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/meeting-recordings","href":"/api-reference/meeting-recordings/list-meeting-recordings"},{"title":"Get meeting recording by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/meeting-recordings/{id}","href":"/api-reference/meeting-recordings/get-meeting-recording-by-id"}]},{"group":"Person Activities","pages":[{"title":"List person activity types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/person-activities/types","href":"/api-reference/person-activities/list-person-activity-types"},{"title":"Create person activity","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/person-activities","href":"/api-reference/person-activities/create-person-activity"},{"title":"Get person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/person-activities/{id}","href":"/api-reference/person-activities/get-person-activity-by-id"},{"title":"Delete person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/person-activities/{id}","href":"/api-reference/person-activities/delete-person-activity-by-id"},{"title":"Update person activity by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/person-activities/{id}","href":"/api-reference/person-activities/update-person-activity-by-id"}]},{"group":"Persons","pages":[{"title":"List person reference types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/reference-types","href":"/api-reference/persons/list-person-reference-types"},{"title":"Create person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/references","href":"/api-reference/persons/create-person-reference"},{"title":"Delete person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/persons/{id}/references/{reference_id}","href":"/api-reference/persons/delete-person-reference"},{"title":"Update person reference","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}/references/{reference_id}","href":"/api-reference/persons/update-person-reference"},{"title":"List persons (deprecated)","deprecated":true,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons","href":"/api-reference/persons/list-persons-deprecated"},{"title":"Create person","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons","href":"/api-reference/persons/create-person"},{"title":"Advanced person search","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/search","href":"/api-reference/persons/advanced-person-search"},{"title":"Get person by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}","href":"/api-reference/persons/get-person-by-id"},{"title":"Update person","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}","href":"/api-reference/persons/update-person"},{"title":"Create person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/compensations","href":"/api-reference/persons/create-person-compensation"},{"title":"Delete person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/persons/{id}/compensations/{compensation_id}","href":"/api-reference/persons/delete-person-compensation"},{"title":"Update person compensation","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/persons/{id}/compensations/{compensation_id}","href":"/api-reference/persons/update-person-compensation"},{"title":"Get unified person activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}/activities","href":"/api-reference/persons/get-unified-person-activities"},{"title":"Get person documents","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/{id}/documents","href":"/api-reference/persons/get-person-documents"},{"title":"Upload person document","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/documents","href":"/api-reference/persons/upload-person-document"},{"title":"List person document types","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/persons/document-types","href":"/api-reference/persons/list-person-document-types"},{"title":"Set preferred email (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/preferred-email","href":"/api-reference/persons/set-preferred-email-bulk"},{"title":"Set preferred phone (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/preferred-phone","href":"/api-reference/persons/set-preferred-phone-bulk"},{"title":"Mark emails as bounced (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/email-bounced","href":"/api-reference/persons/mark-emails-as-bounced-bulk"},{"title":"Remove emails (bulk)","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/emails/delete","href":"/api-reference/persons/remove-emails-bulk"},{"title":"Set preferred email","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/preferred-email","href":"/api-reference/persons/set-preferred-email"},{"title":"Set preferred phone","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/preferred-phone","href":"/api-reference/persons/set-preferred-phone"},{"title":"Enrich person contact details","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/persons/{id}/enrich","href":"/api-reference/persons/enrich-person-contact-details"}]},{"group":"Scorecards","pages":[{"title":"Search scorecard templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecard-templates/search","href":"/api-reference/scorecards/search-scorecard-templates"},{"title":"Get scorecard template by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/get-scorecard-template-by-id"},{"title":"Archive scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/archive-scorecard-template"},{"title":"Update scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/scorecard-templates/{id}","href":"/api-reference/scorecards/update-scorecard-template"},{"title":"Create scorecard template","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecard-templates","href":"/api-reference/scorecards/create-scorecard-template"},{"title":"Search scorecards","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecards/search","href":"/api-reference/scorecards/search-scorecards"},{"title":"Get scorecard by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/scorecards/{id}","href":"/api-reference/scorecards/get-scorecard-by-id"},{"title":"Delete scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/scorecards/{id}","href":"/api-reference/scorecards/delete-scorecard"},{"title":"Update scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/scorecards/{id}","href":"/api-reference/scorecards/update-scorecard"},{"title":"Create scorecard","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/scorecards","href":"/api-reference/scorecards/create-scorecard"}]},{"group":"Tasks","pages":[{"title":"Search tasks","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/tasks/search","href":"/api-reference/tasks/search-tasks"},{"title":"Get task by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/tasks/{id}","href":"/api-reference/tasks/get-task-by-id"},{"title":"Delete task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json delete /v1/tasks/{id}","href":"/api-reference/tasks/delete-task"},{"title":"Update task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/tasks/{id}","href":"/api-reference/tasks/update-task"},{"title":"Create task","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json post /v1/tasks","href":"/api-reference/tasks/create-task"}]},{"group":"Team Capacity","pages":[{"title":"Get the Team Capacity report","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-capacity","href":"/api-reference/team-capacity/get-the-team-capacity-report"},{"title":"Update Team Capacity settings","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json patch /v1/team-capacity/settings","href":"/api-reference/team-capacity/update-team-capacity-settings"}]},{"group":"Team Members","pages":[{"title":"List team members","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-members","href":"/api-reference/team-members/list-team-members"},{"title":"Get team member by ID","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/team-members/{id}","href":"/api-reference/team-members/get-team-member-by-id"}]},{"group":"Webhooks","pages":[{"title":"Get webhook management portal URL","deprecated":null,"version":null,"openapi":"/api-reference/openapi-v1.json get /v1/webhooks/portal","href":"/api-reference/webhooks/get-webhook-management-portal-url"}]}]},{"version":"v0 (Deprecated)","pages":[{"title":"v0 (Deprecated)","href":"/api-reference/introduction"}]}]},{"tab":"Zapier API Reference","hidden":true,"pages":[{"title":"Zapier API Reference","href":"/api-reference/zapier-introduction"}]}]},"title":"Add people to a batch - Stardex Help Docs","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","Page-7TwLLapg.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}