Sets which of the contact’s known emails and phone numbers are its primary ones. Primaries are chosen by value: primaryEmail must be one of the addresses already on the contact and primaryPhone one of its phone numbers, written exactly as they appear on the list row (emails[].email, phones[].phoneNumber); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call.
Errors:
404CONTACT_NOT_FOUND — No contact with that id exists.
422PRIMARY_VALUE_NOT_ON_CONTACT — The value is not one the contact already carries; param names which of primaryEmail / primaryPhone was rejected and nothing was changed.
422VALIDATION_FAILED — The body failed validation, including a body with neither primaryEmail nor primaryPhone.
429RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.
500UNEXPECTED_ERROR — The request could not be completed; quote request_id to support.
Requires one of the following token scopes: contacts.
Email address to make the contact's primary email (a valid address, max 320 characters). It must be one of the emails the contact already carries: this promotes an existing value and never adds a new one.
Phone number to make the contact's primary phone (3-32 characters, written exactly as it appears in the contact's phones). It must be one of the phone numbers the contact already carries: this promotes an existing value and never adds a new one.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Fuse API","colors":{"primary":"#22857C","light":"#34C7BA","dark":"#22857C"},"logo":{"light":"https://mintcdn.com/fuseai/HxYNa2W1WI8CM0N4/logo/light.svg?fit=max\u0026auto=format\u0026n=HxYNa2W1WI8CM0N4\u0026q=85\u0026s=c9afa73057eb802e14743fbb297c60d5","dark":"https://mintcdn.com/fuseai/HxYNa2W1WI8CM0N4/logo/dark.svg?fit=max\u0026auto=format\u0026n=HxYNa2W1WI8CM0N4\u0026q=85\u0026s=1fc8cdcdfa374184a0d0be9a3559e3ae"},"favicon":{"light":"https://mintcdn.com/fuseai/HxYNa2W1WI8CM0N4/favicon/light.svg?fit=max\u0026auto=format\u0026n=HxYNa2W1WI8CM0N4\u0026q=85\u0026s=ac736774fcb3b9a1a851b2993948e5ec","dark":"https://mintcdn.com/fuseai/HxYNa2W1WI8CM0N4/favicon/dark.svg?fit=max\u0026auto=format\u0026n=HxYNa2W1WI8CM0N4\u0026q=85\u0026s=32e317b320fd34552ab3990cd8a717a4"},"api":{"playground":{"display":"interactive"},"examples":{"defaults":"required","languages":["curl","python","javascript"],"prefill":true}},"background":{"color":{"light":"#FFFFFF","dark":"#161615"}},"navbar":{"links":[{"href":"mailto:support@fuseai.com","label":"Support"}],"primary":{"type":"button","label":"Open Fuse","href":"https://app.tryfuse.ai"}},"footer":{"socials":{"website":"https://fuseai.com","linkedin":"https://www.linkedin.com/company/fuseaicom"}},"contextual":{"options":["copy","view","claude","cursor"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"fuseai","hasAudioNarration":false,"actualSubdomain":"fuseai","customDomains":["docs.fuseai.com"],"gitSource":{"type":"github","owner":"kompassai-com","repo":"api-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"latestBuiltDeploymentHistoryId":"6ae37b777a4e4821c08feade","collectionId":"5bacfad1-97dd-4f59-945f-2a160fb2f0c7","liveDeploymentHistoryId":"6ae37b777a4e4821c08feade","schemaVersion":"v3"},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae37b777a4e4821c08feade","clientVersion":"0.0.4043","searchFilterCounts":[{"language":"default","tag":"API Reference","count":157},{"language":"default","tag":"Documentation","count":50},{"language":"default","tag":"Agents","count":27},{"language":"default","tag":"Knowledge hubs","count":18},{"language":"default","tag":"Lists","count":17},{"language":"default","tag":"Campaigns","count":15},{"language":"default","tag":"Guides","count":14},{"language":"default","tag":"Workflows","count":10},{"language":"default","tag":"Data","count":9},{"language":"default","tag":"Account","count":8}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#topbar-cta-button .bg-primary-dark{background-color:rgb(0 0 0)}.dark #topbar-cta-button .bg-primary-dark{background-color:rgb(255 255 255)}.dark #topbar-cta-button .text-white,.dark #topbar-cta-button .text-white\\/90{color:rgb(0 0 0)}"}],"page":{"pagePath":"api-reference/contacts/set-a-contacts-primary-email-andor-phone","slug":"/api-reference/contacts/set-a-contacts-primary-email-andor-phone","pageMetadata":{"title":"Set a contact's primary email and/or phone","description":"Sets which of the contact's known emails and phone numbers are its primary ones. Primaries are chosen by value: `primaryEmail` must be one of the addresses already on the contact and `primaryPhone` one of its phone numbers, written exactly as they appear on the list row (`emails[].email`, `phones[].phoneNumber`); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call.\n\nErrors:\n- `404` `CONTACT_NOT_FOUND` — No contact with that id exists.\n- `422` `PRIMARY_VALUE_NOT_ON_CONTACT` — The value is not one the contact already carries; `param` names which of primaryEmail / primaryPhone was rejected and nothing was changed.\n- `422` `VALIDATION_FAILED` — The body failed validation, including a body with neither primaryEmail nor primaryPhone.\n- `429` `RATE_LIMITED` — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.\n- `500` `UNEXPECTED_ERROR` — The request could not be completed; quote request_id to support.\n\nRequires one of the following token scopes: contacts.","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/contacts/{contactId}","href":"/api-reference/contacts/set-a-contacts-primary-email-andor-phone","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 li: \"li\",\n p: \"p\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsxs(_components.p, {\n children: [\"Sets which of the contact’s known emails and phone numbers are its primary ones. Primaries are chosen by value: \", _jsx(_components.code, {\n children: \"primaryEmail\"\n }), \" must be one of the addresses already on the contact and \", _jsx(_components.code, {\n children: \"primaryPhone\"\n }), \" one of its phone numbers, written exactly as they appear on the list row (\", _jsx(_components.code, {\n children: \"emails[].email\"\n }), \", \", _jsx(_components.code, {\n children: \"phones[].phoneNumber\"\n }), \"); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Errors:\"\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"404\"\n }), \" \", _jsx(_components.code, {\n children: \"CONTACT_NOT_FOUND\"\n }), \" — No contact with that id exists.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"422\"\n }), \" \", _jsx(_components.code, {\n children: \"PRIMARY_VALUE_NOT_ON_CONTACT\"\n }), \" — The value is not one the contact already carries; \", _jsx(_components.code, {\n children: \"param\"\n }), \" names which of primaryEmail / primaryPhone was rejected and nothing was changed.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"422\"\n }), \" \", _jsx(_components.code, {\n children: \"VALIDATION_FAILED\"\n }), \" — The body failed validation, including a body with neither primaryEmail nor primaryPhone.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"429\"\n }), \" \", _jsx(_components.code, {\n children: \"RATE_LIMITED\"\n }), \" — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.\"]\n }), \"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"500\"\n }), \" \", _jsx(_components.code, {\n children: \"UNEXPECTED_ERROR\"\n }), \" — The request could not be completed; quote request_id to support.\"]\n }), \"\\n\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"Requires one of the following token scopes: contacts.\"\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":"Set a contact's primary email and/or phone","description":"Sets which of the contact's known emails and phone numbers are its primary ones. Primaries are chosen by value: `primaryEmail` must be one of the addresses already on the contact and `primaryPhone` one of its phone numbers, written exactly as they appear on the list row (`emails[].email`, `phones[].phoneNumber`); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call.\n\nErrors:\n- `404` `CONTACT_NOT_FOUND` — No contact with that id exists.\n- `422` `PRIMARY_VALUE_NOT_ON_CONTACT` — The value is not one the contact already carries; `param` names which of primaryEmail / primaryPhone was rejected and nothing was changed.\n- `422` `VALIDATION_FAILED` — The body failed validation, including a body with neither primaryEmail nor primaryPhone.\n- `429` `RATE_LIMITED` — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.\n- `500` `UNEXPECTED_ERROR` — The request could not be completed; quote request_id to support.\n\nRequires one of the following token scopes: contacts.","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/contacts/{contactId}","href":"/api-reference/contacts/set-a-contacts-primary-email-andor-phone","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"updateContact","summary":"Set a contact's primary email and/or phone","tags":["Contacts"],"security":["06242704-a47b-4046-8148-d87f713e218f"],"parameters":["de52e895-64e3-4614-8919-6c0b2610ba9d"],"responses":{"200":"25e53792-ddaa-40d3-bd31-5139395e553d","400":"c92cc5ec-ffb9-40a4-8cbd-23b05a5cb622","401":"d5979a6b-51a8-45f0-a292-3965fdd14254","402":"3fd7a2d1-612d-4754-9043-085fd03ead50","403":"66416638-b5bb-4a0f-9611-fc5df927c7b8","404":"c74a80c1-0cf9-465d-a9ae-02bc2fb65c21","409":"fa436117-0621-4245-99c2-744901cfa96e","422":"7aaaafee-aea2-4267-a2ee-8ff830b9c9c6","429":"e18f2dd1-9c23-4101-bf9c-68902b28e30b","500":"cae37d7a-6370-44c8-8c9d-9b791a1a0f32"},"description":"Sets which of the contact's known emails and phone numbers are its primary ones. Primaries are chosen by value: `primaryEmail` must be one of the addresses already on the contact and `primaryPhone` one of its phone numbers, written exactly as they appear on the list row (`emails[].email`, `phones[].phoneNumber`); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call.\n\nErrors:\n- `404` `CONTACT_NOT_FOUND` — No contact with that id exists.\n- `422` `PRIMARY_VALUE_NOT_ON_CONTACT` — The value is not one the contact already carries; `param` names which of primaryEmail / primaryPhone was rejected and nothing was changed.\n- `422` `VALIDATION_FAILED` — The body failed validation, including a body with neither primaryEmail nor primaryPhone.\n- `429` `RATE_LIMITED` — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.\n- `500` `UNEXPECTED_ERROR` — The request could not be completed; quote request_id to support.\n\nRequires one of the following token scopes: contacts.","requestBody":"48c04520-9e88-4d36-a31c-791c0ccc4273","method":"patch","type":"path","servers":["4ca8b996-e74f-447c-8937-bc591ab08d00"],"path":"/business/contacts/{contactId}","baseUrlOptions":["https://api.tryfuse.ai/api/v1"],"title":"Set a contact's primary email and/or phone","codeSamples":[],"requestExampleLanguages":["bash","python","javascript"],"requiredOnlyExamples":true,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.primaryEmail":"jsmith@example.com","body.primaryPhone":"\u003cstring>"}]},"dependencies":{"parameters":{"de52e895-64e3-4614-8919-6c0b2610ba9d":{"name":"contactId","in":"path","required":true,"description":"Id of the contact: the row id from GET /business/lists/{listId}/rows, or the contactId returned by POST /business/contacts/resolve.","schema":{"type":"string","description":"Id of the contact: the row id from GET /business/lists/{listId}/rows, or the contactId returned by POST /business/contacts/resolve.","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"primaryEmail":{"type":"string","format":"email","maxLength":320,"description":"Email address to make the contact's primary email (a valid address, max 320 characters). It must be one of the emails the contact already carries: this promotes an existing value and never adds a new one.","uniqueKey":"primaryEmail","typeLabel":"string\u003cemail>"},"primaryPhone":{"type":"string","minLength":3,"maxLength":32,"description":"Phone number to make the contact's primary phone (3-32 characters, written exactly as it appears in the contact's phones). It must be one of the phone numbers the contact already carries: this promotes an existing value and never adds a new one.","uniqueKey":"primaryPhone","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"primaryEmail":"jsmith@example.com","primaryPhone":"\u003cstring>"}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"25e53792-ddaa-40d3-bd31-5139395e553d":{"description":"Success","headers":{"RateLimit-Limit":{"schema":{"type":"integer"},"description":"Requests permitted in the current window."},"RateLimit-Remaining":{"schema":{"type":"integer"},"description":"Requests remaining in the current window."},"RateLimit-Reset":{"schema":{"type":"integer"},"description":"Seconds until the current window resets."}},"content":{"application/json":{"schema":{"type":"object","required":["contact"],"properties":{"contact":{"type":"object","required":["id","primaryEmail","primaryPhone"],"properties":{"id":{"type":"string","description":"Id of the contact.","isRequired":true,"uniqueKey":"contact.id","typeLabel":"string"},"primaryEmail":{"oneOf":[{"type":"string","description":"The contact's primary email after the update; null when it has none.","isRequired":true,"uniqueKey":"contact.primaryEmail.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact's primary email after the update; null when it has none.","isRequired":true,"uniqueKey":"contact.primaryEmail.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"contact.primaryEmail","typeLabel":"string | null"},"primaryPhone":{"oneOf":[{"type":"string","description":"The contact's primary phone after the update; null when it has none.","isRequired":true,"uniqueKey":"contact.primaryPhone.oneOf.0","typeLabel":"string"},{"type":"null","description":"The contact's primary phone after the update; null when it has none.","isRequired":true,"uniqueKey":"contact.primaryPhone.oneOf.1","typeLabel":"null"}],"isRequired":true,"uniqueKey":"contact.primaryPhone","typeLabel":"string | null"}},"isRequired":true,"uniqueKey":"contact","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"example":{"contact":{"id":"68a1f2c89c41d20014b3e955","primaryEmail":"ada@brightpay.com","primaryPhone":"+14155552671"}},"examples":{"Example":{"title":"Example","value":{"contact":{"id":"68a1f2c89c41d20014b3e955","primaryEmail":"ada@brightpay.com","primaryPhone":"+14155552671"}}}},"exampleType":"examples"}},"exampleType":"examples"},"c92cc5ec-ffb9-40a4-8cbd-23b05a5cb622":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"d5979a6b-51a8-45f0-a292-3965fdd14254":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"3fd7a2d1-612d-4754-9043-085fd03ead50":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"66416638-b5bb-4a0f-9611-fc5df927c7b8":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"c74a80c1-0cf9-465d-a9ae-02bc2fb65c21":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"fa436117-0621-4245-99c2-744901cfa96e":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"7aaaafee-aea2-4267-a2ee-8ff830b9c9c6":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"e18f2dd1-9c23-4101-bf9c-68902b28e30b":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"},"cae37d7a-6370-44c8-8c9d-9b791a1a0f32":{"description":"Error","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"param":{"oneOf":[{"type":"string","uniqueKey":"error.param.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.param.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.param","typeLabel":"string | null"},"doc_url":{"oneOf":[{"type":"string","uniqueKey":"error.doc_url.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.doc_url.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.doc_url","typeLabel":"string | null"},"request_id":{"oneOf":[{"type":"string","uniqueKey":"error.request_id.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"error.request_id.oneOf.1","typeLabel":"null"}],"uniqueKey":"error.request_id","typeLabel":"string | null"}},"required":["code","message"],"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"required":["error"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"code":"\u003cstring>","message":"\u003cstring>","param":"\u003cstring>","doc_url":"\u003cstring>","request_id":"\u003cstring>"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"06242704-a47b-4046-8148-d87f713e218f":{"basicAuth":{"type":"http","scheme":"basic","description":"Your API token (`af_…`) as the Basic-auth username, with an empty password.","scopes":[],"schemeName":"basicAuth"}}},"servers":{"4ca8b996-e74f-447c-8937-bc591ab08d00":{"url":"https://api.tryfuse.ai/api/v1","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"basic","description":"Your API token (`af_…`) as the Basic-auth username, with an empty password.","scopes":[],"schemeName":"basicAuth"},"schema":{"title":"Basic Auth","type":"object","description":"Your API token (`af_…`) as the Basic-auth username, with an empty password.","isRequired":true,"properties":{"username":{"type":"string","uniqueKey":"username","isRequired":true,"typeLabel":"string","deprecated":false},"password":{"type":"string","uniqueKey":"password","isRequired":true,"typeLabel":"string","deprecated":false}},"additionalProperties":false,"deprecated":false},"schemeName":"basicAuth","name":"Authorization"}],"title":"basicAuth"}]},"originalFileLocation":"openapi.json"},"subdomain":"fuseai","siteName":"Fuse API","title":"Set a contact's primary email and/or phone - Fuse API","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-29T16:59:47.870Z","originalFileLocation":"api-reference/contacts/set-a-contacts-primary-email-andor-phone.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=\"Sets which of the contact\u0026#x27;s known emails and phone numbers are its primary ones. Primaries are chosen by value: primaryEmail must be one of the addresses already on the contact and primaryPhone one of its phone numbers, written exactly as they appear on the list row (emails[].email, phones[].phoneNumber); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call. Errors: - 404 CONTACT_NOT_FOUND — No contact with that id exists. - 422 PRIMARY_VALUE_NOT_ON_CONTACT — The value is not one the contact already carries; param names which of primaryEmail / primaryPhone was rejected and nothing was changed. - 422 VALIDATION_FAILED — The body failed validation, including a body with neither primaryEmail nor primaryPhone. - 429 RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After. - 500 UNEXPECTED_ERROR — The request could not be completed; quote request_id to support. Requires one of the following token scopes: contacts.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Fuse API\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_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/fuseai/tzdaGJCdazH9bA6t/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set a contact\u0026#x27;s primary email and/or phone - Fuse API\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sets which of the contact\u0026#x27;s known emails and phone numbers are its primary ones. Primaries are chosen by value: primaryEmail must be one of the addresses already on the contact and primaryPhone one of its phone numbers, written exactly as they appear on the list row (emails[].email, phones[].phoneNumber); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call. Errors: - 404 CONTACT_NOT_FOUND — No contact with that id exists. - 422 PRIMARY_VALUE_NOT_ON_CONTACT — The value is not one the contact already carries; param names which of primaryEmail / primaryPhone was rejected and nothing was changed. - 422 VALIDATION_FAILED — The body failed validation, including a body with neither primaryEmail nor primaryPhone. - 429 RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After. - 500 UNEXPECTED_ERROR — The request could not be completed; quote request_id to support. Requires one of the following token scopes: contacts.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Fuse API\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://fuseai.mintlify.app/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Set+a+contact%27s+primary+email+and%2For+phone\u0026amp;description=Sets+which+of+the+contact%27s+known+emails+and+phone+numbers+are+its+primary+ones.+Primaries+are+chosen+by+value%3A+%60primaryEmail%60+must+be+one+of+the+addresses+alre\u0026amp;theme=6edc0ab12d2194e24d86a864\u0026amp;signature=2875f0a28193f0d13e440870d5699bf713a330ea49536fa4d3696675daa5d709\">\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=\"Set a contact\u0026#x27;s primary email and/or phone - Fuse API\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sets which of the contact\u0026#x27;s known emails and phone numbers are its primary ones. Primaries are chosen by value: primaryEmail must be one of the addresses already on the contact and primaryPhone one of its phone numbers, written exactly as they appear on the list row (emails[].email, phones[].phoneNumber); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call. Errors: - 404 CONTACT_NOT_FOUND — No contact with that id exists. - 422 PRIMARY_VALUE_NOT_ON_CONTACT — The value is not one the contact already carries; param names which of primaryEmail / primaryPhone was rejected and nothing was changed. - 422 VALIDATION_FAILED — The body failed validation, including a body with neither primaryEmail nor primaryPhone. - 429 RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After. - 500 UNEXPECTED_ERROR — The request could not be completed; quote request_id to support. Requires one of the following token scopes: contacts.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://fuseai.mintlify.app/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Set+a+contact%27s+primary+email+and%2For+phone\u0026amp;description=Sets+which+of+the+contact%27s+known+emails+and+phone+numbers+are+its+primary+ones.+Primaries+are+chosen+by+value%3A+%60primaryEmail%60+must+be+one+of+the+addresses+alre\u0026amp;theme=6edc0ab12d2194e24d86a864\u0026amp;signature=2875f0a28193f0d13e440870d5699bf713a330ea49536fa4d3696675daa5d709\">\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/fuseai/tzdaGJCdazH9bA6t/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Fuse API\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#22857C\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone\">\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/set-a-contacts-primary-email-andor-phone.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.fuseai.com/#organization\",\"name\":\"Fuse API\",\"url\":\"https://docs.fuseai.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/fuseai/HxYNa2W1WI8CM0N4/logo/light.svg?fit=max\u0026auto=format\u0026n=HxYNa2W1WI8CM0N4\u0026q=85\u0026s=c9afa73057eb802e14743fbb297c60d5\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.fuseai.com#website\",\"name\":\"Fuse API\",\"url\":\"https://docs.fuseai.com\",\"publisher\":{\"@id\":\"https://docs.fuseai.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone#webpage\",\"url\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone\",\"name\":\"Set a contact's primary email and/or phone\",\"description\":\"Sets which of the contact's known emails and phone numbers are its primary ones. Primaries are chosen by value: primaryEmail must be one of the addresses already on the contact and primaryPhone one of its phone numbers, written exactly as they appear on the list row (emails[].email, phones[].phoneNumber); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call. Errors: - 404 CONTACT_NOT_FOUND — No contact with that id exists. - 422 PRIMARY_VALUE_NOT_ON_CONTACT — The value is not one the contact already carries; param names which of primaryEmail / primaryPhone was rejected and nothing was changed. - 422 VALIDATION_FAILED — The body failed validation, including a body with neither primaryEmail nor primaryPhone. - 429 RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After. - 500 UNEXPECTED_ERROR — The request could not be completed; quote request_id to support. Requires one of the following token scopes: contacts.\",\"dateModified\":\"2026-10-29T16:59:47.870Z\",\"isPartOf\":{\"@id\":\"https://docs.fuseai.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contacts\",\"item\":\"https://docs.fuseai.com/api-reference/contacts/resolve-the-callers-contact-by-linkedin-url\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set a contact's primary email and/or phone\",\"item\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone#apireference\",\"headline\":\"Set a contact's primary email and/or phone\",\"name\":\"Set a contact's primary email and/or phone\",\"description\":\"Sets which of the contact's known emails and phone numbers are its primary ones. Primaries are chosen by value: primaryEmail must be one of the addresses already on the contact and primaryPhone one of its phone numbers, written exactly as they appear on the list row (emails[].email, phones[].phoneNumber); a value the contact does not carry is rejected with 422 PRIMARY_VALUE_NOT_ON_CONTACT and nothing is changed. The call promotes an existing value and never adds a new one — enrich the contact to add addresses or numbers. Send either field or both; the response reports both primaries as they now stand. Free to call. Errors: - 404 CONTACT_NOT_FOUND — No contact with that id exists. - 422 PRIMARY_VALUE_NOT_ON_CONTACT — The value is not one the contact already carries; param names which of primaryEmail / primaryPhone was rejected and nothing was changed. - 422 VALIDATION_FAILED — The body failed validation, including a body with neither primaryEmail nor primaryPhone. - 429 RATE_LIMITED — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After. - 500 UNEXPECTED_ERROR — The request could not be completed; quote request_id to support. Requires one of the following token scopes: contacts.\",\"url\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone\",\"mainEntityOfPage\":{\"@id\":\"https://docs.fuseai.com/api-reference/contacts/set-a-contacts-primary-email-andor-phone#webpage\"},\"dateModified\":\"2026-10-29T16:59:47.870Z\",\"publisher\":{\"@id\":\"https://docs.fuseai.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.fuseai.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Fuse API\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Fuse API","nav":{"global":null,"tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":""}]},{"tab":"API Reference","groups":[{"group":"Lists","pages":[{"title":"List the token owner's prospect lists","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists","href":"/api-reference/lists/list-the-token-owners-prospect-lists"},{"title":"Create a prospect list","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists","href":"/api-reference/lists/create-a-prospect-list"},{"title":"Get one list's metadata","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}","href":"/api-reference/lists/get-one-lists-metadata"},{"title":"Delete a list","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/lists/{listId}","href":"/api-reference/lists/delete-a-list"},{"title":"Rename a list or move it between folders","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/lists/{listId}","href":"/api-reference/lists/rename-a-list-or-move-it-between-folders"},{"title":"Copy rows from one list into another","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/save-to-list","href":"/api-reference/lists/copy-rows-from-one-list-into-another"},{"title":"Build a company list from a contact list's companies","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/derive-company-list","href":"/api-reference/lists/build-a-company-list-from-a-contact-lists-companies"},{"title":"Distinct values a company list carries for a field","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}/filter-values","href":"/api-reference/lists/distinct-values-a-company-list-carries-for-a-field"},{"title":"List a list's contacts (with ids and column values)","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}/rows","href":"/api-reference/lists/list-a-lists-contacts-with-ids-and-column-values"},{"title":"Add existing contacts to a list (by id)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/members","href":"/api-reference/lists/add-existing-contacts-to-a-list-by-id"},{"title":"Remove contacts from a list","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/lists/{listId}/members","href":"/api-reference/lists/remove-contacts-from-a-list"},{"title":"Upload new contact data into a list (RAW upload)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/contacts","href":"/api-reference/lists/upload-new-contact-data-into-a-list-raw-upload"},{"title":"Enrich a list's contacts in place","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/enrich","href":"/api-reference/lists/enrich-a-lists-contacts-in-place"},{"title":"Push a list's contacts into a connected CRM","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/crm-push","href":"/api-reference/lists/push-a-lists-contacts-into-a-connected-crm"},{"title":"Presigned upload for a large import file","deprecated":null,"version":null,"openapi":"/openapi.json post /business/imports/presign","href":"/api-reference/lists/presigned-upload-for-a-large-import-file"},{"title":"Start an import (parse + suggested mapping)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/imports","href":"/api-reference/lists/start-an-import-parse-+-suggested-mapping"},{"title":"Commit an import into a list","deprecated":null,"version":null,"openapi":"/openapi.json post /business/imports/{importId}/commit","href":"/api-reference/lists/commit-an-import-into-a-list"}]},{"group":"Custom columns","pages":[{"title":"List a list's custom column definitions","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}/columns","href":"/api-reference/custom-columns/list-a-lists-custom-column-definitions"},{"title":"Create a custom column on a list","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/columns","href":"/api-reference/custom-columns/create-a-custom-column-on-a-list"},{"title":"Delete a custom column (its values go with it)","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/lists/{listId}/columns/{columnId}","href":"/api-reference/custom-columns/delete-a-custom-column-its-values-go-with-it"},{"title":"Write custom column values (keyed by contact id)","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/lists/{listId}/columns/{columnId}/values","href":"/api-reference/custom-columns/write-custom-column-values-keyed-by-contact-id"}]},{"group":"Smart columns","pages":[{"title":"Add an AI column that researches every row","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/smart-columns","href":"/api-reference/smart-columns/add-an-ai-column-that-researches-every-row"},{"title":"Poll a smart-column run","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}/smart-columns/{jobId}/status","href":"/api-reference/smart-columns/poll-a-smart-column-run"},{"title":"A smart column's definition and run state","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}/smart-columns/{columnId}","href":"/api-reference/smart-columns/a-smart-columns-definition-and-run-state"},{"title":"Rename a smart column, change its prompt or providers","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/lists/{listId}/smart-columns/{columnId}","href":"/api-reference/smart-columns/rename-a-smart-column-change-its-prompt-or-providers"},{"title":"Run a smart column again","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/smart-columns/{columnId}/rerun","href":"/api-reference/smart-columns/run-a-smart-column-again"},{"title":"Where a smart-column cell's value came from","deprecated":null,"version":null,"openapi":"/openapi.json get /business/lists/{listId}/rows/{contactId}/columns/{columnId}/provenance","href":"/api-reference/smart-columns/where-a-smart-column-cells-value-came-from"}]},{"group":"Exports","pages":[{"title":"Start an async CSV export of a list (returns a jobId)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/lists/{listId}/export","href":"/api-reference/exports/start-an-async-csv-export-of-a-list-returns-a-jobid"},{"title":"Poll an export job (presigned download URL when completed)","deprecated":null,"version":null,"openapi":"/openapi.json get /business/exports/{jobId}","href":"/api-reference/exports/poll-an-export-job-presigned-download-url-when-completed"}]},{"group":"Campaigns","pages":[{"title":"List the token owner's campaigns with headline analytics","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns","href":"/api-reference/campaigns/list-the-token-owners-campaigns-with-headline-analytics"},{"title":"Create a draft campaign","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns","href":"/api-reference/campaigns/create-a-draft-campaign"},{"title":"Get a campaign's status","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}","href":"/api-reference/campaigns/get-a-campaigns-status"},{"title":"Stop and delete a campaign","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/campaigns/{campaignId}","href":"/api-reference/campaigns/stop-and-delete-a-campaign"},{"title":"Update a campaign's settings","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/campaigns/{campaignId}","href":"/api-reference/campaigns/update-a-campaigns-settings"},{"title":"List a campaign's sequence steps","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}/steps","href":"/api-reference/campaigns/list-a-campaigns-sequence-steps"},{"title":"Edit a sequence step","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/campaigns/{campaignId}/steps/{stepId}","href":"/api-reference/campaigns/edit-a-sequence-step"},{"title":"Approve (activate) a draft campaign","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/approve","href":"/api-reference/campaigns/approve-activate-a-draft-campaign"},{"title":"Stop an active campaign (approve re-activates it)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/stop","href":"/api-reference/campaigns/stop-an-active-campaign-approve-re-activates-it"},{"title":"Copy a campaign as a fresh draft","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/duplicate","href":"/api-reference/campaigns/copy-a-campaign-as-a-fresh-draft"},{"title":"The personalization variables this campaign's steps can use","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}/variables","href":"/api-reference/campaigns/the-personalization-variables-this-campaigns-steps-can-use"},{"title":"A campaign's headline metrics since `since`","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}/stats","href":"/api-reference/campaigns/a-campaigns-headline-metrics-since-`since`"},{"title":"The campaign's leads with their per-step state","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}/leads","href":"/api-reference/campaigns/the-campaigns-leads-with-their-per-step-state"},{"title":"Export the campaign's leads to CSV","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/leads/export","href":"/api-reference/campaigns/export-the-campaigns-leads-to-csv"},{"title":"Per-arm results of a campaign's A/B splits","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}/split-results","href":"/api-reference/campaigns/per-arm-results-of-a-campaigns-ab-splits"}]},{"group":"Campaign steps","pages":[{"title":"Add a sequence step","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/steps","href":"/api-reference/campaign-steps/add-a-sequence-step"},{"title":"Remove a sequence step","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/campaigns/{campaignId}/steps/{stepId}","href":"/api-reference/campaign-steps/remove-a-sequence-step"},{"title":"Copy one arm of an A/B split into the other","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/steps/{stepId}/copy-arm","href":"/api-reference/campaign-steps/copy-one-arm-of-an-ab-split-into-the-other"},{"title":"Render the step for a sample lead without saving or sending","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/steps/{stepId}/generate","href":"/api-reference/campaign-steps/render-the-step-for-a-sample-lead-without-saving-or-sending"},{"title":"Rebuild the AI topic plan across the campaign's steps","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaigns/{campaignId}/steps/regenerate-topics","href":"/api-reference/campaign-steps/rebuild-the-ai-topic-plan-across-the-campaigns-steps"}]},{"group":"Knowledge hubs","pages":[{"title":"List the token owner's knowledge hubs","deprecated":null,"version":null,"openapi":"/openapi.json get /business/knowledge-hubs","href":"/api-reference/knowledge-hubs/list-the-token-owners-knowledge-hubs"},{"title":"Create a knowledge hub from websites","deprecated":null,"version":null,"openapi":"/openapi.json post /business/knowledge-hubs","href":"/api-reference/knowledge-hubs/create-a-knowledge-hub-from-websites"},{"title":"Make a hub the default one","deprecated":null,"version":null,"openapi":"/openapi.json post /business/knowledge-hubs/default","href":"/api-reference/knowledge-hubs/make-a-hub-the-default-one"},{"title":"Facts learned from the team's communications","deprecated":null,"version":null,"openapi":"/openapi.json get /business/knowledge-hubs/learned-facts","href":"/api-reference/knowledge-hubs/facts-learned-from-the-teams-communications"},{"title":"Discard a learned fact","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/knowledge-hubs/learned-facts/{factId}","href":"/api-reference/knowledge-hubs/discard-a-learned-fact"},{"title":"Correct a learned fact","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/knowledge-hubs/learned-facts/{factId}","href":"/api-reference/knowledge-hubs/correct-a-learned-fact"},{"title":"A hub's full detail","deprecated":null,"version":null,"openapi":"/openapi.json get /business/knowledge-hubs/{hubId}","href":"/api-reference/knowledge-hubs/a-hubs-full-detail"},{"title":"Delete a hub","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/knowledge-hubs/{hubId}","href":"/api-reference/knowledge-hubs/delete-a-hub"},{"title":"Update a hub's name, websites, or notes","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/knowledge-hubs/{hubId}","href":"/api-reference/knowledge-hubs/update-a-hubs-name-websites-or-notes"},{"title":"Re-crawl one of the hub's websites","deprecated":null,"version":null,"openapi":"/openapi.json post /business/knowledge-hubs/{hubId}/refresh","href":"/api-reference/knowledge-hubs/re-crawl-one-of-the-hubs-websites"},{"title":"The hub's knowledge pages","deprecated":null,"version":null,"openapi":"/openapi.json get /business/knowledge-hubs/{hubId}/pages","href":"/api-reference/knowledge-hubs/the-hubs-knowledge-pages"},{"title":"Add a custom knowledge page","deprecated":null,"version":null,"openapi":"/openapi.json post /business/knowledge-hubs/{hubId}/pages","href":"/api-reference/knowledge-hubs/add-a-custom-knowledge-page"},{"title":"Remove a knowledge page","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/knowledge-hubs/{hubId}/pages/{pageId}","href":"/api-reference/knowledge-hubs/remove-a-knowledge-page"},{"title":"Edit a page's title or content","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/knowledge-hubs/{hubId}/pages/{pageId}","href":"/api-reference/knowledge-hubs/edit-a-pages-title-or-content"},{"title":"Rebuild a page from the hub's sources","deprecated":null,"version":null,"openapi":"/openapi.json post /business/knowledge-hubs/{hubId}/pages/{pageId}/regenerate","href":"/api-reference/knowledge-hubs/rebuild-a-page-from-the-hubs-sources"},{"title":"Attach a document to one of the hub's notes","deprecated":null,"version":null,"openapi":"/openapi.json post /business/knowledge-hubs/{hubId}/attachments","href":"/api-reference/knowledge-hubs/attach-a-document-to-one-of-the-hubs-notes"},{"title":"A download URL for a note's attachment","deprecated":null,"version":null,"openapi":"/openapi.json get /business/knowledge-hubs/{hubId}/attachments/{noteId}","href":"/api-reference/knowledge-hubs/a-download-url-for-a-notes-attachment"},{"title":"Remove a note's attachment","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/knowledge-hubs/{hubId}/attachments/{noteId}","href":"/api-reference/knowledge-hubs/remove-a-notes-attachment"}]},{"group":"Analytics","pages":[{"title":"Campaigns analytics roll-up","deprecated":null,"version":null,"openapi":"/openapi.json get /business/analytics/campaigns","href":"/api-reference/analytics/campaigns-analytics-roll-up"},{"title":"Dialer analytics roll-up","deprecated":null,"version":null,"openapi":"/openapi.json get /business/analytics/dialer","href":"/api-reference/analytics/dialer-analytics-roll-up"},{"title":"Enrichment analytics roll-up","deprecated":null,"version":null,"openapi":"/openapi.json get /business/analytics/enrichment","href":"/api-reference/analytics/enrichment-analytics-roll-up"},{"title":"Website intent analytics roll-up","deprecated":null,"version":null,"openapi":"/openapi.json get /business/analytics/website-intent","href":"/api-reference/analytics/website-intent-analytics-roll-up"},{"title":"Agents analytics roll-up","deprecated":null,"version":null,"openapi":"/openapi.json get /business/analytics/agents","href":"/api-reference/analytics/agents-analytics-roll-up"}]},{"group":"Website intent","pages":[{"title":"The deanonymized visitor feed","deprecated":null,"version":null,"openapi":"/openapi.json get /business/website-visitors","href":"/api-reference/website-intent/the-deanonymized-visitor-feed"},{"title":"Tracking config: domains, pages, script, credit limit","deprecated":null,"version":null,"openapi":"/openapi.json get /business/website-tracking","href":"/api-reference/website-intent/tracking-config:-domains-pages-script-credit-limit"},{"title":"Update tracked domains/pages or the monthly credit limit","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/website-tracking","href":"/api-reference/website-intent/update-tracked-domainspages-or-the-monthly-credit-limit"}]},{"group":"Account","pages":[{"title":"Connected sending accounts by channel","deprecated":null,"version":null,"openapi":"/openapi.json get /business/accounts","href":"/api-reference/account/connected-sending-accounts-by-channel"},{"title":"Teammates (id, name, email)","deprecated":null,"version":null,"openapi":"/openapi.json get /business/team/members","href":"/api-reference/account/teammates-id-name-email"},{"title":"The writing styles AI campaigns accept","deprecated":null,"version":null,"openapi":"/openapi.json get /business/writing-styles","href":"/api-reference/account/the-writing-styles-ai-campaigns-accept"},{"title":"Which CRMs the team has connected","deprecated":null,"version":null,"openapi":"/openapi.json get /business/integrations","href":"/api-reference/account/which-crms-the-team-has-connected"},{"title":"Poll any async job","deprecated":null,"version":null,"openapi":"/openapi.json get /business/jobs/{jobId}","href":"/api-reference/account/poll-any-async-job"},{"title":"The credit spend ledger","deprecated":null,"version":null,"openapi":"/openapi.json post /business/credits/usage","href":"/api-reference/account/the-credit-spend-ledger"},{"title":"Get the token owner's identity","deprecated":null,"version":null,"openapi":"/openapi.json get /business/me","href":"/api-reference/account/get-the-token-owners-identity"},{"title":"Get the token owner's credit balance","deprecated":null,"version":null,"openapi":"/openapi.json get /business/credits","href":"/api-reference/account/get-the-token-owners-credit-balance"}]},{"group":"Data","pages":[{"title":"Get your key's usage plan","deprecated":null,"version":null,"openapi":"/openapi.json get /business/data/pricing","href":"/api-reference/data/get-your-keys-usage-plan"},{"title":"Count people matching a search (free)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/people/count","href":"/api-reference/data/count-people-matching-a-search-free"},{"title":"Count companies matching a search (free)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/companies/count","href":"/api-reference/data/count-companies-matching-a-search-free"},{"title":"Find a company's domain, LinkedIn page and logo (free)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/companies/resolve","href":"/api-reference/data/find-a-companys-domain-linkedin-page-and-logo-free"},{"title":"Find a person's email","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/people/email","href":"/api-reference/data/find-a-persons-email"},{"title":"Find a person's phone","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/people/phone","href":"/api-reference/data/find-a-persons-phone"},{"title":"Verify an email address","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/emails/verify","href":"/api-reference/data/verify-an-email-address"},{"title":"Find emails and phones for up to 100 people","deprecated":null,"version":null,"openapi":"/openapi.json post /business/data/people/enrich-jobs","href":"/api-reference/data/find-emails-and-phones-for-up-to-100-people"},{"title":"Get a people enrichment job's progress and rows","deprecated":null,"version":null,"openapi":"/openapi.json get /business/data/people/enrich-jobs/{jobId}","href":"/api-reference/data/get-a-people-enrichment-jobs-progress-and-rows"}]},{"group":"Prospect search","pages":[{"title":"Get the accepted prospect-search filter values","deprecated":null,"version":null,"openapi":"/openapi.json get /business/prospects/filter-options","href":"/api-reference/prospect-search/get-the-accepted-prospect-search-filter-values"},{"title":"Suggest values for a free-text search field","deprecated":null,"version":null,"openapi":"/openapi.json get /business/prospects/autocomplete","href":"/api-reference/prospect-search/suggest-values-for-a-free-text-search-field"},{"title":"Run a people search","deprecated":null,"version":null,"openapi":"/openapi.json post /business/prospects/search","href":"/api-reference/prospect-search/run-a-people-search"},{"title":"Save people-search results into a list","deprecated":null,"version":null,"openapi":"/openapi.json post /business/prospects/search/save-to-list","href":"/api-reference/prospect-search/save-people-search-results-into-a-list"}]},{"group":"Scheduled sends","pages":[{"title":"The campaign's send queue by status","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaigns/{campaignId}/scheduled-sends","href":"/api-reference/scheduled-sends/the-campaigns-send-queue-by-status"},{"title":"Edit a queued send's copy or time before it goes out","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/scheduled-sends/{sendId}","href":"/api-reference/scheduled-sends/edit-a-queued-sends-copy-or-time-before-it-goes-out"},{"title":"Skip one queued send","deprecated":null,"version":null,"openapi":"/openapi.json post /business/scheduled-sends/{sendId}/skip","href":"/api-reference/scheduled-sends/skip-one-queued-send"},{"title":"Approve queued sends awaiting review","deprecated":null,"version":null,"openapi":"/openapi.json post /business/scheduled-sends/approve","href":"/api-reference/scheduled-sends/approve-queued-sends-awaiting-review"},{"title":"Decline queued sends awaiting review","deprecated":null,"version":null,"openapi":"/openapi.json post /business/scheduled-sends/decline","href":"/api-reference/scheduled-sends/decline-queued-sends-awaiting-review"}]},{"group":"Campaign templates","pages":[{"title":"The workspace's saved campaign templates","deprecated":null,"version":null,"openapi":"/openapi.json get /business/campaign-templates","href":"/api-reference/campaign-templates/the-workspaces-saved-campaign-templates"},{"title":"Save a campaign's sequence as a reusable template","deprecated":null,"version":null,"openapi":"/openapi.json post /business/campaign-templates","href":"/api-reference/campaign-templates/save-a-campaigns-sequence-as-a-reusable-template"},{"title":"Delete a template","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/campaign-templates/{campaignTemplateId}","href":"/api-reference/campaign-templates/delete-a-template"}]},{"group":"Agents","pages":[{"title":"The agent kinds the wizard offers","deprecated":null,"version":null,"openapi":"/openapi.json get /business/agents/signal-types","href":"/api-reference/agents/the-agent-kinds-the-wizard-offers"},{"title":"The token owner's agents across every kind","deprecated":null,"version":null,"openapi":"/openapi.json get /business/agents","href":"/api-reference/agents/the-token-owners-agents-across-every-kind"},{"title":"Create a web monitor agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/web-monitor","href":"/api-reference/agents/create-a-web-monitor-agent"},{"title":"Create a person starting new job agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/person-starting-new-job","href":"/api-reference/agents/create-a-person-starting-new-job-agent"},{"title":"Create a linkedin posts agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/linkedin-posts","href":"/api-reference/agents/create-a-linkedin-posts-agent"},{"title":"Create a person discovery via filters agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/person-discovery-via-filters","href":"/api-reference/agents/create-a-person-discovery-via-filters-agent"},{"title":"Create a job postings agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/job-postings","href":"/api-reference/agents/create-a-job-postings-agent"},{"title":"Create a job posting in location agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/job-posting-in-location","href":"/api-reference/agents/create-a-job-posting-in-location-agent"},{"title":"Create a first person hired in company department agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/first-person-hired-in-company-department","href":"/api-reference/agents/create-a-first-person-hired-in-company-department-agent"},{"title":"Create a first person hired internationally agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/first-person-hired-internationally","href":"/api-reference/agents/create-a-first-person-hired-internationally-agent"},{"title":"Create a company headcount growth agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/company-headcount-growth","href":"/api-reference/agents/create-a-company-headcount-growth-agent"},{"title":"Create a company headcount growth over baseline agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/company-headcount-growth-over-baseline","href":"/api-reference/agents/create-a-company-headcount-growth-over-baseline-agent"},{"title":"Create a company department headcount agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/company-department-headcount","href":"/api-reference/agents/create-a-company-department-headcount-agent"},{"title":"Create a company employee job location in two countries agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/company-employee-job-location-in-two-countries","href":"/api-reference/agents/create-a-company-employee-job-location-in-two-countries-agent"},{"title":"Create a funding announcements agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/funding-announcements","href":"/api-reference/agents/create-a-funding-announcements-agent"},{"title":"Create a people watcher agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/people-watcher","href":"/api-reference/agents/create-a-people-watcher-agent"},{"title":"Create a companies watcher agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/companies-watcher","href":"/api-reference/agents/create-a-companies-watcher-agent"},{"title":"Create a job changes watcher agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/job-changes-watcher","href":"/api-reference/agents/create-a-job-changes-watcher-agent"},{"title":"Create a linkedin profile agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/linkedin-profile","href":"/api-reference/agents/create-a-linkedin-profile-agent"},{"title":"Create a linkedin post agent","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/linkedin-post","href":"/api-reference/agents/create-a-linkedin-post-agent"},{"title":"Canonical values for agent config filters","deprecated":null,"version":null,"openapi":"/openapi.json get /business/agents/autocomplete","href":"/api-reference/agents/canonical-values-for-agent-config-filters"},{"title":"An agent's config as the drawer shows it","deprecated":null,"version":null,"openapi":"/openapi.json get /business/agents/{agentId}","href":"/api-reference/agents/an-agents-config-as-the-drawer-shows-it"},{"title":"Delete an agent (409 while a run is processing)","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/agents/{agentId}","href":"/api-reference/agents/delete-an-agent-409-while-a-run-is-processing"},{"title":"Update a draft agent's config (partial)","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/agents/{agentId}","href":"/api-reference/agents/update-a-draft-agents-config-partial"},{"title":"Start a draft agent (spends credits)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/{agentId}/activate","href":"/api-reference/agents/start-a-draft-agent-spends-credits"},{"title":"Pause an agent (one-way, there is no resume)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/{agentId}/stop","href":"/api-reference/agents/pause-an-agent-one-way-there-is-no-resume"},{"title":"Copy an agent as a fresh draft","deprecated":null,"version":null,"openapi":"/openapi.json post /business/agents/{agentId}/duplicate","href":"/api-reference/agents/copy-an-agent-as-a-fresh-draft"}]},{"group":"Research","pages":[{"title":"The research providers a run can use","deprecated":null,"version":null,"openapi":"/openapi.json get /business/research/providers","href":"/api-reference/research/the-research-providers-a-run-can-use"},{"title":"Research runs currently in flight","deprecated":null,"version":null,"openapi":"/openapi.json get /business/research/runs","href":"/api-reference/research/research-runs-currently-in-flight"},{"title":"Start a Deep Research run","deprecated":null,"version":null,"openapi":"/openapi.json post /business/research/runs","href":"/api-reference/research/start-a-deep-research-run"},{"title":"A research run's state, report, and result list","deprecated":null,"version":null,"openapi":"/openapi.json get /business/research/runs/{runId}","href":"/api-reference/research/a-research-runs-state-report-and-result-list"},{"title":"A research run's progress events","deprecated":null,"version":null,"openapi":"/openapi.json get /business/research/runs/{runId}/events","href":"/api-reference/research/a-research-runs-progress-events"},{"title":"Cancel an in-flight research run","deprecated":null,"version":null,"openapi":"/openapi.json post /business/research/runs/{runId}/cancel","href":"/api-reference/research/cancel-an-in-flight-research-run"}]},{"group":"Company search","pages":[{"title":"Get the accepted company-search filter values","deprecated":null,"version":null,"openapi":"/openapi.json get /business/companies/filter-options","href":"/api-reference/company-search/get-the-accepted-company-search-filter-values"},{"title":"Suggest values for company and location filters","deprecated":null,"version":null,"openapi":"/openapi.json get /business/companies/autocomplete","href":"/api-reference/company-search/suggest-values-for-company-and-location-filters"},{"title":"Run a company search","deprecated":null,"version":null,"openapi":"/openapi.json post /business/companies/search","href":"/api-reference/company-search/run-a-company-search"},{"title":"Save company-search results into a list","deprecated":null,"version":null,"openapi":"/openapi.json post /business/companies/search/save-to-list","href":"/api-reference/company-search/save-company-search-results-into-a-list"}]},{"group":"Saved searches","pages":[{"title":"List the token owner's saved searches","deprecated":null,"version":null,"openapi":"/openapi.json get /business/saved-searches","href":"/api-reference/saved-searches/list-the-token-owners-saved-searches"},{"title":"Create a saved search","deprecated":null,"version":null,"openapi":"/openapi.json post /business/saved-searches","href":"/api-reference/saved-searches/create-a-saved-search"},{"title":"Get one saved search","deprecated":null,"version":null,"openapi":"/openapi.json get /business/saved-searches/{savedSearchId}","href":"/api-reference/saved-searches/get-one-saved-search"},{"title":"Delete a saved search","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/saved-searches/{savedSearchId}","href":"/api-reference/saved-searches/delete-a-saved-search"},{"title":"Rename a saved search or replace its filters","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/saved-searches/{savedSearchId}","href":"/api-reference/saved-searches/rename-a-saved-search-or-replace-its-filters"},{"title":"Replay a saved search","deprecated":null,"version":null,"openapi":"/openapi.json post /business/saved-searches/{savedSearchId}/run","href":"/api-reference/saved-searches/replay-a-saved-search"}]},{"group":"Folders","pages":[{"title":"List the token owner's list folders of one kind","deprecated":null,"version":null,"openapi":"/openapi.json get /business/folders","href":"/api-reference/folders/list-the-token-owners-list-folders-of-one-kind"},{"title":"Create a list folder","deprecated":null,"version":null,"openapi":"/openapi.json post /business/folders","href":"/api-reference/folders/create-a-list-folder"},{"title":"Delete a folder (its lists move to the root)","deprecated":null,"version":null,"openapi":"/openapi.json delete /business/folders/{folderId}","href":"/api-reference/folders/delete-a-folder-its-lists-move-to-the-root"},{"title":"Rename a folder","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/folders/{folderId}","href":"/api-reference/folders/rename-a-folder"}]},{"group":"Contacts","pages":[{"title":"Resolve the caller's contact by LinkedIn URL","description":"Looks up the contact record for a LinkedIn profile URL and returns its `contactId`, the id every other contacts endpoint and every list row uses. The URL is normalised before matching, so `https://www.linkedin.com/in/ada-nwosu/` and `linkedin.com/in/ada-nwosu` resolve the same contact; a value that carries no `linkedin.com/` path is rejected with 422. Contacts are canonical records: a match is returned whether the person reached your workspace through search, an upload or an enrichment, while contacts your team created by hand are matched within your team only. Answers 404 CONTACT_NOT_FOUND when no contact exists for that URL; create it by adding the person to a list (`POST /business/lists/{listId}/contacts`) and resolve again. Read-only and free: it never creates or changes a contact.\n\nErrors:\n- `404` `CONTACT_NOT_FOUND` — No contact exists for that LinkedIn URL.\n- `422` `INVALID_REQUEST` — The URL could not be read as a LinkedIn profile.\n- `422` `VALIDATION_FAILED` — The body failed validation — a missing linkedinUrl, one over 500 characters, or one that is not a linkedin.com profile URL.\n- `429` `RATE_LIMITED` — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.\n- `500` `UNEXPECTED_ERROR` — The request could not be completed; quote request_id to support.\n\nRequires one of the following token scopes: contacts.","deprecated":null,"version":null,"openapi":"/openapi.json post /business/contacts/resolve","href":"/api-reference/contacts/resolve-the-callers-contact-by-linkedin-url"},{"title":"Set a contact's primary email and/or phone","deprecated":null,"version":null,"openapi":"/openapi.json patch /business/contacts/{contactId}","href":"/api-reference/contacts/set-a-contacts-primary-email-andor-phone"},{"title":"A contact's activity timeline","description":"The contact's activity timeline as the app's activity drawer shows it, newest first: campaign emails sent and replies received, LinkedIn invitations and messages, dialer calls with their transcript, recording, disposition and the notes the rep saved, activity logged by a connected CRM, and campaign steps still scheduled to go out (`scheduledAt` set, `sentAt` null). Every entry carries the same keys whatever the channel, so `channel` tells you which of them are filled: email rows carry `subject`, `body`, `from` and `to`; LinkedIn rows carry the message text in `body` and the profile in `linkedinUrl`; call rows carry `phoneNumber`, `direction`, `callTranscript`, `callRecordingUrl`, `callDisposition`, and the call notes — not a message — in `body`. Page with `limit` (1-100, default 100) and `cursor`: copy `nextCursor` from the previous page and stop when it is null. `limit` bounds the page of history; the first page can carry a few entries on top of it (campaign steps still scheduled, and LinkedIn activity, neither of which pages on its own), so read `activities.length` rather than assuming `limit`. Free to call.\n\nErrors:\n- `404` `CONTACT_NOT_FOUND` — No contact with that id exists.\n- `422` `VALIDATION_FAILED` — The path, query or body failed validation; `param` names the offending field and `message` says why.\n- `429` `RATE_LIMITED` — More than 120 requests per minute or 10,000 per day on the contacts bucket, which every /business/contacts endpoint shares; retry after Retry-After.\n- `500` `UNEXPECTED_ERROR` — The timeline could not be assembled; quote request_id to support.\n\nRequires one of the following token scopes: contacts.","deprecated":null,"version":null,"openapi":"/openapi.json get /business/contacts/{contactId}/activities","href":"/api-reference/contacts/a-contacts-activity-timeline"},{"title":"Start an async duplicate-contact scan (returns a jobId)","deprecated":null,"version":null,"openapi":"/openapi.json post /business/contacts/dedupe-scan","href":"/api-reference/contacts/start-an-async-duplicate-contact-scan-returns-a-jobid"},{"title":"Merge the duplicate groups a completed scan found","deprecated":null,"version":null,"openapi":"/openapi.json post /business/contacts/dedupe-merge","href":"/api-reference/contacts/merge-the-duplicate-groups-a-completed-scan-found"},{"title":"Poll a dedupe scan or merge job (groups / totals when completed)","deprecated":null,"version":null,"openapi":"/openapi.json get /business/contacts/dedupe-jobs/{jobId}","href":"/api-reference/contacts/poll-a-dedupe-scan-or-merge-job-groups-totals-when-completed"}]}]}]},"basePath":"","title":"Set a contact's primary email and/or phone - Fuse API","buildId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","deploymentId":"dpl_G9nrg4qeJSZtah1Ziwbc2n6WkLch","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-B7XKH4J3.js","utils-lOYzL7z-.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-DF6jUUIM.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dpsj5f7C.js","snippetPresets-CYeiDe8v.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CUFz1YZ_.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D8H_iLS4.js","shallow-DdluZBHX.js","getApiPlaygroundDisplay-B9922vev.js","CodeSnippet-CMoRNGYs.js","CodeSnippets-DwyrPHuw.js","Page-DSVu9Ucl.js","getPastedJson-G-zIvlHh.js","icon-B03fnEy0.js","MethodPill-CW7teklc.js","DuplicateIcon-CtO8eekd.js","createIcon-DZTKdM_A.js","DynamicMarkdown-D5M2At0B.js","SectionHeading-C_2NaA2U.js","axios-vUo_bRtp.js","Markdown-D7QRHV3m.js","clsx-D1Z-ELXV.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-lvhuD9Du.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CKfC4ywL.js"]}