Requires the contacts:write scope (or a broader one that includes it).
Use this endpoint when you need to add or update many contacts in one call — for example when
syncing contacts from another system. Each item requires firstName; the remaining fields are
optional and use the same fields as the contact update model. An item with no firstName is not
imported — it comes back with status “failed” and error “Invalid data”, while the response itself
still has HTTP status 200. Use options to control deduplication, list assignment, and other
import behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn
URL, phone, name, company, or custom fields), whether matched contacts are overwritten or
skipped, whether previously deleted contacts are restored, and which lists or sequence the
imported contacts are added to. With the contactId key, every item must carry a contactId and the
match is made on the id alone. The response reports how many contacts were added, updated,
skipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also
reports whether that contact was enrolled, and the response carries the enrollment totals: a
contact can be imported and still be refused by the sequence, for instance when it is opted
out or already running there.
Array of contact objects to import. Uses the same fields as the contact patch model, plus contactId,
except that firstName is required for every item. An item with no firstName is not imported — it is returned
with status: failed and error: "Invalid data". Supplying only lastName does not satisfy the
requirement. stage sets a stage here but cannot clear one — an omitted or nullstage leaves the
contact's current stage alone. An item naming a stage that does not exist — including an empty or
blank name — is returned with status: failed and an error listing the available names; the rest of
the batch still imports.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Reply API Documentation","colors":{"primary":"#587DFE","light":"#8AA6FF","dark":"#005AFF"},"logo":{"light":"https://mintcdn.com/reply-3e86852c/y2jDsVA40y9FU6Pb/icons/light.svg?fit=max\u0026auto=format\u0026n=y2jDsVA40y9FU6Pb\u0026q=85\u0026s=746cc3943ef9f2eeb767e7b14fcf0e40","dark":"https://mintcdn.com/reply-3e86852c/y2jDsVA40y9FU6Pb/icons/dark.svg?fit=max\u0026auto=format\u0026n=y2jDsVA40y9FU6Pb\u0026q=85\u0026s=e099a7b39dc6bb2ceee72d6602d98846"},"favicon":"https://mintcdn.com/reply-3e86852c/y2jDsVA40y9FU6Pb/icons/favicon.svg?fit=max\u0026auto=format\u0026n=y2jDsVA40y9FU6Pb\u0026q=85\u0026s=7d02fc93c6aa0162060ca3e455effb92","navbar":{"links":[{"href":"https://join.slack.com/t/replyio-api-community/shared_invite/zt-3zcjgphz4-Nj~dXkOUGnOXKN_wBgp5Wg","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://run.reply.io"}},"footer":{"socials":{"x":"https://x.com/ReplyAppTeam","linkedin":"https://www.linkedin.com/company/replynow","facebook":"https://www.facebook.com/reply.io","youtube":"https://www.youtube.com/@ReplyappIopage"}},"seo":{"metatags":{"robots":"index, follow"},"indexing":"all"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"reply-3e86852c","hasAudioNarration":false,"actualSubdomain":"reply-3e86852c","customDomains":["docs.reply.io"],"gitSource":{"type":"github","owner":"reply-team","repo":"api-v3-documentation","deployBranch":"master","contentDirectory":"Mintlify","isPrivate":true,"mountPath":"","label":""},"entitlements":{},"buildId":"6aec67ac22f813687c14a592","clientVersion":"0.0.4087","searchFilterCounts":[{"language":"default","tag":"API Reference","count":465},{"language":"default","tag":"Sequences","count":176},{"language":"default","tag":"Contacts","count":114},{"language":"default","tag":"AI SDR","count":101},{"language":"default","tag":"Knowledge Bases","count":35},{"language":"default","tag":"Outreach \u0026 Reporting","count":31},{"language":"default","tag":"Contact Blacklist Rules","count":21},{"language":"default","tag":"Inbox","count":21},{"language":"default","tag":"Email Accounts","count":19},{"language":"default","tag":"Data","count":17}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","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":"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":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"[data-component-part=\"version-select-trigger\"]>span:first-child::after{content:\"Beta\";display:inline-block;margin-left:0.5rem;padding:0.0625rem 0.4375rem;border-radius:9999px;font-size:0.6875rem;font-weight:500;line-height:1.35;vertical-align:0.0625rem;letter-spacing:0.01em;background-color:rgb(0 0 0 / 0.06);color:rgb(75 85 99)}.dark [data-component-part=\"version-select-trigger\"]>span:first-child::after{background-color:rgb(255 255 255 / 0.1);color:rgb(209 213 219)}span[data-nav-tag=\"NEW\"]{color:rgb(21 128 61);background-color:rgb(34 197 94 / 0.12)}.dark span[data-nav-tag=\"NEW\"]{color:rgb(74 222 128);background-color:rgb(34 197 94 / 0.16)}span[data-nav-tag=\"CS\"]{color:rgb(180 83 9);background-color:rgb(245 158 11 / 0.12)}.dark span[data-nav-tag=\"CS\"]{color:rgb(251 191 36);background-color:rgb(245 158 11 / 0.16)}span[data-nav-tag=\"BREAKING\"]{font-size:0;background-color:rgb(239 68 68 / 0.22)}span[data-nav-tag=\"BREAKING\"]::before{content:\"\";display:inline-block;width:0.95rem;height:0.8125rem;vertical-align:top;background-color:rgb(220 52 0);-webkit-mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 1 3 14h8l-2 9 12-14h-8z'/%3E%3C/svg%3E\") center / contain no-repeat;mask:url(\"data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M14 1 3 14h8l-2 9 12-14h-8z'/%3E%3C/svg%3E\") center / contain no-repeat}.dark span[data-nav-tag=\"BREAKING\"]{background-color:rgb(239 68 68 / 0.3)}.dark span[data-nav-tag=\"BREAKING\"]::before{background-color:rgb(255 112 67)}"}],"page":{"pagePath":"api-reference/contacts/import-contacts","slug":"/api-reference/contacts/import-contacts","pageMetadata":{"title":"Import contacts","description":"\u003csmall>_Requires the `contacts:write` scope (or a broader one that includes it)._\u003c/small>\n\nUse this endpoint when you need to add or update many contacts in one call — for example when\nsyncing contacts from another system. Each item requires firstName; the remaining fields are\noptional and use the same fields as the contact update model. An item with no firstName is not\nimported — it comes back with status \"failed\" and error \"Invalid data\", while the response itself\nstill has HTTP status 200. Use options to control deduplication, list assignment, and other\nimport behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn\nURL, phone, name, company, or custom fields), whether matched contacts are overwritten or\nskipped, whether previously deleted contacts are restored, and which lists or sequence the\nimported contacts are added to. With the contactId key, every item must carry a contactId and the\nmatch is made on the id alone. The response reports how many contacts were added, updated,\nskipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also\nreports whether that contact was enrolled, and the response carries the enrollment totals: a\ncontact can be imported and still be refused by the sequence, for instance when it is opted\nout or already running there.","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/import","href":"/api-reference/contacts/import-contacts","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n em: \"em\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(\"small\", {\n children: _jsxs(_components.em, {\n children: [\"Requires the \", _jsx(_components.code, {\n children: \"contacts:write\"\n }), \" scope (or a broader one that includes it).\"]\n })\n }), \"\\n\", _jsx(_components.p, {\n children: \"Use this endpoint when you need to add or update many contacts in one call — for example when\\nsyncing contacts from another system. Each item requires firstName; the remaining fields are\\noptional and use the same fields as the contact update model. An item with no firstName is not\\nimported — it comes back with status “failed” and error “Invalid data”, while the response itself\\nstill has HTTP status 200. Use options to control deduplication, list assignment, and other\\nimport behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn\\nURL, phone, name, company, or custom fields), whether matched contacts are overwritten or\\nskipped, whether previously deleted contacts are restored, and which lists or sequence the\\nimported contacts are added to. With the contactId key, every item must carry a contactId and the\\nmatch is made on the id alone. The response reports how many contacts were added, updated,\\nskipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also\\nreports whether that contact was enrolled, and the response carries the enrollment totals: a\\ncontact can be imported and still be refused by the sequence, for instance when it is opted\\nout or already running there.\"\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":"Import contacts","description":"\u003csmall>_Requires the `contacts:write` scope (or a broader one that includes it)._\u003c/small>\n\nUse this endpoint when you need to add or update many contacts in one call — for example when\nsyncing contacts from another system. Each item requires firstName; the remaining fields are\noptional and use the same fields as the contact update model. An item with no firstName is not\nimported — it comes back with status \"failed\" and error \"Invalid data\", while the response itself\nstill has HTTP status 200. Use options to control deduplication, list assignment, and other\nimport behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn\nURL, phone, name, company, or custom fields), whether matched contacts are overwritten or\nskipped, whether previously deleted contacts are restored, and which lists or sequence the\nimported contacts are added to. With the contactId key, every item must carry a contactId and the\nmatch is made on the id alone. The response reports how many contacts were added, updated,\nskipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also\nreports whether that contact was enrolled, and the response carries the enrollment totals: a\ncontact can be imported and still be refused by the sequence, for instance when it is opted\nout or already running there.","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/import","href":"/api-reference/contacts/import-contacts","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Contacts"],"operationId":"ImportContacts","summary":"Import contacts","x-required-scope":"contacts:write","description":"\u003csmall>_Requires the `contacts:write` scope (or a broader one that includes it)._\u003c/small>\n\nUse this endpoint when you need to add or update many contacts in one call — for example when\nsyncing contacts from another system. Each item requires firstName; the remaining fields are\noptional and use the same fields as the contact update model. An item with no firstName is not\nimported — it comes back with status \"failed\" and error \"Invalid data\", while the response itself\nstill has HTTP status 200. Use options to control deduplication, list assignment, and other\nimport behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn\nURL, phone, name, company, or custom fields), whether matched contacts are overwritten or\nskipped, whether previously deleted contacts are restored, and which lists or sequence the\nimported contacts are added to. With the contactId key, every item must carry a contactId and the\nmatch is made on the id alone. The response reports how many contacts were added, updated,\nskipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also\nreports whether that contact was enrolled, and the response carries the enrollment totals: a\ncontact can be imported and still be refused by the sequence, for instance when it is opted\nout or already running there.","requestBody":"6aef5ea9-41db-4c64-b2e3-31739ffaac79","responses":{"200":"77eedb1a-e703-413d-a76f-552d5f800e8f","400":"e51bfb91-09c6-468b-be1d-5ce756f7ad9d","401":"32193b61-5a3f-41ca-ba9b-a6efa4924acf","403":"6e67596f-afdf-4331-ae5a-5eaed10d6c96","429":"54d66ad2-42e7-4905-822e-aa9b5fe3533e"},"method":"post","type":"path","servers":["b5714739-e983-43a9-a726-c2fc0bba07f1"],"security":["2a12e6fa-187d-4dee-a177-be14d553ecc0"],"path":"/v3/contacts/import","baseUrlOptions":["https://api.reply.io"],"title":"Import contacts","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","title":"Contacts Import Request","description":"Import contacts by providing an array of contact objects with optional import settings","required":["items"],"properties":{"items":{"type":"array","minItems":1,"description":"Array of contact objects to import. Uses the same fields as the contact patch model, plus `contactId`,\nexcept that `firstName` is required for every item. An item with no `firstName` is not imported — it is returned\nwith `status: failed` and `error: \"Invalid data\"`. Supplying only `lastName` does not satisfy the\nrequirement. `stage` sets a stage here but cannot clear one — an omitted or `null` `stage` leaves the\ncontact's current stage alone. An item naming a stage that does not exist — including an empty or\nblank name — is returned with `status: failed` and an error listing the available names; the rest of\nthe batch still imports.","items":{"type":"object","title":"Contact Patch Request","description":"Request model for updating an existing contact.\nAll fields are optional — only include the fields you want to change (PATCH semantics).","required":["firstName"],"example":{"firstName":"Jane","company":"New Company Inc","stage":"Interested","ownerUserId":55,"customFields":[{"id":1,"value":"Updated Value"},{"name":"leadSource","value":"Referral"}]},"properties":{"firstName":{"type":"string","description":"First name","isRequired":true,"uniqueKey":"\\items.items.[INDEX].firstName","typeLabel":"string"},"email":{"type":"string","format":"email","description":"Primary email address","uniqueKey":"\\items.items.[INDEX].email","typeLabel":"string\u003cemail>"},"lastName":{"type":"string","description":"Last name","uniqueKey":"\\items.items.[INDEX].lastName","typeLabel":"string"},"phone":{"type":"string","description":"Phone number","uniqueKey":"\\items.items.[INDEX].phone","typeLabel":"string"},"phone2":{"type":"string","description":"Secondary phone number","uniqueKey":"\\items.items.[INDEX].phone2","typeLabel":"string"},"title":{"type":"string","description":"Job title","uniqueKey":"\\items.items.[INDEX].title","typeLabel":"string"},"company":{"type":"string","description":"Organization name","uniqueKey":"\\items.items.[INDEX].company","typeLabel":"string"},"companySize":{"type":"string","enum":["Empty","Self-Employed","2-10","11-50","51-200","201-500","501-1000","1001-5000","5001-10000","10001+"],"description":"Organization employee count range","uniqueKey":"\\items.items.[INDEX].companySize","typeLabel":"enum\u003cstring>"},"industry":{"type":"string","description":"Business sector","uniqueKey":"\\items.items.[INDEX].industry","typeLabel":"string"},"city":{"type":"string","description":"City of residence","uniqueKey":"\\items.items.[INDEX].city","typeLabel":"string"},"state":{"type":"string","description":"State/province","uniqueKey":"\\items.items.[INDEX].state","typeLabel":"string"},"country":{"type":"string","description":"Country","uniqueKey":"\\items.items.[INDEX].country","typeLabel":"string"},"timeZoneId":{"type":"string","description":"Timezone identifier","uniqueKey":"\\items.items.[INDEX].timeZoneId","typeLabel":"string"},"linkedInUrl":{"type":"string","format":"uri","description":"LinkedIn profile URL","uniqueKey":"\\items.items.[INDEX].linkedInUrl","typeLabel":"string\u003curi>"},"linkedInSalesNavigatorUrl":{"type":"string","format":"uri","description":"Sales Navigator URL","uniqueKey":"\\items.items.[INDEX].linkedInSalesNavigatorUrl","typeLabel":"string\u003curi>"},"linkedInRecruiterUrl":{"type":"string","format":"uri","description":"Recruiter URL","uniqueKey":"\\items.items.[INDEX].linkedInRecruiterUrl","typeLabel":"string\u003curi>"},"notes":{"type":"string","description":"Additional information","uniqueKey":"\\items.items.[INDEX].notes","typeLabel":"string"},"isOptedOut":{"oneOf":[{"type":"boolean","description":"Set or clear the contact's opted-out flag (suppresses all communications when `true`).","uniqueKey":"\\items.items.[INDEX].isOptedOut.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Set or clear the contact's opted-out flag (suppresses all communications when `true`).","uniqueKey":"\\items.items.[INDEX].isOptedOut.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].isOptedOut","typeLabel":"boolean | null"},"callStatus":{"oneOf":[{"type":"string","title":"Contact Call Status","description":"Contact-level call status. Pass `none` to clear.","enum":["none","toCall","called"],"uniqueKey":"\\items.items.[INDEX].callStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"\\items.items.[INDEX].callStatus.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].callStatus","typeLabel":"enum\u003cstring> | null"},"meetingStatus":{"oneOf":[{"type":"string","title":"Contact Meeting Status","description":"Contact-level meeting status. Pass `none` to clear.","enum":["none","meetingBooked"],"uniqueKey":"\\items.items.[INDEX].meetingStatus.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"\\items.items.[INDEX].meetingStatus.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].meetingStatus","typeLabel":"enum\u003cstring> | null"},"stage":{"oneOf":[{"type":"string","description":"Move the contact to this stage, named as the team has it configured. Matching ignores case and separators, so `Not interested`, `notInterested` and `not-interested` all select the same stage. Pass `null` to clear the stage; `null` is the only value that clears it. A name matching no stage — including an empty or blank one — fails the request with `400` and lists the names that are available.","uniqueKey":"\\items.items.[INDEX].stage.oneOf.0","typeLabel":"string"},{"type":"null","description":"Move the contact to this stage, named as the team has it configured. Matching ignores case and separators, so `Not interested`, `notInterested` and `not-interested` all select the same stage. Pass `null` to clear the stage; `null` is the only value that clears it. A name matching no stage — including an empty or blank one — fails the request with `400` and lists the names that are available.","uniqueKey":"\\items.items.[INDEX].stage.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].stage","typeLabel":"string | null"},"ownerUserId":{"oneOf":[{"type":"integer","description":"Change the owner of this contact. The new owner must be a member of the caller's team; otherwise the request fails with `404`.","uniqueKey":"\\items.items.[INDEX].ownerUserId.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Change the owner of this contact. The new owner must be a member of the caller's team; otherwise the request fails with `404`.","uniqueKey":"\\items.items.[INDEX].ownerUserId.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].ownerUserId","typeLabel":"integer | null"},"accountId":{"oneOf":[{"type":"integer","description":"ID of the contact account to link this contact to","uniqueKey":"\\items.items.[INDEX].accountId.oneOf.0","typeLabel":"integer"},{"type":"null","description":"ID of the contact account to link this contact to","uniqueKey":"\\items.items.[INDEX].accountId.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].accountId","typeLabel":"integer | null"},"customFields":{"type":"array","description":"Custom fields to update. Fields can be identified by `id` or `name`.\nUnlike the response model which uses `key`/`value`, the patch model accepts `id`, `name`, and `value`.","items":{"type":"object","properties":{"id":{"oneOf":[{"type":"integer","description":"Custom field ID","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Custom field ID","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].id","typeLabel":"integer | null"},"name":{"oneOf":[{"type":"string","description":"Custom field name (alternative to id)","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Custom field name (alternative to id)","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].name.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].name","typeLabel":"string | null"},"value":{"oneOf":[{"type":"string","description":"Field content","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.0","typeLabel":"string"},{"type":"null","description":"Field content","uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX].value","typeLabel":"string | null"}},"uniqueKey":"\\items.items.[INDEX].customFields.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items.items.[INDEX].customFields","typeLabel":"object[]"},"contactId":{"oneOf":[{"type":"integer","description":"Reply contact id of the contact this item should update. Required on every item when\n`options.keys.contactId` is enabled, and ignored otherwise. An id that does not resolve\ninside your team is imported as a new contact.","uniqueKey":"\\items.items.[INDEX].contactId.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Reply contact id of the contact this item should update. Required on every item when\n`options.keys.contactId` is enabled, and ignored otherwise. An id that does not resolve\ninside your team is imported as a new contact.","uniqueKey":"\\items.items.[INDEX].contactId.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].contactId","typeLabel":"integer | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"Contact Patch Request · object"},"isRequired":true,"uniqueKey":"\\items","typeLabel":"Contact Patch Request · object[]"},"options":{"type":"object","description":"Import settings","properties":{"overwriteExisting":{"type":"boolean","default":false,"description":"Whether to overwrite existing contacts that match","uniqueKey":"options.overwriteExisting","typeLabel":"boolean"},"skipExisting":{"type":"boolean","default":false,"description":"Whether to skip existing contacts that match","uniqueKey":"options.skipExisting","typeLabel":"boolean"},"skipWithoutEmails":{"type":"boolean","default":false,"description":"Whether to skip contacts that have no email address","uniqueKey":"options.skipWithoutEmails","typeLabel":"boolean"},"detectTimeZone":{"type":"boolean","default":false,"description":"Whether to auto-detect timezone based on location data","uniqueKey":"options.detectTimeZone","typeLabel":"boolean"},"restoreDeleted":{"type":"boolean","default":false,"description":"Whether to restore previously deleted contacts","uniqueKey":"options.restoreDeleted","typeLabel":"boolean"},"listIds":{"type":"array","items":{"type":"integer","uniqueKey":"options.listIds.items.[INDEX]","typeLabel":"integer"},"description":"List IDs to add imported contacts to","uniqueKey":"options.listIds","typeLabel":"integer[]"},"sequenceId":{"oneOf":[{"type":"integer","description":"Sequence ID to enroll imported contacts in. Enrollment is reported separately from the\nimport itself: see `items[].enrollment` and the `enrollment` totals in the response.","uniqueKey":"options.sequenceId.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Sequence ID to enroll imported contacts in. Enrollment is reported separately from the\nimport itself: see `items[].enrollment` and the `enrollment` totals in the response.","uniqueKey":"options.sequenceId.oneOf.1","typeLabel":"null"}],"uniqueKey":"options.sequenceId","typeLabel":"integer | null"},"keys":{"type":"object","description":"Deduplication keys — fields used to identify existing contacts.\nBy default, email is the primary key. Enable additional keys for multi-field matching.","properties":{"contactId":{"type":"boolean","default":false,"description":"Use the Reply contact id as the deduplication key. Every item must then carry `contactId`.\nThis key is not additive: when it is enabled it decides the match on its own and the other\nkeys are not consulted.","uniqueKey":"options.keys.contactId","typeLabel":"boolean"},"linkedInUrl":{"type":"boolean","default":false,"description":"Use LinkedIn URL as a deduplication key","uniqueKey":"options.keys.linkedInUrl","typeLabel":"boolean"},"phone":{"type":"boolean","default":false,"description":"Use phone number as a deduplication key","uniqueKey":"options.keys.phone","typeLabel":"boolean"},"firstName":{"type":"boolean","default":false,"description":"Use first name as a deduplication key","uniqueKey":"options.keys.firstName","typeLabel":"boolean"},"lastName":{"type":"boolean","default":false,"description":"Use last name as a deduplication key","uniqueKey":"options.keys.lastName","typeLabel":"boolean"},"company":{"type":"boolean","default":false,"description":"Use company name as a deduplication key","uniqueKey":"options.keys.company","typeLabel":"boolean"},"customFieldIds":{"type":"array","items":{"type":"integer","uniqueKey":"options.keys.customFieldIds.items.[INDEX]","typeLabel":"integer"},"description":"Custom field IDs to use as deduplication keys","uniqueKey":"options.keys.customFieldIds","typeLabel":"integer[]"}},"uniqueKey":"options.keys","typeLabel":"object"}},"uniqueKey":"options","typeLabel":"object"}},"example":{"items":[{"email":"john@example.com","firstName":"John","lastName":"Doe","company":"Acme"},{"email":"jane@example.com","firstName":"Jane","lastName":"Smith","company":"Globex"}],"options":{"overwriteExisting":false,"skipExisting":true,"detectTimeZone":true,"listIds":[10,20]}},"uniqueKey":"","typeLabel":"Contacts Import Request · object"},"examples":{"Example":{"title":"Example","value":{"items":[{"email":"john@example.com","firstName":"John","lastName":"Doe","company":"Acme"},{"email":"jane@example.com","firstName":"Jane","lastName":"Smith","company":"Globex"}],"options":{"overwriteExisting":false,"skipExisting":true,"detectTimeZone":true,"listIds":[10,20]}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"77eedb1a-e703-413d-a76f-552d5f800e8f":{"description":"Contacts import processed successfully","content":{"application/json":{"schema":{"type":"object","title":"Contacts Import Response","description":"Summary of a processed contacts import request with per-item results","properties":{"items":{"type":"array","description":"Per-item result for each contact in the import request (same order as input)","items":{"type":"object","properties":{"id":{"oneOf":[{"type":"integer","description":"Contact ID (null if the contact was not created/found)","uniqueKey":"\\items.items.[INDEX].id.oneOf.0","typeLabel":"integer"},{"type":"null","description":"Contact ID (null if the contact was not created/found)","uniqueKey":"\\items.items.[INDEX].id.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].id","typeLabel":"integer | null"},"status":{"type":"string","enum":["created","updated","skipped","failed","restored"],"description":"Result status for this item","uniqueKey":"\\items.items.[INDEX].status","typeLabel":"enum\u003cstring>"},"error":{"oneOf":[{"type":"string","description":"Error message if the item failed, otherwise `null`. One of:\n`\"Invalid data\"` (the item has no `firstName`, or its email is malformed),\n`\"Wrong field format\"` (a custom field value does not match the field's format),\n`\"Not processed\"`, or a message naming an unrecognized `timeZoneId`.","uniqueKey":"\\items.items.[INDEX].error.oneOf.0","typeLabel":"string"},{"type":"null","description":"Error message if the item failed, otherwise `null`. One of:\n`\"Invalid data\"` (the item has no `firstName`, or its email is malformed),\n`\"Wrong field format\"` (a custom field value does not match the field's format),\n`\"Not processed\"`, or a message naming an unrecognized `timeZoneId`.","uniqueKey":"\\items.items.[INDEX].error.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].error","typeLabel":"string | null"},"enrollment":{"oneOf":[{"type":"object","title":"Contact Enrollment Result","description":"Whether this contact was enrolled into `options.sequenceId`, reported separately from the\nimport `status` above. `null` when the request carried no `options.sequenceId`.","properties":{"status":{"type":"string","enum":["enrolled","notEnrolled"],"description":"Whether the contact is now running in the sequence.","uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.status","typeLabel":"enum\u003cstring>"},"error":{"oneOf":[{"type":"string","enum":["invalidInput","sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"`null` when the contact was enrolled. `invalidInput` when the sequence refused this particular\ncontact — `reason` then tells the refusals apart. Any other value names a failure that stopped\nthe enrollment for every contact of the request, in which case no contact carries a `reason`.","uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.error.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["invalidInput","sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"`null` when the contact was enrolled. `invalidInput` when the sequence refused this particular\ncontact — `reason` then tells the refusals apart. Any other value names a failure that stopped\nthe enrollment for every contact of the request, in which case no contact carries a `reason`.","uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.error.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.error","typeLabel":"enum\u003cstring> | null"},"errorDetails":{"oneOf":[{"type":"string","description":"Readable statement of the same outcome, for surfacing to a person. Its wording can change;\nbranch on `error` and `reason`.","uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.errorDetails.oneOf.0","typeLabel":"string"},{"type":"null","description":"Readable statement of the same outcome, for surfacing to a person. Its wording can change;\nbranch on `error` and `reason`.","uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.errorDetails.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.errorDetails","typeLabel":"string | null"},"reason":{"oneOf":[{"type":"string","title":"Sequence Contact Skip Reason","description":"Stable code naming why the sequence refused this contact. `null` when the enrollment never ran.","enum":["contactOptedOut","contactNotFound","contactAlreadyInSequence","skippedByOwner","stepNotReachable","batchLimitExceeded","reEnrollmentBouncedOnPreviousPass","reEnrollmentInCooldown","reEnrollmentBlacklisted","unknown"],"uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.reason.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.reason.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0.reason","typeLabel":"enum\u003cstring> | null"}},"uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.0","typeLabel":"Contact Enrollment Result · object"},{"type":"null","title":"Contact Enrollment Result","description":"Whether this contact was enrolled into `options.sequenceId`, reported separately from the\nimport `status` above. `null` when the request carried no `options.sequenceId`.","properties":{"status":{"type":"string","enum":["enrolled","notEnrolled"],"description":"Whether the contact is now running in the sequence."},"error":{"oneOf":[{"type":"string","enum":["invalidInput","sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"`null` when the contact was enrolled. `invalidInput` when the sequence refused this particular\ncontact — `reason` then tells the refusals apart. Any other value names a failure that stopped\nthe enrollment for every contact of the request, in which case no contact carries a `reason`."},{"type":"null","enum":["invalidInput","sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"`null` when the contact was enrolled. `invalidInput` when the sequence refused this particular\ncontact — `reason` then tells the refusals apart. Any other value names a failure that stopped\nthe enrollment for every contact of the request, in which case no contact carries a `reason`."}]},"errorDetails":{"oneOf":[{"type":"string","description":"Readable statement of the same outcome, for surfacing to a person. Its wording can change;\nbranch on `error` and `reason`."},{"type":"null","description":"Readable statement of the same outcome, for surfacing to a person. Its wording can change;\nbranch on `error` and `reason`."}]},"reason":{"oneOf":[{"type":"string","title":"Sequence Contact Skip Reason","description":"Stable code naming why the sequence refused this contact. `null` when the enrollment never ran.","enum":["contactOptedOut","contactNotFound","contactAlreadyInSequence","skippedByOwner","stepNotReachable","batchLimitExceeded","reEnrollmentBouncedOnPreviousPass","reEnrollmentInCooldown","reEnrollmentBlacklisted","unknown"]},{"type":"null"}]}},"uniqueKey":"\\items.items.[INDEX].enrollment.oneOf.1","typeLabel":"null"}],"uniqueKey":"\\items.items.[INDEX].enrollment","typeLabel":"Contact Enrollment Result · object | null"}},"uniqueKey":"\\items.items.[INDEX]","typeLabel":"object"},"uniqueKey":"\\items","typeLabel":"object[]"},"enrollment":{"oneOf":[{"type":"object","title":"Contact Import Enrollment Summary","description":"Enrollment totals. `null` when the request carried no `options.sequenceId`.","properties":{"enrolled":{"type":"integer","description":"Number of imported contacts now running in the sequence.","uniqueKey":"enrollment.oneOf.0.enrolled","typeLabel":"integer"},"notEnrolled":{"type":"integer","description":"Number of imported contacts the sequence did not take.","uniqueKey":"enrollment.oneOf.0.notEnrolled","typeLabel":"integer"},"notEnrolledByReason":{"type":"array","description":"How many contacts each refusal reason accounts for. Covers every contact counted in\n`notEnrolled`, unless `error` is set — the enrollment never ran then, so no contact has a\nreason of its own and this list is empty.","items":{"type":"object","title":"Sequence Contact Not Processed Reason Group","description":"How many contacts a single reason accounts for, so a large batch can be reported without walking\nevery entry of `notProcessed`.","properties":{"reason":{"type":"string","title":"Sequence Contact Skip Reason","description":"The reason this group counts.","enum":["contactOptedOut","contactNotFound","contactAlreadyInSequence","skippedByOwner","stepNotReachable","batchLimitExceeded","reEnrollmentBouncedOnPreviousPass","reEnrollmentInCooldown","reEnrollmentBlacklisted","unknown"],"uniqueKey":"enrollment.oneOf.0.notEnrolledByReason.items.[INDEX].reason","typeLabel":"enum\u003cstring>"},"count":{"type":"integer","description":"Number of contacts refused for this reason.","uniqueKey":"enrollment.oneOf.0.notEnrolledByReason.items.[INDEX].count","typeLabel":"integer"}},"uniqueKey":"enrollment.oneOf.0.notEnrolledByReason.items.[INDEX]","typeLabel":"Sequence Contact Not Processed Reason Group · object"},"uniqueKey":"enrollment.oneOf.0.notEnrolledByReason","typeLabel":"Sequence Contact Not Processed Reason Group · object[]"},"error":{"oneOf":[{"type":"string","enum":["sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"Set only when the enrollment never ran, which leaves every imported contact out of the\nsequence. The contacts themselves are still imported, and their items report it individually.","uniqueKey":"enrollment.oneOf.0.error.oneOf.0","typeLabel":"enum\u003cstring>"},{"type":"null","enum":["sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"Set only when the enrollment never ran, which leaves every imported contact out of the\nsequence. The contacts themselves are still imported, and their items report it individually.","uniqueKey":"enrollment.oneOf.0.error.oneOf.1","typeLabel":"null"}],"uniqueKey":"enrollment.oneOf.0.error","typeLabel":"enum\u003cstring> | null"},"errorDetails":{"oneOf":[{"type":"string","description":"Readable statement of the same failure. Its wording can change; branch on `error`.","uniqueKey":"enrollment.oneOf.0.errorDetails.oneOf.0","typeLabel":"string"},{"type":"null","description":"Readable statement of the same failure. Its wording can change; branch on `error`.","uniqueKey":"enrollment.oneOf.0.errorDetails.oneOf.1","typeLabel":"null"}],"uniqueKey":"enrollment.oneOf.0.errorDetails","typeLabel":"string | null"}},"uniqueKey":"enrollment.oneOf.0","typeLabel":"Contact Import Enrollment Summary · object"},{"type":"null","title":"Contact Import Enrollment Summary","description":"Enrollment totals. `null` when the request carried no `options.sequenceId`.","properties":{"enrolled":{"type":"integer","description":"Number of imported contacts now running in the sequence."},"notEnrolled":{"type":"integer","description":"Number of imported contacts the sequence did not take."},"notEnrolledByReason":{"type":"array","description":"How many contacts each refusal reason accounts for. Covers every contact counted in\n`notEnrolled`, unless `error` is set — the enrollment never ran then, so no contact has a\nreason of its own and this list is empty.","items":{"type":"object","title":"Sequence Contact Not Processed Reason Group","description":"How many contacts a single reason accounts for, so a large batch can be reported without walking\nevery entry of `notProcessed`.","properties":{"reason":{"type":"string","title":"Sequence Contact Skip Reason","description":"The reason this group counts.","enum":["contactOptedOut","contactNotFound","contactAlreadyInSequence","skippedByOwner","stepNotReachable","batchLimitExceeded","reEnrollmentBouncedOnPreviousPass","reEnrollmentInCooldown","reEnrollmentBlacklisted","unknown"]},"count":{"type":"integer","description":"Number of contacts refused for this reason."}}}},"error":{"oneOf":[{"type":"string","enum":["sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"Set only when the enrollment never ran, which leaves every imported contact out of the\nsequence. The contacts themselves are still imported, and their items report it individually."},{"type":"null","enum":["sequenceNotFound","noStepsInSequence","forbidden","internalError"],"description":"Set only when the enrollment never ran, which leaves every imported contact out of the\nsequence. The contacts themselves are still imported, and their items report it individually."}]},"errorDetails":{"oneOf":[{"type":"string","description":"Readable statement of the same failure. Its wording can change; branch on `error`."},{"type":"null","description":"Readable statement of the same failure. Its wording can change; branch on `error`."}]}},"uniqueKey":"enrollment.oneOf.1","typeLabel":"null"}],"uniqueKey":"enrollment","typeLabel":"Contact Import Enrollment Summary · object | null"},"added":{"type":"integer","description":"Number of contacts created","uniqueKey":"added","typeLabel":"integer"},"updated":{"type":"integer","description":"Number of contacts updated","uniqueKey":"updated","typeLabel":"integer"},"skipped":{"type":"integer","description":"Number of contacts skipped","uniqueKey":"skipped","typeLabel":"integer"},"failed":{"type":"integer","description":"Number of contacts that failed","uniqueKey":"failed","typeLabel":"integer"}},"example":{"items":[{"id":12345,"status":"created","error":null,"enrollment":{"status":"enrolled"}},{"id":12346,"status":"updated","error":null,"enrollment":{"status":"notEnrolled","error":"invalidInput","errorDetails":"Contact is opted out","reason":"contactOptedOut"}},{"id":null,"status":"failed","error":"Invalid data","enrollment":null}],"enrollment":{"enrolled":1,"notEnrolled":1,"notEnrolledByReason":[{"reason":"contactOptedOut","count":1}]},"added":1,"updated":1,"skipped":0,"failed":1},"uniqueKey":"","typeLabel":"Contacts Import Response · object"},"examples":{"Example":{"title":"Example","value":{"items":[{"id":12345,"status":"created","error":null,"enrollment":{"status":"enrolled"}},{"id":12346,"status":"updated","error":null,"enrollment":{"status":"notEnrolled","error":"invalidInput","errorDetails":"Contact is opted out","reason":"contactOptedOut"}},{"id":null,"status":"failed","error":"Invalid data","enrollment":null}],"enrollment":{"enrolled":1,"notEnrolled":1,"notEnrolledByReason":[{"reason":"contactOptedOut","count":1}]},"added":1,"updated":1,"skipped":0,"failed":1}}},"exampleType":"generated"}},"exampleType":"generated"},"e51bfb91-09c6-468b-be1d-5ce756f7ad9d":{"description":"Validation failure on the request body, or a business rule rejection\n(e.g. import limit exceeded).","content":{"application/problem+json":{"schema":{"oneOf":[{"type":"object","title":"Validation Problem","description":"Input-validation error response at 400. Returned when the request body\nfails binding, FluentValidator rules, or when route/query parameter\nattribute validation (`[Range]`, `[Required]`) fails. Route, query, and\nbody errors are combined into a single `errors[]` array — clients should\nnot assume one error per request.","example":{"title":"Validation failed","status":400,"detail":"The request body contains validation errors.","errors":[{"pointer":"/name","detail":"Field is required."}]},"properties":{"title":{"type":"string","description":"Short, human-readable summary of the problem.","uniqueKey":"oneOf.0.title","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code.","minimum":100,"maximum":599,"uniqueKey":"oneOf.0.status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence.","uniqueKey":"oneOf.0.detail","typeLabel":"string"},"errors":{"type":"array","description":"List of field-level validation errors. Always non-empty when this\nenvelope is returned. Each entry pins a single offending field\nvia JSON Pointer plus a sanitized detail string.","items":{"type":"object","title":"Validation Error","description":"A single field-level validation error.","properties":{"pointer":{"type":"string","description":"JSON Pointer (RFC 6901) to the offending field — e.g.\n`/steps/0/subject`.\n\n* An empty string (`\"\"`) means the error applies to the whole\n request body (e.g. body is missing or unparseable).\n* For route or query parameter failures the pointer is the parameter\n name (e.g. `id`, `top`).","example":"/steps/0/subject","uniqueKey":"oneOf.0.errors.items.[INDEX].pointer","typeLabel":"string"},"detail":{"type":"string","description":"Sanitized, human-readable explanation of this field's error. One of a\nsmall set of templates — `\"Field is required.\"`, `\"Value has an\ninvalid type.\"`, `\"Value has an invalid format.\"`, `\"Request body is\nnot valid JSON.\"`, `\"The request body is required and cannot be\nempty.\"` — or a FluentValidator message on body endpoints.","example":"Field is required.","uniqueKey":"oneOf.0.errors.items.[INDEX].detail","typeLabel":"string"}},"uniqueKey":"oneOf.0.errors.items.[INDEX]","typeLabel":"Validation Error · object"},"uniqueKey":"oneOf.0.errors","typeLabel":"Validation Error · object[]"}},"uniqueKey":"oneOf.0","typeLabel":"Validation Problem · object"},{"type":"object","title":"Business Problem","description":"Domain error response carrying a stable, namespaced error slug.\nEmitted for most 4xx responses (business 400, 403, 404, 409, …) and\nfor 503 when a downstream dependency is unavailable.","example":{"title":"Bad Request","status":400,"detail":"Pagination parameters are invalid.","code":"sequence.invalidPagination"},"properties":{"title":{"type":"string","description":"Short, human-readable summary of the problem.","uniqueKey":"oneOf.1.title","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code.","minimum":100,"maximum":599,"uniqueKey":"oneOf.1.status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence.","uniqueKey":"oneOf.1.detail","typeLabel":"string"},"code":{"type":"string","description":"Stable, machine-readable error slug in the form\n`\"\u003cresource>.\u003cvariant>\"`.\n\n* `resource` is the camelCased domain — e.g. `sequence`,\n `contact`, `inboxThread`, `blacklistDomainRule`.\n* `variant` is the camelCased specific failure mode — e.g.\n `notFound`, `forbidden`, `duplicateName`, `globalRuleReadOnly`.\n\nUse `code` for programmatic error handling; use `detail` for\nuser-facing messages. Slugs are stable across server-side enum\nreorderings and never change meaning under a given resource.","pattern":"^[a-z][a-zA-Z0-9]*(\\.[a-z][a-zA-Z0-9]*)+$","example":"sequence.notFound","uniqueKey":"oneOf.1.code","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"Business Problem · object"}],"uniqueKey":"","typeLabel":"Validation Problem · object | Business Problem · object"},"examples":{"validation_failed":{"title":"validation_failed","value":{"title":"Validation failed","status":400,"detail":"The request body contains validation errors.","errors":[{"pointer":"/items","detail":"'items' must not be empty."}]}},"business_limit_exceeded":{"title":"business_limit_exceeded","value":{"title":"Bad Request","status":400,"detail":"Maximum 1000 items per import request.","code":"contact.limitExceeded"}}},"exampleType":"examples"}},"exampleType":"examples"},"32193b61-5a3f-41ca-ba9b-a6efa4924acf":{"description":"Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.","content":{"application/problem+json":{"schema":{"type":"object","title":"Problem Details","description":"Bare RFC 9457 problem-details envelope. Returned by middleware-level errors\nthat don't carry domain context: 401 Unauthorized (auth middleware),\n429 Too Many Requests (rate-limit middleware), and route-level 404 / 405 /\n415 (framework middleware).\n\nBusiness and validation responses extend this envelope and add additional\nfields — see `business-problem.model.yaml` (adds `code` slug) and\n`validation-problem.model.yaml` (adds `errors[]` array).","example":{"title":"Unauthorized","status":401,"detail":"Authentication credentials are missing or invalid."},"properties":{"title":{"type":"string","description":"Short, human-readable summary of the problem.","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code.","minimum":100,"maximum":599,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence.","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"Problem Details · object"},"examples":{"Example":{"title":"Example","value":{"title":"Unauthorized","status":401,"detail":"Authentication credentials are missing or invalid."}}},"exampleType":"generated"}},"exampleType":"generated"},"6e67596f-afdf-4331-ae5a-5eaed10d6c96":{"description":"User lacks required feature scope to import contacts","content":{"application/problem+json":{"schema":{"type":"object","title":"Business Problem","description":"Domain error response carrying a stable, namespaced error slug.\nEmitted for most 4xx responses (business 400, 403, 404, 409, …) and\nfor 503 when a downstream dependency is unavailable.","example":{"title":"Forbidden","status":403,"detail":"You do not have permission to access this resource.","code":"sequence.forbidden"},"properties":{"title":{"type":"string","description":"Short, human-readable summary of the problem.","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code.","minimum":100,"maximum":599,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence.","uniqueKey":"detail","typeLabel":"string"},"code":{"type":"string","description":"Stable, machine-readable error slug in the form\n`\"\u003cresource>.\u003cvariant>\"`.\n\n* `resource` is the camelCased domain — e.g. `sequence`,\n `contact`, `inboxThread`, `blacklistDomainRule`.\n* `variant` is the camelCased specific failure mode — e.g.\n `notFound`, `forbidden`, `duplicateName`, `globalRuleReadOnly`.\n\nUse `code` for programmatic error handling; use `detail` for\nuser-facing messages. Slugs are stable across server-side enum\nreorderings and never change meaning under a given resource.","pattern":"^[a-z][a-zA-Z0-9]*(\\.[a-z][a-zA-Z0-9]*)+$","example":"sequence.notFound","uniqueKey":"code","typeLabel":"string"}},"uniqueKey":"","typeLabel":"Business Problem · object"},"example":{"title":"Forbidden","status":403,"detail":"Feature scopes [AddProspect] are denied for userId 123.","code":"contact.forbidden"},"examples":{"Example":{"title":"Example","value":{"title":"Forbidden","status":403,"detail":"Feature scopes [AddProspect] are denied for userId 123.","code":"contact.forbidden"}}},"exampleType":"examples"}},"exampleType":"examples"},"54d66ad2-42e7-4905-822e-aa9b5fe3533e":{"description":"Too Many Requests","headers":{"Retry-After":{"description":"Seconds to wait before retrying","schema":{"type":"integer","minimum":1}}},"content":{"application/problem+json":{"schema":{"type":"object","title":"Problem Details","description":"Bare RFC 9457 problem-details envelope. Returned by middleware-level errors\nthat don't carry domain context: 401 Unauthorized (auth middleware),\n429 Too Many Requests (rate-limit middleware), and route-level 404 / 405 /\n415 (framework middleware).\n\nBusiness and validation responses extend this envelope and add additional\nfields — see `business-problem.model.yaml` (adds `code` slug) and\n`validation-problem.model.yaml` (adds `errors[]` array).","properties":{"title":{"type":"string","description":"Short, human-readable summary of the problem.","uniqueKey":"title","typeLabel":"string"},"status":{"type":"integer","description":"HTTP status code.","minimum":100,"maximum":599,"uniqueKey":"status","typeLabel":"integer"},"detail":{"type":"string","description":"Human-readable explanation specific to this occurrence.","uniqueKey":"detail","typeLabel":"string"}},"uniqueKey":"","typeLabel":"Problem Details · object"},"example":{"title":"Too Many Requests","status":429,"detail":"API calls quota exceeded! maximum admitted 100 per 1m."},"examples":{"Example":{"title":"Example","value":{"title":"Too Many Requests","status":429,"detail":"API calls quota exceeded! maximum admitted 100 per 1m."}}},"exampleType":"examples"}},"exampleType":"examples"}},"security":{"2a12e6fa-187d-4dee-a177-be14d553ecc0":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Authenticate every request with a Bearer token. Pass your Reply API key in the\n`Authorization` header:\n\n```\nAuthorization: Bearer \u003cyour-api-key>\n```\n\nGet your API key from the Reply dashboard: **Settings → API Key**.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"b5714739-e983-43a9-a726-c2fc0bba07f1":{"url":"https://api.reply.io"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Authenticate every request with a Bearer token. Pass your Reply API key in the\n`Authorization` header:\n\n```\nAuthorization: Bearer \u003cyour-api-key>\n```\n\nGet your API key from the Reply dashboard: **Settings → API Key**.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Authenticate every request with a Bearer token. Pass your Reply API key in the\n`Authorization` header:\n\n```\nAuthorization: Bearer \u003cyour-api-key>\n```\n\nGet your API key from the Reply dashboard: **Settings → API Key**.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/bundled.yaml"},"subdomain":"reply-3e86852c","siteName":"Reply API Documentation","title":"Import contacts - Reply API Documentation","navMaps":{"firstHrefInVersion":{"3.0":{"href":"/api-reference/contacts/import-contacts","matchLevel":0}},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T11:25:49.229Z","originalFileLocation":"api-reference/contacts/import-contacts.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=\"Requires the contacts:write scope (or a broader one that includes it). Use this endpoint when you need to add or update many contacts in one call — for example when syncing contacts from another system. Each item requires firstName; the remaining fields are optional and use the same fields as the contact update model. An item with no firstName is not imported — it comes back with status \u0026quot;failed\u0026quot; and error \u0026quot;Invalid data\u0026quot;, while the response itself still has HTTP status 200. Use options to control deduplication, list assignment, and other import behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn URL, phone, name, company, or custom fields), whether matched contacts are overwritten or skipped, whether previously deleted contacts are restored, and which lists or sequence the imported contacts are added to. With the contactId key, every item must carry a contactId and the match is made on the id alone. The response reports how many contacts were added, updated, skipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also reports whether that contact was enrolled, and the response carries the enrollment totals: a contact can be imported and still be refused by the sequence, for instance when it is opted out or already running there.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Reply API Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"index, follow\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_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/reply-3e86852c/KeswHoxPRSVI_3uM/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Import contacts - Reply API Documentation\">\u003cmeta data-mint-head property=\"og:description\" content=\"Requires the contacts:write scope (or a broader one that includes it). Use this endpoint when you need to add or update many contacts in one call — for example when syncing contacts from another system. Each item requires firstName; the remaining fields are optional and use the same fields as the contact update model. An item with no firstName is not imported — it comes back with status \u0026quot;failed\u0026quot; and error \u0026quot;Invalid data\u0026quot;, while the response itself still has HTTP status 200. Use options to control deduplication, list assignment, and other import behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn URL, phone, name, company, or custom fields), whether matched contacts are overwritten or skipped, whether previously deleted contacts are restored, and which lists or sequence the imported contacts are added to. With the contactId key, every item must carry a contactId and the match is made on the id alone. The response reports how many contacts were added, updated, skipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also reports whether that contact was enrolled, and the response carries the enrollment totals: a contact can be imported and still be refused by the sequence, for instance when it is opted out or already running there.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Reply API Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.reply.io/api-reference/contacts/import-contacts\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://reply-3e86852c.mintlify.site/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Import+contacts\u0026amp;description=%3Csmall%3E_Requires+the+%60contacts%3Awrite%60+scope+%28or+a+broader+one+that+includes+it%29._%3C%2Fsmall%3E%0A%0AUse+this+endpoint+when+you+need+to+add+or+update+many+contacts+in+one\u0026amp;theme=fc5d13e9201c1812877893e7\u0026amp;signature=7a32afe04ddf8b2c77a986f4daed1f6e1499fde28c2d0aabbfc0e94521ac83d6\">\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=\"Import contacts - Reply API Documentation\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Requires the contacts:write scope (or a broader one that includes it). Use this endpoint when you need to add or update many contacts in one call — for example when syncing contacts from another system. Each item requires firstName; the remaining fields are optional and use the same fields as the contact update model. An item with no firstName is not imported — it comes back with status \u0026quot;failed\u0026quot; and error \u0026quot;Invalid data\u0026quot;, while the response itself still has HTTP status 200. Use options to control deduplication, list assignment, and other import behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn URL, phone, name, company, or custom fields), whether matched contacts are overwritten or skipped, whether previously deleted contacts are restored, and which lists or sequence the imported contacts are added to. With the contactId key, every item must carry a contactId and the match is made on the id alone. The response reports how many contacts were added, updated, skipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also reports whether that contact was enrolled, and the response carries the enrollment totals: a contact can be imported and still be refused by the sequence, for instance when it is opted out or already running there.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://reply-3e86852c.mintlify.site/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Import+contacts\u0026amp;description=%3Csmall%3E_Requires+the+%60contacts%3Awrite%60+scope+%28or+a+broader+one+that+includes+it%29._%3C%2Fsmall%3E%0A%0AUse+this+endpoint+when+you+need+to+add+or+update+many+contacts+in+one\u0026amp;theme=fc5d13e9201c1812877893e7\u0026amp;signature=7a32afe04ddf8b2c77a986f4daed1f6e1499fde28c2d0aabbfc0e94521ac83d6\">\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/reply-3e86852c/KeswHoxPRSVI_3uM/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Reply API Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#587DFE\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.reply.io/api-reference/contacts/import-contacts\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/contacts/import-contacts.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.reply.io/#organization\",\"name\":\"Reply API Documentation\",\"url\":\"https://docs.reply.io\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/reply-3e86852c/y2jDsVA40y9FU6Pb/icons/light.svg?fit=max\u0026auto=format\u0026n=y2jDsVA40y9FU6Pb\u0026q=85\u0026s=746cc3943ef9f2eeb767e7b14fcf0e40\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.reply.io#website\",\"name\":\"Reply API Documentation\",\"url\":\"https://docs.reply.io\",\"publisher\":{\"@id\":\"https://docs.reply.io/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.reply.io/api-reference/contacts/import-contacts#webpage\",\"url\":\"https://docs.reply.io/api-reference/contacts/import-contacts\",\"name\":\"Import contacts\",\"description\":\"Requires the contacts:write scope (or a broader one that includes it). Use this endpoint when you need to add or update many contacts in one call — for example when syncing contacts from another system. Each item requires firstName; the remaining fields are optional and use the same fields as the contact update model. An item with no firstName is not imported — it comes back with status \\\"failed\\\" and error \\\"Invalid data\\\", while the response itself still has HTTP status 200. Use options to control deduplication, list assignment, and other import behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn URL, phone, name, company, or custom fields), whether matched contacts are overwritten or skipped, whether previously deleted contacts are restored, and which lists or sequence the imported contacts are added to. With the contactId key, every item must carry a contactId and the match is made on the id alone. The response reports how many contacts were added, updated, skipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also reports whether that contact was enrolled, and the response carries the enrollment totals: a contact can be imported and still be refused by the sequence, for instance when it is opted out or already running there.\",\"dateModified\":\"2026-11-05T11:25:49.229Z\",\"isPartOf\":{\"@id\":\"https://docs.reply.io#website\"},\"breadcrumb\":{\"@id\":\"https://docs.reply.io/api-reference/contacts/import-contacts#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.reply.io/api-reference/contacts/import-contacts#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contacts\",\"item\":\"https://docs.reply.io/api-reference/contacts/list-all-contacts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Contacts\",\"item\":\"https://docs.reply.io/api-reference/contacts/list-all-contacts\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Import contacts\",\"item\":\"https://docs.reply.io/api-reference/contacts/import-contacts\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.reply.io/api-reference/contacts/import-contacts#apireference\",\"headline\":\"Import contacts\",\"name\":\"Import contacts\",\"description\":\"Requires the contacts:write scope (or a broader one that includes it). Use this endpoint when you need to add or update many contacts in one call — for example when syncing contacts from another system. Each item requires firstName; the remaining fields are optional and use the same fields as the contact update model. An item with no firstName is not imported — it comes back with status \\\"failed\\\" and error \\\"Invalid data\\\", while the response itself still has HTTP status 200. Use options to control deduplication, list assignment, and other import behavior: which keys identify an existing contact (email plus any of contactId, LinkedIn URL, phone, name, company, or custom fields), whether matched contacts are overwritten or skipped, whether previously deleted contacts are restored, and which lists or sequence the imported contacts are added to. With the contactId key, every item must carry a contactId and the match is made on the id alone. The response reports how many contacts were added, updated, skipped, or failed, with a per-item outcome. When options carries a sequenceId, each item also reports whether that contact was enrolled, and the response carries the enrollment totals: a contact can be imported and still be refused by the sequence, for instance when it is opted out or already running there.\",\"url\":\"https://docs.reply.io/api-reference/contacts/import-contacts\",\"mainEntityOfPage\":{\"@id\":\"https://docs.reply.io/api-reference/contacts/import-contacts#webpage\"},\"dateModified\":\"2026-11-05T11:25:49.229Z\",\"publisher\":{\"@id\":\"https://docs.reply.io/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.reply.io#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Reply API Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Reply API Documentation","nav":{"global":null,"versions":[{"version":"3.0","tabs":[{"tab":"API Reference","groups":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Platform overview","href":"/getting-started"},{"title":"Authentication","href":"/api-reference/authentication"},{"title":"Rate limits","href":"/api-reference/rate-limits"},{"title":"Support","href":"/api-reference/support"},{"title":"OpenAPI \u0026 Postman","href":"/openapi-postman"},{"title":"Slack community","href":"/slack"}]},{"group":"Contacts","pages":[{"group":"Contacts","pages":[{"title":"List all contacts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts","href":"/api-reference/contacts/list-all-contacts"},{"title":"Create a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts","href":"/api-reference/contacts/create-a-contact"},{"title":"Get a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}","href":"/api-reference/contacts/get-a-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/contacts/{id}","href":"/api-reference/contacts/update-a-contact"},{"title":"Delete a contact","description":"\u003csmall>_Requires the `contacts:write` scope (or a broader one that includes it)._\u003c/small>\n\nDelete one contact by its Reply id. To remove several at once, use the bulk-delete endpoint instead.","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contacts/{id}","href":"/api-reference/contacts/delete-a-contact"},{"title":"Import contacts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/import","href":"/api-reference/contacts/import-contacts"},{"title":"Filter contacts","description":"\u003cDanger>\n **Breaking change from early November 2026.** Send `conditions` instead of `rules`, and filter a sequence's contacts with `POST /v3/sequences/{id}/contacts/filter`; `rules`, `sequenceId` and `sequenceStepId` return 400.\n\u003c/Danger>\n\n\u003csmall>_Requires the `contacts:read` scope (or a broader one that includes it)._\u003c/small>\n\nUse this endpoint when you need a filtered, sorted page of contacts that a plain email or LinkedIn lookup cannot express. Combine field conditions with optional scoping by list, a free-text search term, and a sort order. Results are paged with the top and skip query parameters. To get only the total for the same criteria, use filter/count. For one sequence's contacts, use `POST /v3/sequences/{id}/contacts/filter`.\n\nConditions are joined with AND, one condition per field: an `operator` with its `value`, an `and` list of rules that must all match, or an `or` list of alternatives. `GET /v3/contacts/filter/fields` lists the fields, operators and values your workspace accepts. Field names, operators and enum values are case-insensitive.","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/contacts/filter","href":"/api-reference/contacts/filter-contacts"},{"title":"Count filtered contacts","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/contacts/filter/count","href":"/api-reference/contacts/count-filtered-contacts"},{"title":"List contact filter fields","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/contacts/filter/fields","href":"/api-reference/contacts/list-contact-filter-fields"},{"title":"Bulk delete contacts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/bulk-delete","href":"/api-reference/contacts/bulk-delete-contacts"},{"title":"Get sequences for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/sequences","href":"/api-reference/contacts/get-sequences-for-a-contact"},{"title":"Get activities for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/activities","href":"/api-reference/contacts/get-activities-for-a-contact"},{"title":"Get inbox threads for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/inbox-threads","href":"/api-reference/contacts/get-inbox-threads-for-a-contact"},{"title":"Mark or unmark contacts as replied","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/set-replied","href":"/api-reference/contacts/mark-or-unmark-contacts-as-replied"},{"title":"Mark or unmark contacts as bounced","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/set-bounced","href":"/api-reference/contacts/mark-or-unmark-contacts-as-bounced"},{"title":"Opt contacts out or clear their opt-out","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/set-opted-out","href":"/api-reference/contacts/opt-contacts-out-or-clear-their-opt-out"},{"title":"Set contacts' in-sequence status","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/set-status-in-sequence","href":"/api-reference/contacts/set-contacts-in-sequence-status"},{"title":"Get a contact's statuses","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/statuses","href":"/api-reference/contacts/get-a-contacts-statuses"},{"title":"Change contacts owner","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/contacts/owner","href":"/api-reference/contacts/change-contacts-owner"},{"title":"List notes for a contact","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/notes","href":"/api-reference/contacts/list-notes-for-a-contact"},{"title":"Add a note to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/notes","href":"/api-reference/contacts/add-a-note-to-a-contact"},{"title":"Get a note of a contact","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/notes/{note_id}","href":"/api-reference/contacts/get-a-note-of-a-contact"},{"title":"Move a contact to a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/move-to-sequence","href":"/api-reference/contacts/move-a-contact-to-a-sequence"},{"title":"Run a Prompt Action on contacts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/run-prompt-action","href":"/api-reference/contacts/run-a-prompt-action-on-contacts"}]},{"group":"Contact Lists","pages":[{"title":"List contact lists","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-lists","href":"/api-reference/contact-lists/list-contact-lists"},{"title":"Create a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-lists","href":"/api-reference/contact-lists/create-a-contact-list"},{"title":"Get a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-lists/{id}","href":"/api-reference/contact-lists/get-a-contact-list"},{"title":"Update a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/contact-lists/{id}","href":"/api-reference/contact-lists/update-a-contact-list"},{"title":"Delete a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contact-lists/{id}","href":"/api-reference/contact-lists/delete-a-contact-list"},{"title":"Share a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-lists/{id}/share","href":"/api-reference/contact-lists/share-a-contact-list"},{"title":"Unshare a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-lists/{id}/unshare","href":"/api-reference/contact-lists/unshare-a-contact-list"},{"title":"Move contacts to a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-lists/{id}/move-contacts","href":"/api-reference/contact-lists/move-contacts-to-a-contact-list"},{"title":"Add contacts to a contact list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-lists/{id}/add-contacts","href":"/api-reference/contact-lists/add-contacts-to-a-contact-list"},{"title":"Get contact's lists","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contacts/{id}/lists","href":"/api-reference/contact-lists/get-contacts-lists"}]},{"group":"Accounts","pages":[{"title":"List accounts","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml get /v3/contact-accounts","href":"/api-reference/accounts/list-accounts"},{"title":"Create an account","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/contact-accounts","href":"/api-reference/accounts/create-an-account"},{"title":"Filter accounts","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/contact-accounts/filter","href":"/api-reference/accounts/filter-accounts"},{"title":"List account filter fields","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/contact-accounts/filter/fields","href":"/api-reference/accounts/list-account-filter-fields"},{"title":"Get an account","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml get /v3/contact-accounts/{id}","href":"/api-reference/accounts/get-an-account"},{"title":"Update an account","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml put /v3/contact-accounts/{id}","href":"/api-reference/accounts/update-an-account"},{"title":"Delete an account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contact-accounts/{id}","href":"/api-reference/accounts/delete-an-account"},{"title":"Bulk create accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-accounts/bulk","href":"/api-reference/accounts/bulk-create-accounts"},{"title":"Bulk delete accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-accounts/bulk-delete","href":"/api-reference/accounts/bulk-delete-accounts"},{"title":"Update account owner","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml put /v3/contact-accounts/{id}/owner","href":"/api-reference/accounts/update-account-owner"},{"title":"List contacts for an account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-accounts/{id}/contacts","href":"/api-reference/accounts/list-contacts-for-an-account"},{"title":"Bulk add contacts to an account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-accounts/{id}/contact-links/bulk","href":"/api-reference/accounts/bulk-add-contacts-to-an-account"},{"title":"Bulk remove contacts from an account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-accounts/{id}/contact-links/bulk-delete","href":"/api-reference/accounts/bulk-remove-contacts-from-an-account"},{"title":"List notes for an account","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml get /v3/contact-accounts/{id}/notes","href":"/api-reference/accounts/list-notes-for-an-account"},{"title":"Add a note to an account","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/contact-accounts/{id}/notes","href":"/api-reference/accounts/add-a-note-to-an-account"},{"title":"Get a note of an account","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml get /v3/contact-accounts/{id}/notes/{note_id}","href":"/api-reference/accounts/get-a-note-of-an-account"}]},{"group":"Account Lists","pages":[{"title":"List account lists","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-account-lists","href":"/api-reference/account-lists/list-account-lists"},{"title":"Create an account list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-account-lists","href":"/api-reference/account-lists/create-an-account-list"},{"title":"Get an account list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-account-lists/{id}","href":"/api-reference/account-lists/get-an-account-list"},{"title":"Update an account list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/contact-account-lists/{id}","href":"/api-reference/account-lists/update-an-account-list"},{"title":"Delete an account list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contact-account-lists/{id}","href":"/api-reference/account-lists/delete-an-account-list"},{"title":"Move accounts to an account list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-account-lists/{id}/move-accounts","href":"/api-reference/account-lists/move-accounts-to-an-account-list"},{"title":"Add accounts to an account list","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-account-lists/{id}/add-accounts","href":"/api-reference/account-lists/add-accounts-to-an-account-list"}]},{"group":"Custom Fields","pages":[{"title":"List all custom fields","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/custom-fields","href":"/api-reference/custom-fields/list-all-custom-fields"},{"title":"Create a custom field","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/custom-fields","href":"/api-reference/custom-fields/create-a-custom-field"},{"title":"Get a custom field","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/custom-fields/{id}","href":"/api-reference/custom-fields/get-a-custom-field"},{"title":"Update a custom field","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/custom-fields/{id}","href":"/api-reference/custom-fields/update-a-custom-field"},{"title":"Delete a custom field","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/custom-fields/{id}","href":"/api-reference/custom-fields/delete-a-custom-field"},{"title":"Preview an AI custom field","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/custom-fields/{id}/preview","href":"/api-reference/custom-fields/preview-an-ai-custom-field"},{"title":"Enrich contacts with an AI custom field","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/custom-fields/{id}/enrich","href":"/api-reference/custom-fields/enrich-contacts-with-an-ai-custom-field"}]},{"group":"Prompt Actions","pages":[{"title":"List Prompt Actions","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/prompt-actions","href":"/api-reference/prompt-actions/list-prompt-actions"},{"title":"Create a Prompt Action","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/prompt-actions","href":"/api-reference/prompt-actions/create-a-prompt-action"},{"title":"Get a Prompt Action","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/prompt-actions/{id}","href":"/api-reference/prompt-actions/get-a-prompt-action"},{"title":"Update a Prompt Action","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/prompt-actions/{id}","href":"/api-reference/prompt-actions/update-a-prompt-action"},{"title":"Delete a Prompt Action","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/prompt-actions/{id}","href":"/api-reference/prompt-actions/delete-a-prompt-action"}]},{"group":"Contact Blacklist Rules","pages":[{"title":"List domain blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-blacklist-rules/domains","href":"/api-reference/contact-blacklist-rules/list-domain-blacklist-rules"},{"title":"Create a domain blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/domains","href":"/api-reference/contact-blacklist-rules/create-a-domain-blacklist-rule"},{"title":"Get a domain blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-blacklist-rules/domains/{id}","href":"/api-reference/contact-blacklist-rules/get-a-domain-blacklist-rule"},{"title":"Update a domain blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/contact-blacklist-rules/domains/{id}","href":"/api-reference/contact-blacklist-rules/update-a-domain-blacklist-rule"},{"title":"Delete a domain blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contact-blacklist-rules/domains/{id}","href":"/api-reference/contact-blacklist-rules/delete-a-domain-blacklist-rule"},{"title":"Bulk create domain blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/domains/bulk","href":"/api-reference/contact-blacklist-rules/bulk-create-domain-blacklist-rules"},{"title":"Bulk delete domain blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/domains/bulk-delete","href":"/api-reference/contact-blacklist-rules/bulk-delete-domain-blacklist-rules"},{"title":"List email blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-blacklist-rules/emails","href":"/api-reference/contact-blacklist-rules/list-email-blacklist-rules"},{"title":"Create an email blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/emails","href":"/api-reference/contact-blacklist-rules/create-an-email-blacklist-rule"},{"title":"Get an email blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-blacklist-rules/emails/{id}","href":"/api-reference/contact-blacklist-rules/get-an-email-blacklist-rule"},{"title":"Update an email blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/contact-blacklist-rules/emails/{id}","href":"/api-reference/contact-blacklist-rules/update-an-email-blacklist-rule"},{"title":"Delete an email blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contact-blacklist-rules/emails/{id}","href":"/api-reference/contact-blacklist-rules/delete-an-email-blacklist-rule"},{"title":"Bulk create email blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/emails/bulk","href":"/api-reference/contact-blacklist-rules/bulk-create-email-blacklist-rules"},{"title":"Bulk delete email blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/emails/bulk-delete","href":"/api-reference/contact-blacklist-rules/bulk-delete-email-blacklist-rules"},{"title":"List email exception blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-blacklist-rules/email-exceptions","href":"/api-reference/contact-blacklist-rules/list-email-exception-blacklist-rules"},{"title":"Create an email exception blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/email-exceptions","href":"/api-reference/contact-blacklist-rules/create-an-email-exception-blacklist-rule"},{"title":"Get an email exception blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/contact-blacklist-rules/email-exceptions/{id}","href":"/api-reference/contact-blacklist-rules/get-an-email-exception-blacklist-rule"},{"title":"Update an email exception blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/contact-blacklist-rules/email-exceptions/{id}","href":"/api-reference/contact-blacklist-rules/update-an-email-exception-blacklist-rule"},{"title":"Delete an email exception blacklist rule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/contact-blacklist-rules/email-exceptions/{id}","href":"/api-reference/contact-blacklist-rules/delete-an-email-exception-blacklist-rule"},{"title":"Bulk create email exception blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/email-exceptions/bulk","href":"/api-reference/contact-blacklist-rules/bulk-create-email-exception-blacklist-rules"},{"title":"Bulk delete email exception blacklist rules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contact-blacklist-rules/email-exceptions/bulk-delete","href":"/api-reference/contact-blacklist-rules/bulk-delete-email-exception-blacklist-rules"}]}]},{"group":"Data","pages":[{"group":"Live Data","pages":[{"title":"Preview a Live Data search","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/live-data/searches/preview","href":"/api-reference/live-data/preview-a-live-data-search"},{"title":"List Live Data searches","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/searches","href":"/api-reference/live-data/list-live-data-searches"},{"title":"Start a Live Data search","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/live-data/searches","href":"/api-reference/live-data/start-a-live-data-search"},{"title":"Get a Live Data search","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/searches/{id}","href":"/api-reference/live-data/get-a-live-data-search"},{"title":"Live Data industries typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/filter-values/industries","href":"/api-reference/live-data/live-data-industries-typeahead"},{"title":"Departments typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/filter-values/departments","href":"/api-reference/live-data/departments-typeahead"},{"title":"Seniorities typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/filter-values/seniorities","href":"/api-reference/live-data/seniorities-typeahead"},{"title":"Locations typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/filter-values/locations","href":"/api-reference/live-data/locations-typeahead"},{"title":"Job titles typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/live-data/filter-values/job-titles","href":"/api-reference/live-data/job-titles-typeahead"}]},{"group":"Contact Enrichment","tag":"CS","pages":[{"title":"Enrich contacts by email","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/enrich-by-email","href":"/api-reference/contact-enrichment/enrich-contacts-by-email"},{"title":"Find missing email addresses","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/find-emails","href":"/api-reference/contact-enrichment/find-missing-email-addresses"},{"title":"Find phone numbers","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/find-phones","href":"/api-reference/contact-enrichment/find-phone-numbers"},{"title":"Enrich contacts by LinkedIn URL","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/enrich-by-linkedin","href":"/api-reference/contact-enrichment/enrich-contacts-by-linkedin-url"}]},{"group":"Email Validations","pages":[{"title":"Estimate email validation","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-validations/estimate","href":"/api-reference/email-validations/estimate-email-validation"},{"title":"Schedule email validation","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-validations/schedule","href":"/api-reference/email-validations/schedule-email-validation"}]},{"group":"AI SDR Web Search","tag":"CS","pages":[{"title":"Start an AI web search","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-web-search/start","href":"/api-reference/ai-sdr-web-search/start-an-ai-web-search"},{"title":"List AI web searches for a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-web-search/searches","href":"/api-reference/ai-sdr-web-search/list-ai-web-searches-for-a-sequence"}]}]},{"group":"Sequences","pages":[{"group":"Sequences","pages":[{"title":"List all sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences","href":"/api-reference/sequences/list-all-sequences"},{"title":"Create a sequence","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/sequences","href":"/api-reference/sequences/create-a-sequence"},{"title":"Count sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/count","href":"/api-reference/sequences/count-sequences"},{"title":"Get a sequence","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}","href":"/api-reference/sequences/get-a-sequence"},{"title":"Update a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/sequences/{id}","href":"/api-reference/sequences/update-a-sequence"},{"title":"Delete a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/{id}","href":"/api-reference/sequences/delete-a-sequence"},{"title":"Start a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/start","href":"/api-reference/sequences/start-a-sequence"},{"title":"Pause a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/pause","href":"/api-reference/sequences/pause-a-sequence"},{"title":"Archive a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/archive","href":"/api-reference/sequences/archive-a-sequence"},{"title":"Unarchive a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/unarchive","href":"/api-reference/sequences/unarchive-a-sequence"},{"title":"Change sequence owner","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequences/{id}/owner","href":"/api-reference/sequences/change-sequence-owner"},{"title":"Bulk start sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/start","href":"/api-reference/sequences/bulk-start-sequences"},{"title":"Bulk pause sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/pause","href":"/api-reference/sequences/bulk-pause-sequences"},{"title":"Bulk archive sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/archive","href":"/api-reference/sequences/bulk-archive-sequences"},{"title":"Bulk unarchive sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/unarchive","href":"/api-reference/sequences/bulk-unarchive-sequences"},{"title":"Bulk delete sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/bulk-delete","href":"/api-reference/sequences/bulk-delete-sequences"},{"title":"Bulk change sequence owner","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/batch/owner","href":"/api-reference/sequences/bulk-change-sequence-owner"},{"title":"Save a sequence as a template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/save-as-template","href":"/api-reference/sequences/save-a-sequence-as-a-template"},{"title":"Create a sequence from a template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/create-from-template","href":"/api-reference/sequences/create-a-sequence-from-a-template"},{"title":"Get sequence stats","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/stats","href":"/api-reference/sequences/get-sequence-stats"},{"title":"Get sequence email stats","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/stats/emails","href":"/api-reference/sequences/get-sequence-email-stats"},{"title":"Get sequence LinkedIn stats","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/stats/linkedin","href":"/api-reference/sequences/get-sequence-linkedin-stats"},{"title":"Get stats for all sequences","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/stats","href":"/api-reference/sequences/get-stats-for-all-sequences"}]},{"group":"Sequence Steps","pages":[{"title":"List all sequence steps","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/steps","href":"/api-reference/sequence-steps/list-all-sequence-steps"},{"title":"Create a sequence step","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps","href":"/api-reference/sequence-steps/create-a-sequence-step"},{"title":"Get a sequence step","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/steps/{step_id}","href":"/api-reference/sequence-steps/get-a-sequence-step"},{"title":"Update a sequence step","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml put /v3/sequences/{id}/steps/{step_id}","href":"/api-reference/sequence-steps/update-a-sequence-step"},{"title":"Delete a sequence step","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/{id}/steps/{step_id}","href":"/api-reference/sequence-steps/delete-a-sequence-step"},{"title":"Bulk create sequence steps","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/bulk","href":"/api-reference/sequence-steps/bulk-create-sequence-steps"},{"title":"Bulk delete sequence steps","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/bulk-delete","href":"/api-reference/sequence-steps/bulk-delete-sequence-steps"},{"title":"Enable step variants","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/{step_id}/enable","href":"/api-reference/sequence-steps/enable-step-variants"},{"title":"Disable step variants","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/{step_id}/disable","href":"/api-reference/sequence-steps/disable-step-variants"},{"title":"List step variants","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/steps/{step_id}/variants","href":"/api-reference/sequence-steps/list-step-variants"},{"title":"Create a step variant","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/{step_id}/variants","href":"/api-reference/sequence-steps/create-a-step-variant"},{"title":"Bulk create step variants","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/{step_id}/variants/bulk","href":"/api-reference/sequence-steps/bulk-create-step-variants"},{"title":"Bulk delete step variants","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/steps/{step_id}/variants/bulk-delete","href":"/api-reference/sequence-steps/bulk-delete-step-variants"},{"title":"Update a step variant","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequences/{id}/steps/{step_id}/variants/{variant_id}","href":"/api-reference/sequence-steps/update-a-step-variant"},{"title":"Delete a step variant","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/{id}/steps/{step_id}/variants/{variant_id}","href":"/api-reference/sequence-steps/delete-a-step-variant"},{"title":"List contact filter properties","deprecated":null,"version":null,"tag":"BREAKING","openapi":"/api-reference/bundled.yaml get /v3/sequences/steps/contact-filter-properties","href":"/api-reference/sequence-steps/list-contact-filter-properties"},{"title":"List condition step fields","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/sequences/steps/condition/fields","href":"/api-reference/sequence-steps/list-condition-step-fields"}]},{"group":"Sequence Contacts","pages":[{"title":"List contacts in sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/contacts","href":"/api-reference/sequence-contacts/list-contacts-in-sequence"},{"title":"Count contacts in sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/contacts/count","href":"/api-reference/sequence-contacts/count-contacts-in-sequence"},{"title":"Filter contacts in sequence","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contacts/filter","href":"/api-reference/sequence-contacts/filter-contacts-in-sequence"},{"title":"Count filtered contacts in sequence","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contacts/filter/count","href":"/api-reference/sequence-contacts/count-filtered-contacts-in-sequence"},{"title":"List sequence contact filter fields","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/contacts/filter/fields","href":"/api-reference/sequence-contacts/list-sequence-contact-filter-fields"},{"title":"Get a contact in a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/contacts/{contact_id}","href":"/api-reference/sequence-contacts/get-a-contact-in-a-sequence"},{"title":"List contacts in sequence with extended state","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/contacts/state","href":"/api-reference/sequence-contacts/list-contacts-in-sequence-with-extended-state"},{"title":"Remove contact from sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/{id}/contact-links/{contact_id}","href":"/api-reference/sequence-contacts/remove-contact-from-sequence"},{"title":"Bulk add contacts to sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contact-links/bulk","href":"/api-reference/sequence-contacts/bulk-add-contacts-to-sequence"},{"title":"Bulk remove contacts from sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contact-links/bulk-delete","href":"/api-reference/sequence-contacts/bulk-remove-contacts-from-sequence"},{"title":"Set contacts' status in this sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contacts/set-status-in-sequence","href":"/api-reference/sequence-contacts/set-contacts-status-in-this-sequence"},{"title":"Mark or unmark contacts as replied in this sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contacts/set-replied","href":"/api-reference/sequence-contacts/mark-or-unmark-contacts-as-replied-in-this-sequence"},{"title":"Mark or unmark contacts as bounced in this sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contacts/set-bounced","href":"/api-reference/sequence-contacts/mark-or-unmark-contacts-as-bounced-in-this-sequence"},{"title":"Set the sending mailbox for contacts in this sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/contacts/set-email-account","href":"/api-reference/sequence-contacts/set-the-sending-mailbox-for-contacts-in-this-sequence"},{"title":"Get sequence preview for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{sequence_id}/contacts/{contact_id}/preview","href":"/api-reference/sequence-contacts/get-sequence-preview-for-a-contact"},{"title":"Reset manual edits in a sequence preview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{sequence_id}/contacts/{contact_id}/preview/reset","href":"/api-reference/sequence-contacts/reset-manual-edits-in-a-sequence-preview"}]},{"group":"Sequence Folders","pages":[{"title":"List all sequence folders","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequence-folders","href":"/api-reference/sequence-folders/list-all-sequence-folders"},{"title":"Create a sequence folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequence-folders","href":"/api-reference/sequence-folders/create-a-sequence-folder"},{"title":"Get a sequence folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequence-folders/{id}","href":"/api-reference/sequence-folders/get-a-sequence-folder"},{"title":"Update a sequence folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequence-folders/{id}","href":"/api-reference/sequence-folders/update-a-sequence-folder"},{"title":"Delete a sequence folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequence-folders/{id}","href":"/api-reference/sequence-folders/delete-a-sequence-folder"},{"title":"List sequences in a folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequence-folders/{id}/sequences","href":"/api-reference/sequence-folders/list-sequences-in-a-folder"},{"title":"Bulk assign sequences to a folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequence-folders/{id}/sequence-links/bulk","href":"/api-reference/sequence-folders/bulk-assign-sequences-to-a-folder"},{"title":"Bulk unassign sequences from a folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequence-folders/{id}/sequence-links/bulk-delete","href":"/api-reference/sequence-folders/bulk-unassign-sequences-from-a-folder"}]},{"group":"Email Accounts","pages":[{"title":"List email accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts","href":"/api-reference/email-accounts/list-email-accounts"},{"title":"Create an email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts","href":"/api-reference/email-accounts/create-an-email-account"},{"title":"Filter email accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/filter","href":"/api-reference/email-accounts/filter-email-accounts"},{"title":"Get an email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/{id}","href":"/api-reference/email-accounts/get-an-email-account"},{"title":"Update an email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/email-accounts/{id}","href":"/api-reference/email-accounts/update-an-email-account"},{"title":"Delete an email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/email-accounts/{id}","href":"/api-reference/email-accounts/delete-an-email-account"},{"title":"Set default email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/{id}/set-default","href":"/api-reference/email-accounts/set-default-email-account"},{"title":"Resume sending","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/{id}/resume-sending","href":"/api-reference/email-accounts/resume-sending"},{"title":"Bulk delete email accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/bulk-delete","href":"/api-reference/email-accounts/bulk-delete-email-accounts"},{"title":"Connect Gmail account via OAuth","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/connect/gmail","href":"/api-reference/email-accounts/connect-gmail-account-via-oauth"},{"title":"Connect Office 365 account via OAuth","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/connect/office-365","href":"/api-reference/email-accounts/connect-office-365-account-via-oauth"},{"title":"Test SMTP connectivity","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/test/smtp","href":"/api-reference/email-accounts/test-smtp-connectivity"},{"title":"Test IMAP connectivity","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/test/imap","href":"/api-reference/email-accounts/test-imap-connectivity"},{"title":"Get email account stats","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/{id}/stats","href":"/api-reference/email-accounts/get-email-account-stats"},{"title":"Filter email account stats","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/stats","href":"/api-reference/email-accounts/filter-email-account-stats"},{"title":"List email account tags","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/tags","href":"/api-reference/email-accounts/list-email-account-tags"},{"title":"Update a tag","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/email-accounts/tags/{tagId}","href":"/api-reference/email-accounts/update-a-tag"},{"title":"Add tags to an email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/{id}/tags","href":"/api-reference/email-accounts/add-tags-to-an-email-account"},{"title":"Remove tags from an email account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/email-accounts/{id}/tags","href":"/api-reference/email-accounts/remove-tags-from-an-email-account"}]},{"group":"Sequence Email Accounts","pages":[{"title":"List email accounts in sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/email-accounts","href":"/api-reference/sequence-email-accounts/list-email-accounts-in-sequence"},{"title":"Assign email account to sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/email-account-links","href":"/api-reference/sequence-email-accounts/assign-email-account-to-sequence"},{"title":"Set sequence email accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequences/{id}/email-account-links","href":"/api-reference/sequence-email-accounts/set-sequence-email-accounts"},{"title":"Remove email account from sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/{id}/email-account-links/{email_account_id}","href":"/api-reference/sequence-email-accounts/remove-email-account-from-sequence"}]},{"group":"LinkedIn Accounts","pages":[{"title":"List LinkedIn accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/linkedin-accounts","href":"/api-reference/linkedin-accounts/list-linkedin-accounts"},{"title":"Get a LinkedIn account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/linkedin-accounts/{id}","href":"/api-reference/linkedin-accounts/get-a-linkedin-account"},{"title":"Delete a LinkedIn account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/linkedin-accounts/{id}","href":"/api-reference/linkedin-accounts/delete-a-linkedin-account"},{"title":"Bulk delete LinkedIn accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/linkedin-accounts/bulk-delete","href":"/api-reference/linkedin-accounts/bulk-delete-linkedin-accounts"},{"title":"Toggle LinkedIn account status","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/linkedin-accounts/{id}/toggle-status","href":"/api-reference/linkedin-accounts/toggle-linkedin-account-status"},{"title":"Update LinkedIn account limits","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/linkedin-accounts/{id}/limits","href":"/api-reference/linkedin-accounts/update-linkedin-account-limits"},{"title":"Update LinkedIn account revoke settings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/linkedin-accounts/{id}/revoke-settings","href":"/api-reference/linkedin-accounts/update-linkedin-account-revoke-settings"},{"title":"Link a voice to a LinkedIn account","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml put /v3/linkedin-accounts/{id}/voice","href":"/api-reference/linkedin-accounts/link-a-voice-to-a-linkedin-account"},{"title":"Unlink the voice from a LinkedIn account","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml delete /v3/linkedin-accounts/{id}/voice","href":"/api-reference/linkedin-accounts/unlink-the-voice-from-a-linkedin-account"},{"title":"Create a connection link","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/linkedin-accounts/connection-link","href":"/api-reference/linkedin-accounts/create-a-connection-link"},{"title":"Create a direct connection link","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/linkedin-accounts/connect","href":"/api-reference/linkedin-accounts/create-a-direct-connection-link"},{"title":"Reconnect a LinkedIn account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/linkedin-accounts/{id}/reconnect","href":"/api-reference/linkedin-accounts/reconnect-a-linkedin-account"},{"title":"List pending LinkedIn accounts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/linkedin-accounts/pending","href":"/api-reference/linkedin-accounts/list-pending-linkedin-accounts"},{"title":"Delete a pending LinkedIn account","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/linkedin-accounts/pending/{id}","href":"/api-reference/linkedin-accounts/delete-a-pending-linkedin-account"}]},{"group":"Sequence LinkedIn Accounts","pages":[{"title":"List LinkedIn accounts for a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/{id}/linkedin-accounts","href":"/api-reference/sequence-linkedin-accounts/list-linkedin-accounts-for-a-sequence"},{"title":"Assign a LinkedIn account to a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/{id}/linkedin-account-links","href":"/api-reference/sequence-linkedin-accounts/assign-a-linkedin-account-to-a-sequence"},{"title":"Remove a LinkedIn account from a sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/{id}/linkedin-account-links/{linkedInAccountId}","href":"/api-reference/sequence-linkedin-accounts/remove-a-linkedin-account-from-a-sequence"}]},{"group":"Sequence Templates","pages":[{"title":"List all sequence templates","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequence-templates","href":"/api-reference/sequence-templates/list-all-sequence-templates"},{"title":"Delete a sequence template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequence-templates/{id}","href":"/api-reference/sequence-templates/delete-a-sequence-template"}]},{"group":"Email Templates","pages":[{"title":"List email templates","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-templates","href":"/api-reference/email-templates/list-email-templates"},{"title":"Create an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-templates","href":"/api-reference/email-templates/create-an-email-template"},{"title":"Get an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-templates/{id}","href":"/api-reference/email-templates/get-an-email-template"},{"title":"Update an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/email-templates/{id}","href":"/api-reference/email-templates/update-an-email-template"},{"title":"Delete an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/email-templates/{id}","href":"/api-reference/email-templates/delete-an-email-template"},{"title":"Clone an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-templates/{id}/clone","href":"/api-reference/email-templates/clone-an-email-template"},{"title":"Move an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-templates/{id}/move","href":"/api-reference/email-templates/move-an-email-template"},{"title":"Render an email template","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-templates/{id}/render","href":"/api-reference/email-templates/render-an-email-template"},{"title":"Send a test email","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-templates/{id}/send-test","href":"/api-reference/email-templates/send-a-test-email"},{"title":"Get template variables","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-templates/variables","href":"/api-reference/email-templates/get-template-variables"},{"title":"List email template folders","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-template-folders","href":"/api-reference/email-templates/list-email-template-folders"},{"title":"Create an email template folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-template-folders","href":"/api-reference/email-templates/create-an-email-template-folder"},{"title":"Get an email template folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-template-folders/{id}","href":"/api-reference/email-templates/get-an-email-template-folder"},{"title":"Update an email template folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/email-template-folders/{id}","href":"/api-reference/email-templates/update-an-email-template-folder"},{"title":"Delete an email template folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/email-template-folders/{id}","href":"/api-reference/email-templates/delete-an-email-template-folder"},{"title":"Share an email template folder","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-template-folders/{id}/share","href":"/api-reference/email-templates/share-an-email-template-folder"},{"title":"Upload a template attachment","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-template-attachments","href":"/api-reference/email-templates/upload-a-template-attachment"}]},{"group":"Voices","pages":[{"title":"List voices","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/voices","href":"/api-reference/voices/list-voices"},{"title":"Create a voice","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/voices","href":"/api-reference/voices/create-a-voice"},{"title":"Get a voice","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/voices/{id}","href":"/api-reference/voices/get-a-voice"},{"title":"Rename a voice","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/voices/{id}","href":"/api-reference/voices/rename-a-voice"},{"title":"Delete a voice","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/voices/{id}","href":"/api-reference/voices/delete-a-voice"},{"title":"Set a voice as the team default","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/voices/{id}/set-default","href":"/api-reference/voices/set-a-voice-as-the-team-default"},{"title":"List supported voice languages","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/voices/languages","href":"/api-reference/voices/list-supported-voice-languages"},{"title":"List background noise presets","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/voices/background-noises","href":"/api-reference/voices/list-background-noise-presets"}]}]},{"group":"Scheduling","pages":[{"group":"Schedules","pages":[{"title":"List schedules","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/schedules","href":"/api-reference/schedules/list-schedules"},{"title":"Create a schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/schedules","href":"/api-reference/schedules/create-a-schedule"},{"title":"Get a schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/schedules/{id}","href":"/api-reference/schedules/get-a-schedule"},{"title":"Update a schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/schedules/{id}","href":"/api-reference/schedules/update-a-schedule"},{"title":"Delete a schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/schedules/{id}","href":"/api-reference/schedules/delete-a-schedule"},{"title":"Set default schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/schedules/{id}/set-default","href":"/api-reference/schedules/set-default-schedule"},{"title":"List linked holiday calendars","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/schedules/{id}/holiday-calendars","href":"/api-reference/schedules/list-linked-holiday-calendars"},{"title":"Link a holiday calendar to a schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/schedules/{id}/holiday-calendar-links","href":"/api-reference/schedules/link-a-holiday-calendar-to-a-schedule"},{"title":"Unlink a holiday calendar from a schedule","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/schedules/{id}/holiday-calendar-links/{calendarId}","href":"/api-reference/schedules/unlink-a-holiday-calendar-from-a-schedule"}]},{"group":"Holiday Calendars","pages":[{"title":"List holiday calendars","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/holiday-calendars","href":"/api-reference/holiday-calendars/list-holiday-calendars"},{"title":"Create a holiday calendar","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/holiday-calendars","href":"/api-reference/holiday-calendars/create-a-holiday-calendar"},{"title":"Get a holiday calendar","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/holiday-calendars/{id}","href":"/api-reference/holiday-calendars/get-a-holiday-calendar"},{"title":"Update a holiday calendar","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/holiday-calendars/{id}","href":"/api-reference/holiday-calendars/update-a-holiday-calendar"},{"title":"Delete a holiday calendar","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/holiday-calendars/{id}","href":"/api-reference/holiday-calendars/delete-a-holiday-calendar"},{"title":"Export a holiday calendar as CSV","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/holiday-calendars/{id}/export-csv","href":"/api-reference/holiday-calendars/export-a-holiday-calendar-as-csv"}]}]},{"group":"Inbox","pages":[{"group":"Threads","pages":[{"title":"List inbox threads","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/inbox/threads","href":"/api-reference/inbox/list-inbox-threads"},{"title":"List changed inbox threads","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/inbox/threads/changes","href":"/api-reference/inbox/list-changed-inbox-threads"},{"title":"Filter inbox threads","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/filter","href":"/api-reference/inbox/filter-inbox-threads"},{"title":"Get inbox thread","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/inbox/threads/{id}","href":"/api-reference/inbox/get-inbox-thread"},{"title":"Delete inbox thread","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/inbox/threads/{id}","href":"/api-reference/inbox/delete-inbox-thread"},{"title":"Bulk-delete inbox threads","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/bulk-delete","href":"/api-reference/inbox/bulk-delete-inbox-threads"},{"title":"Mark threads as read","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/mark-as-read","href":"/api-reference/inbox/mark-threads-as-read"},{"title":"Mark threads as unread","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/mark-as-unread","href":"/api-reference/inbox/mark-threads-as-unread"},{"title":"List messages in an inbox thread","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/inbox/threads/{id}/messages","href":"/api-reference/inbox/list-messages-in-an-inbox-thread"},{"title":"Send a reply within a thread","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/{id}/messages","href":"/api-reference/inbox/send-a-reply-within-a-thread"},{"title":"Assign or clear a thread's category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/inbox/threads/{id}/category","href":"/api-reference/inbox/assign-or-clear-a-threads-category"},{"title":"Toggle thread meeting-intent","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/inbox/threads/{id}/meeting-intent","href":"/api-reference/inbox/toggle-thread-meeting-intent"},{"title":"Generate an AI draft reply","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/{id}/ai-draft/generate","href":"/api-reference/inbox/generate-an-ai-draft-reply"},{"title":"Submit feedback on a generated AI draft","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/{id}/ai-draft/feedback","href":"/api-reference/inbox/submit-feedback-on-a-generated-ai-draft"}]},{"group":"Categories","pages":[{"title":"List inbox categories","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/inbox/threads/categories","href":"/api-reference/inbox-categories/list-inbox-categories"},{"title":"Create inbox category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/categories","href":"/api-reference/inbox-categories/create-inbox-category"},{"title":"Get inbox category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/inbox/threads/categories/{id}","href":"/api-reference/inbox-categories/get-inbox-category"},{"title":"Update inbox category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/inbox/threads/categories/{id}","href":"/api-reference/inbox-categories/update-inbox-category"},{"title":"Delete inbox category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/inbox/threads/categories/{id}","href":"/api-reference/inbox-categories/delete-inbox-category"},{"title":"Assign threads to a category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/categories/{id}/thread-links/bulk","href":"/api-reference/inbox-categories/assign-threads-to-a-category"},{"title":"Unassign threads from a category","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/inbox/threads/categories/{id}/thread-links/bulk-delete","href":"/api-reference/inbox-categories/unassign-threads-from-a-category"}]}]},{"group":"Outreach \u0026 Reporting","pages":[{"group":"Direct Outreach","pages":[{"title":"Send a direct email to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/send-direct-email","href":"/api-reference/direct-outreach/send-a-direct-email-to-a-contact"},{"title":"Send a LinkedIn connection request to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/send-direct-linkedin-connect","href":"/api-reference/direct-outreach/send-a-linkedin-connection-request-to-a-contact"},{"title":"Send a LinkedIn InMail to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/send-direct-linkedin-inmail","href":"/api-reference/direct-outreach/send-a-linkedin-inmail-to-a-contact"},{"title":"Send a LinkedIn message to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/send-direct-linkedin-message","href":"/api-reference/direct-outreach/send-a-linkedin-message-to-a-contact"},{"title":"Send a LinkedIn voice message to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/send-direct-linkedin-voice","href":"/api-reference/direct-outreach/send-a-linkedin-voice-message-to-a-contact"},{"title":"Send an AI-generated LinkedIn voice message to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/contacts/{id}/send-direct-linkedin-ai-voice","href":"/api-reference/direct-outreach/send-an-ai-generated-linkedin-voice-message-to-a-contact"},{"title":"Get a direct send","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/direct-sends/{reference}","href":"/api-reference/direct-outreach/get-a-direct-send"},{"title":"Cancel a direct send","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/direct-sends/{reference}/cancel","href":"/api-reference/direct-outreach/cancel-a-direct-send"}]},{"group":"Tasks","pages":[{"title":"List all tasks","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/tasks","href":"/api-reference/tasks/list-all-tasks"},{"title":"Create a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks","href":"/api-reference/tasks/create-a-task"},{"title":"Filter tasks","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks/filter","href":"/api-reference/tasks/filter-tasks"},{"title":"Get a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/tasks/{id}","href":"/api-reference/tasks/get-a-task"},{"title":"Update a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/tasks/{id}","href":"/api-reference/tasks/update-a-task"},{"title":"Delete a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/tasks/{id}","href":"/api-reference/tasks/delete-a-task"},{"title":"Reassign a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/tasks/{id}/assigned-user","href":"/api-reference/tasks/reassign-a-task"},{"title":"Complete a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks/{id}/complete","href":"/api-reference/tasks/complete-a-task"},{"title":"Execute and complete a task","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks/{id}/execute","href":"/api-reference/tasks/execute-and-complete-a-task"},{"title":"Bulk delete tasks","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks/bulk-delete","href":"/api-reference/tasks/bulk-delete-tasks"},{"title":"Batch reassign tasks","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks/batch/assign","href":"/api-reference/tasks/batch-reassign-tasks"},{"title":"Batch complete tasks","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/tasks/batch/complete","href":"/api-reference/tasks/batch-complete-tasks"}]},{"group":"Reports","pages":[{"title":"Get email reporting overview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/emails/overview","href":"/api-reference/reports/get-email-reporting-overview"},{"title":"Get calls reporting overview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/calls/overview","href":"/api-reference/reports/get-calls-reporting-overview"},{"title":"Get tasks reporting overview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/tasks/overview","href":"/api-reference/reports/get-tasks-reporting-overview"},{"title":"Get LinkedIn reporting overview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/linkedin/overview","href":"/api-reference/reports/get-linkedin-reporting-overview"},{"title":"Get team performance overview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/team-performance/overview","href":"/api-reference/reports/get-team-performance-overview"},{"title":"Get channel efficiency overview","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/channel-efficiency/overview","href":"/api-reference/reports/get-channel-efficiency-overview"},{"title":"List email activity","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/emails","href":"/api-reference/reports/list-email-activity"},{"title":"List call activity","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/calls","href":"/api-reference/reports/list-call-activity"},{"title":"List task activity","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/tasks","href":"/api-reference/reports/list-task-activity"},{"title":"List LinkedIn activity","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/linkedin","href":"/api-reference/reports/list-linkedin-activity"},{"title":"List meetings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/reporting/team-performance/meetings","href":"/api-reference/reports/list-meetings"}]}]},{"group":"AI SDR","pages":[{"group":"Sequences","pages":[{"title":"Create an AI SDR sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr","href":"/api-reference/ai-sdr-sequences/create-an-ai-sdr-sequence"},{"title":"Read AI SDR sequence settings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/settings","href":"/api-reference/ai-sdr-sequences/read-ai-sdr-sequence-settings"},{"title":"Update AI SDR sequence settings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/sequences/ai-sdr/{sequence_id}/settings","href":"/api-reference/ai-sdr-sequences/update-ai-sdr-sequence-settings"},{"title":"Enable autopilot","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/autopilot/enable","href":"/api-reference/ai-sdr-sequences/enable-autopilot"},{"title":"Disable autopilot","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/autopilot/disable","href":"/api-reference/ai-sdr-sequences/disable-autopilot"},{"title":"Force-start an autopilot search","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/autopilot/force-start","href":"/api-reference/ai-sdr-sequences/force-start-an-autopilot-search"},{"title":"Preview autopilot results","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/autopilot/preview","href":"/api-reference/ai-sdr-sequences/preview-autopilot-results"},{"title":"Set the approval mode","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequences/ai-sdr/{sequence_id}/approval-mode","href":"/api-reference/ai-sdr-sequences/set-the-approval-mode"},{"title":"Get the sequence's structure","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/structure","href":"/api-reference/ai-sdr-sequences/get-the-sequences-structure"},{"title":"Set the sequence's structure","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml put /v3/sequences/ai-sdr/{sequence_id}/structure","href":"/api-reference/ai-sdr-sequences/set-the-sequences-structure"},{"title":"Save the sequence's steps as a structure","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/structure/save-as","href":"/api-reference/ai-sdr-sequences/save-the-sequences-steps-as-a-structure"},{"title":"Get the sequence's playbook","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/playbook","href":"/api-reference/ai-sdr-sequences/get-the-sequences-playbook"},{"title":"Attach a playbook to the sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequences/ai-sdr/{sequence_id}/playbook","href":"/api-reference/ai-sdr-sequences/attach-a-playbook-to-the-sequence"},{"title":"Detach the playbook from the sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/ai-sdr/{sequence_id}/playbook","href":"/api-reference/ai-sdr-sequences/detach-the-playbook-from-the-sequence"},{"title":"Get the sequence's playbook draft","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/playbook-draft","href":"/api-reference/ai-sdr-sequences/get-the-sequences-playbook-draft"},{"title":"Generate a playbook draft","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/playbook-draft/generate","href":"/api-reference/ai-sdr-sequences/generate-a-playbook-draft"},{"title":"Regenerate the playbook draft","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/playbook-draft/regenerate","href":"/api-reference/ai-sdr-sequences/regenerate-the-playbook-draft"},{"title":"Add example messages to the playbook draft","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/playbook-draft/example-files","href":"/api-reference/ai-sdr-sequences/add-example-messages-to-the-playbook-draft"},{"title":"Save the playbook draft","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/playbook-draft/save","href":"/api-reference/ai-sdr-sequences/save-the-playbook-draft"},{"title":"Get the sequence's knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/knowledge-base","href":"/api-reference/ai-sdr-sequences/get-the-sequences-knowledge-base"},{"title":"Connect a knowledge base to the sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/sequences/ai-sdr/{sequence_id}/knowledge-base","href":"/api-reference/ai-sdr-sequences/connect-a-knowledge-base-to-the-sequence"},{"title":"Disconnect the knowledge base from the sequence","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/ai-sdr/{sequence_id}/knowledge-base","href":"/api-reference/ai-sdr-sequences/disconnect-the-knowledge-base-from-the-sequence"}]},{"group":"Sequence Structures","tag":"CS","pages":[{"title":"List sequence structures","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/sequence-structures","href":"/api-reference/ai-sdr-sequence-structures/list-sequence-structures"},{"title":"Get a sequence structure","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/sequence-structures/{id}","href":"/api-reference/ai-sdr-sequence-structures/get-a-sequence-structure"}]},{"group":"Strategist","pages":[{"title":"Start a strategist run","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/strategist/start","href":"/api-reference/ai-sdr-strategist/start-a-strategist-run"}]},{"group":"Playbooks","pages":[{"title":"List playbooks","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/playbooks","href":"/api-reference/ai-sdr-playbooks/list-playbooks"},{"title":"Create a playbook","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/playbooks","href":"/api-reference/ai-sdr-playbooks/create-a-playbook"},{"title":"Get a playbook","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/playbooks/{id}","href":"/api-reference/ai-sdr-playbooks/get-a-playbook"},{"title":"Update a playbook","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/playbooks/{id}","href":"/api-reference/ai-sdr-playbooks/update-a-playbook"},{"title":"Delete a playbook","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/playbooks/{id}","href":"/api-reference/ai-sdr-playbooks/delete-a-playbook"},{"title":"Duplicate a playbook","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/playbooks/{id}/duplicate","href":"/api-reference/ai-sdr-playbooks/duplicate-a-playbook"},{"title":"Regenerate a playbook","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/playbooks/{id}/regenerate","href":"/api-reference/ai-sdr-playbooks/regenerate-a-playbook"},{"title":"List sequences using a playbook","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/playbooks/{id}/sequences","href":"/api-reference/ai-sdr-playbooks/list-sequences-using-a-playbook"},{"title":"Upload a style file","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/playbooks/{playbook_id}/style-files","href":"/api-reference/ai-sdr-playbooks/upload-a-style-file"},{"title":"Delete a style file","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/playbooks/{playbook_id}/style-files/{style_file_id}","href":"/api-reference/ai-sdr-playbooks/delete-a-style-file"}]},{"group":"Knowledge Bases","pages":[{"title":"List knowledge bases","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases","href":"/api-reference/ai-sdr-knowledge-bases/list-knowledge-bases"},{"title":"Create a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases","href":"/api-reference/ai-sdr-knowledge-bases/create-a-knowledge-base"},{"title":"Get a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{id}","href":"/api-reference/ai-sdr-knowledge-bases/get-a-knowledge-base"},{"title":"Update a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/knowledge-bases/{id}","href":"/api-reference/ai-sdr-knowledge-bases/update-a-knowledge-base"},{"title":"Delete a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-a-knowledge-base"},{"title":"Duplicate a knowledge base","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{id}/duplicate","href":"/api-reference/ai-sdr-knowledge-bases/duplicate-a-knowledge-base"},{"title":"List links","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links","href":"/api-reference/ai-sdr-knowledge-bases/list-links"},{"title":"Add a link","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links","href":"/api-reference/ai-sdr-knowledge-bases/add-a-link"},{"title":"Delete a link","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/links/{link_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-a-link"},{"title":"List documents","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents","href":"/api-reference/ai-sdr-knowledge-bases/list-documents"},{"title":"Upload a document","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents","href":"/api-reference/ai-sdr-knowledge-bases/upload-a-document"},{"title":"Delete a document","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/documents/{document_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-a-document"},{"title":"List reply handlers","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers","href":"/api-reference/ai-sdr-knowledge-bases/list-reply-handlers"},{"title":"Create a reply handler","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers","href":"/api-reference/ai-sdr-knowledge-bases/create-a-reply-handler"},{"title":"Get a reply handler","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}","href":"/api-reference/ai-sdr-knowledge-bases/get-a-reply-handler"},{"title":"Update a reply handler","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}","href":"/api-reference/ai-sdr-knowledge-bases/update-a-reply-handler"},{"title":"Delete a reply handler","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-a-reply-handler"},{"title":"Upload reply handler media","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}/media","href":"/api-reference/ai-sdr-knowledge-bases/upload-reply-handler-media"},{"title":"Delete reply handler media","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reply-handlers/{reply_handler_id}/media/{media_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-reply-handler-media"},{"title":"List reengagement cards","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards","href":"/api-reference/ai-sdr-knowledge-bases/list-reengagement-cards"},{"title":"Create a reengagement card","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards","href":"/api-reference/ai-sdr-knowledge-bases/create-a-reengagement-card"},{"title":"Get a reengagement card","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}","href":"/api-reference/ai-sdr-knowledge-bases/get-a-reengagement-card"},{"title":"Update a reengagement card","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}","href":"/api-reference/ai-sdr-knowledge-bases/update-a-reengagement-card"},{"title":"Delete a reengagement card","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-a-reengagement-card"},{"title":"Upload reengagement card media","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}/media","href":"/api-reference/ai-sdr-knowledge-bases/upload-reengagement-card-media"},{"title":"Delete reengagement card media","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-cards/{reengagement_card_id}/media/{media_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-reengagement-card-media"},{"title":"List reengagement flows","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows","href":"/api-reference/ai-sdr-knowledge-bases/list-reengagement-flows"},{"title":"Create a reengagement flow","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows","href":"/api-reference/ai-sdr-knowledge-bases/create-a-reengagement-flow"},{"title":"Update a reengagement flow","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}","href":"/api-reference/ai-sdr-knowledge-bases/update-a-reengagement-flow"},{"title":"Delete a reengagement flow","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}","href":"/api-reference/ai-sdr-knowledge-bases/delete-a-reengagement-flow"},{"title":"Duplicate a reengagement flow","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/duplicate","href":"/api-reference/ai-sdr-knowledge-bases/duplicate-a-reengagement-flow"},{"title":"Set a reengagement flow as default","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/set-default","href":"/api-reference/ai-sdr-knowledge-bases/set-a-reengagement-flow-as-default"},{"title":"Assign a reengagement flow to a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/assign","href":"/api-reference/ai-sdr-knowledge-bases/assign-a-reengagement-flow-to-a-contact"},{"title":"Get contacts count for a reengagement flow","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/{flow_id}/contacts-count","href":"/api-reference/ai-sdr-knowledge-bases/get-contacts-count-for-a-reengagement-flow"},{"title":"Get reengagement flow state for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/knowledge-bases/{knowledge_base_id}/reengagement-flows/state","href":"/api-reference/ai-sdr-knowledge-bases/get-reengagement-flow-state-for-a-contact"}]},{"group":"Offers","pages":[{"title":"List offers","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/offers","href":"/api-reference/ai-sdr-offers/list-offers"},{"title":"Create an offer","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/offers","href":"/api-reference/ai-sdr-offers/create-an-offer"},{"title":"Get an offer","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/offers/{id}","href":"/api-reference/ai-sdr-offers/get-an-offer"},{"title":"Update an offer","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/offers/{id}","href":"/api-reference/ai-sdr-offers/update-an-offer"},{"title":"Delete an offer","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/offers/{id}","href":"/api-reference/ai-sdr-offers/delete-an-offer"},{"title":"Duplicate an offer","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/offers/{id}/duplicate","href":"/api-reference/ai-sdr-offers/duplicate-an-offer"},{"title":"Generate an offer","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/offers/generate","href":"/api-reference/ai-sdr-offers/generate-an-offer"},{"title":"Upload an attachment for offer generation","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/offers/generation-attachments","href":"/api-reference/ai-sdr-offers/upload-an-attachment-for-offer-generation"}]},{"group":"Pending Approvals","pages":[{"title":"List pending approvals","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/approvals","href":"/api-reference/ai-sdr-pending-approvals/list-pending-approvals"},{"title":"Send a batch of pending approvals","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/approvals/send-bulk","href":"/api-reference/ai-sdr-pending-approvals/send-a-batch-of-pending-approvals"},{"title":"Get pending approval for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval","href":"/api-reference/ai-sdr-pending-approvals/get-pending-approval-for-a-contact"},{"title":"Reject (delete) a pending approval","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval","href":"/api-reference/ai-sdr-pending-approvals/reject-delete-a-pending-approval"},{"title":"Send a pending approval","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/send","href":"/api-reference/ai-sdr-pending-approvals/send-a-pending-approval"},{"title":"Regenerate a pending approval","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/regenerate","href":"/api-reference/ai-sdr-pending-approvals/regenerate-a-pending-approval"},{"title":"Submit feedback on a pending approval","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/approval/feedback","href":"/api-reference/ai-sdr-pending-approvals/submit-feedback-on-a-pending-approval"}]},{"group":"Sequence Preview","pages":[{"title":"Submit feedback on a preview step","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/steps/{step_id}/feedback","href":"/api-reference/ai-sdr-sequence-preview/submit-feedback-on-a-preview-step"},{"title":"Personalize the preview for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/preview/personalize","href":"/api-reference/ai-sdr-sequence-preview/personalize-the-preview-for-a-contact"}]},{"group":"Insights","tag":"CS","pages":[{"title":"Get AI insights for a contact","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/sequences/ai-sdr/{sequence_id}/contacts/{contact_id}/ai-insights","href":"/api-reference/ai-sdr-insights/get-ai-insights-for-a-contact"}]},{"group":"Intent Signals","pages":[{"title":"Intent signal industries typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/intent-signals/industries","href":"/api-reference/ai-sdr-intent-signals/intent-signal-industries-typeahead"},{"title":"Technologies typeahead","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/intent-signals/technologies","href":"/api-reference/ai-sdr-intent-signals/technologies-typeahead"}]},{"group":"AI Prompts","pages":[{"title":"List AI prompts","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-prompts","href":"/api-reference/ai-prompts/list-ai-prompts"},{"title":"Create a personal AI prompt","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-prompts","href":"/api-reference/ai-prompts/create-a-personal-ai-prompt"},{"title":"Update a personal AI prompt","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/ai-prompts/{id}","href":"/api-reference/ai-prompts/update-a-personal-ai-prompt"},{"title":"Delete a personal AI prompt","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-prompts/{id}","href":"/api-reference/ai-prompts/delete-a-personal-ai-prompt"},{"title":"Preview a comment prompt against a sample post","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-prompts/preview/sample","href":"/api-reference/ai-prompts/preview-a-comment-prompt-against-a-sample-post"},{"title":"Preview a comment prompt against a LinkedIn post","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-prompts/preview/linkedin-post","href":"/api-reference/ai-prompts/preview-a-comment-prompt-against-a-linkedin-post"}]},{"group":"Learnings","tag":"NEW","pages":[{"title":"List AI learnings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/learnings","href":"/api-reference/ai-sdr-learnings/list-ai-learnings"},{"title":"Create an AI learning","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/ai-sdr/learnings","href":"/api-reference/ai-sdr-learnings/create-an-ai-learning"},{"title":"Get an AI learning","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/ai-sdr/learnings/{id}","href":"/api-reference/ai-sdr-learnings/get-an-ai-learning"},{"title":"Update an AI learning","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/ai-sdr/learnings/{id}","href":"/api-reference/ai-sdr-learnings/update-an-ai-learning"},{"title":"Delete an AI learning","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/ai-sdr/learnings/{id}","href":"/api-reference/ai-sdr-learnings/delete-an-ai-learning"}]}]},{"group":"Domains \u0026 Mailboxes","pages":[{"group":"Domain owner","tag":"NEW","pages":[{"title":"Register domain owner details","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/users","href":"/api-reference/registration/register-domain-owner-details"},{"title":"List country states","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/procurement/geo/states","href":"/api-reference/registration/list-country-states"}]},{"group":"Domain purchase","tag":"NEW","pages":[{"title":"Find available domains","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/procurement/domains/available","href":"/api-reference/domains/find-available-domains"},{"title":"Estimate order cost","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/domains/estimate","href":"/api-reference/domains/estimate-order-cost"},{"title":"Buy a domain with mailboxes","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/domains/purchase","href":"/api-reference/domains/buy-a-domain-with-mailboxes"}]},{"group":"Purchased domains","tag":"NEW","pages":[{"title":"List purchased domains","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/procurement/domains","href":"/api-reference/purchased-domains/list-purchased-domains"},{"title":"Renew a purchased domain","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/domains/{domainId}/renew","href":"/api-reference/purchased-domains/renew-a-purchased-domain"},{"title":"Estimate a domain renewal","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/domains/{domainId}/renew/estimate","href":"/api-reference/purchased-domains/estimate-a-domain-renewal"}]},{"group":"Pre-warmed domains","tag":"NEW","pages":[{"title":"List owned pre-warmed domains","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/procurement/pre-warmed-domains","href":"/api-reference/pre-warmed-domains/list-owned-pre-warmed-domains"},{"title":"Find pre-warmed domains to buy","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/email-accounts/procurement/pre-warmed-domains/available","href":"/api-reference/pre-warmed-domains/find-pre-warmed-domains-to-buy"}]},{"group":"Mailboxes on existing domains","pages":[{"title":"Reconnect a purchased mailbox","deprecated":null,"version":null,"tag":"CS","openapi":"/api-reference/bundled.yaml post /v3/email-accounts/{id}/procurement/reconnect","href":"/api-reference/mailboxes/reconnect-a-purchased-mailbox"},{"title":"Estimate mailbox cost","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/domains/{domainId}/mailboxes/estimate","href":"/api-reference/mailboxes/estimate-mailbox-cost"},{"title":"Add mailboxes","deprecated":null,"version":null,"tag":"NEW","openapi":"/api-reference/bundled.yaml post /v3/email-accounts/procurement/domains/{domainId}/mailboxes/purchase","href":"/api-reference/mailboxes/add-mailboxes"}]}]},{"group":"Team \u0026 Preferences","pages":[{"group":"User Account","pages":[{"title":"Get current user","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/whoami","href":"/api-reference/user-account/get-current-user"},{"title":"List team users","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/whoami/team-users","href":"/api-reference/user-account/list-team-users"}]},{"group":"Teams","tag":"NEW","pages":[{"title":"Add existing users to a team","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/teams/{team_id}/users/bulk","href":"/api-reference/teams/add-existing-users-to-a-team"}]},{"group":"Settings","pages":[{"title":"Get settings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/settings","href":"/api-reference/settings/get-settings"},{"title":"Update settings","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml patch /v3/settings","href":"/api-reference/settings/update-settings"}]},{"group":"Billing","pages":[{"title":"Get billing details","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/billing","href":"/api-reference/billing/get-billing-details"}]},{"group":"Rate Limits","tag":"NEW","pages":[{"title":"Get rate limits","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/rate-limits","href":"/api-reference/rate-limits/get-rate-limits"},{"title":"Get API limit packages","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/settings/api-limit-packages","href":"/api-reference/rate-limits/get-api-limit-packages"},{"title":"Set your API limit packages","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/settings/api-limit-packages/mine","href":"/api-reference/rate-limits/set-your-api-limit-packages"}]},{"group":"Support Requests","tag":"CS","pages":[{"title":"List support requests","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/support/requests","href":"/api-reference/support-requests/list-support-requests"},{"title":"Create a support request","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/support/requests","href":"/api-reference/support-requests/create-a-support-request"},{"title":"Get a support request","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/support/requests/{id}","href":"/api-reference/support-requests/get-a-support-request"},{"title":"Send an answer to a support request","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/support/requests/{id}/respond","href":"/api-reference/support-requests/send-an-answer-to-a-support-request"},{"title":"Cancel a support request","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/support/requests/{id}/cancel","href":"/api-reference/support-requests/cancel-a-support-request"},{"title":"Add a file to a support request","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/support/requests/{id}/attachments","href":"/api-reference/support-requests/add-a-file-to-a-support-request"},{"title":"Get a support request file","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/support/requests/{id}/attachments/{file_id}","href":"/api-reference/support-requests/get-a-support-request-file"}]}]},{"group":"Automation \u0026 Platform","pages":[{"group":"Webhooks","pages":[{"title":"List webhook subscriptions","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/webhooks","href":"/api-reference/webhooks/list-webhook-subscriptions"},{"title":"Create a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/webhooks","href":"/api-reference/webhooks/create-a-webhook-subscription"},{"title":"List supported event types","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/webhooks/events","href":"/api-reference/webhooks/list-supported-event-types"},{"title":"Get a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/webhooks/{id}","href":"/api-reference/webhooks/get-a-webhook-subscription"},{"title":"Update a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml put /v3/webhooks/{id}","href":"/api-reference/webhooks/update-a-webhook-subscription"},{"title":"Delete a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml delete /v3/webhooks/{id}","href":"/api-reference/webhooks/delete-a-webhook-subscription"},{"title":"Send a test payload","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/webhooks/{id}/test","href":"/api-reference/webhooks/send-a-test-payload"},{"title":"Enable a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/webhooks/{id}/enable","href":"/api-reference/webhooks/enable-a-webhook-subscription"},{"title":"Disable a webhook subscription","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/webhooks/{id}/disable","href":"/api-reference/webhooks/disable-a-webhook-subscription"},{"title":"Get webhook delivery logs","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/webhooks/{id}/logs","href":"/api-reference/webhooks/get-webhook-delivery-logs"}]},{"group":"Background Jobs","pages":[{"title":"List background jobs","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/background-jobs","href":"/api-reference/background-jobs/list-background-jobs"},{"title":"Get a background job","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml get /v3/background-jobs/{jobId}","href":"/api-reference/background-jobs/get-a-background-job"},{"title":"Cancel a background job","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/background-jobs/{jobId}/cancel","href":"/api-reference/background-jobs/cancel-a-background-job"}]},{"group":"Attachments","pages":[{"title":"Upload attachment","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/attachments","href":"/api-reference/attachments/upload-attachment"},{"title":"Upload voice attachment","deprecated":null,"version":null,"openapi":"/api-reference/bundled.yaml post /v3/attachments/voice","href":"/api-reference/attachments/upload-voice-attachment"}]}]},{"group":"Schemas","pages":[{"group":"Schemas","icon":"cube","pages":[{"title":"Schemas","href":"/api-reference/schemas"}]},{"group":"Webhook events","icon":"webhook","pages":[{"title":"Webhook events","href":"/webhook-events"},{"title":"Webhook event payloads","href":"/webhook-event-payloads"}]}]},{"group":"For AI agents","icon":"robot","pages":[{"title":"Agentic capabilities","href":"/agents/overview"},{"title":"Choose your interface","href":"/agents/choose-your-interface"},{"title":"Agent safety rules","href":"/agents/safety"},{"title":"Drop-in system prompts","href":"/agents/prompts"},{"title":"Machine-readable indexes","href":"/agents/machine-readable"}]}]},{"tab":"Guides","pages":[{"title":"Guides","href":"/guides/find-ideal-prospects"}]},{"tab":"MCP","pages":[{"title":"MCP","href":"/mcp/overview"}]},{"tab":"Skills","pages":[{"title":"Skills","href":"/skills/overview"}]},{"tab":"CLI","pages":[{"title":"CLI","href":"/cli/overview"}]}]}]},"basePath":"","title":"Import contacts - Reply API Documentation","buildId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","deploymentId":"dpl_FWZhTb2vab28gFGFH4ojka6qEznQ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CBsVopKK.js","utils-DZAk68jJ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-D32AYZrP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D_A5_cny.js","snippetPresets-xNRfS9th.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BIB25-tq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CydJ4w4j.js","shallow-CYPBeQSG.js","getApiPlaygroundDisplay-A5xJVBOu.js","CodeSnippet-BVRTgi3m.js","CodeSnippets-DjD6BSlt.js","Page-Dr40SSJq.js","getPastedJson-D4V4JyrR.js","icon-uhcnG22T.js","MethodPill-CM-ZQdGH.js","DuplicateIcon-B_WnOiNf.js","createIcon-CJsb8utt.js","DynamicMarkdown-D-2HDKEp.js","SectionHeading-KP5xmMgQ.js","axios-vUo_bRtp.js","Markdown-D_k0dg6k.js","clsx-DK3K4Z1S.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-DE3EVdvd.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-fN9H9n9g.js"]}