Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.
Fields to change on a contact. Only supplied fields are modified; unknown fields are rejected. A contact must always keep at least one of email or phone.
Custom field values keyed by field API name. Values are returned as stored strings (or null) regardless of the field's declared value type.
Show child attributes
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Tented Help Center","colors":{"primary":"#5A855B","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/tented/ROcYOxFUIgiTHi6y/logo/tented-logo-dark-text.svg?fit=max\u0026auto=format\u0026n=ROcYOxFUIgiTHi6y\u0026q=85\u0026s=524f92cf5a25aeddb0118ecf3d7d8175","dark":"https://mintcdn.com/tented/ROcYOxFUIgiTHi6y/logo/tented-logo-white-text.svg?fit=max\u0026auto=format\u0026n=ROcYOxFUIgiTHi6y\u0026q=85\u0026s=73fbcea2001239f6ad22a00acbaaa41e"},"favicon":"https://mintcdn.com/tented/ROcYOxFUIgiTHi6y/favicon.svg?fit=max\u0026auto=format\u0026n=ROcYOxFUIgiTHi6y\u0026q=85\u0026s=fcdbfd50c6458d9fe901a1b92e3a0ac1","navbar":{"links":[{"href":"mailto:support@tented.ai","label":"Support"}],"primary":{"type":"button","label":"Go to Tented","href":"https://app.tented.ai"}},"footer":{"socials":{"x":"https://x.com/tentedhq","linkedin":"https://www.linkedin.com/company/tented-ai"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"tented","hasAudioNarration":false,"actualSubdomain":"tented","customDomains":["docs.tented.ai"],"gitSource":{"type":"github","owner":"tentedapp","repo":"tented-docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6aebb61fbb7351feda32271b","clientVersion":"0.0.4111","searchFilterCounts":[{"language":"default","tag":"API Reference","count":141},{"language":"default","tag":"Guides","count":54},{"language":"default","tag":"API Docs","count":25},{"language":"default","tag":"Tents","count":23},{"language":"default","tag":"Email Templates","count":21},{"language":"default","tag":"Emails","count":21},{"language":"default","tag":"Triggered Flows","count":21},{"language":"default","tag":"Tent Templates","count":17},{"language":"default","tag":"Working with Tents","count":16},{"language":"default","tag":"Email Blasts","count":14}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/contacts/update-a-contact","slug":"/api-reference/contacts/update-a-contact","pageMetadata":{"title":"Update a contact","description":"Update a single contact by ID — the single-record equivalent of one `POST /v1/contacts/update` item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept `null` to clear the stored value; unknown fields are rejected. A body with no updatable fields returns `400` (`No fields to update`). Changing `email` or `phone` to a value already used by another contact returns `409` with the conflicting contact in `details.existing_contact`, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including `custom_fields`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/contacts/{contactId}","href":"/api-reference/contacts/update-a-contact","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_components.p, {\n children: [\"Update a single contact by ID — the single-record equivalent of one \", _jsx(_components.code, {\n children: \"POST /v1/contacts/update\"\n }), \" item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept \", _jsx(_components.code, {\n children: \"null\"\n }), \" to clear the stored value; unknown fields are rejected. A body with no updatable fields returns \", _jsx(_components.code, {\n children: \"400\"\n }), \" (\", _jsx(_components.code, {\n children: \"No fields to update\"\n }), \"). Changing \", _jsx(_components.code, {\n children: \"email\"\n }), \" or \", _jsx(_components.code, {\n children: \"phone\"\n }), \" to a value already used by another contact returns \", _jsx(_components.code, {\n children: \"409\"\n }), \" with the conflicting contact in \", _jsx(_components.code, {\n children: \"details.existing_contact\"\n }), \", and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including \", _jsx(_components.code, {\n children: \"custom_fields\"\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":"Update a contact","description":"Update a single contact by ID — the single-record equivalent of one `POST /v1/contacts/update` item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept `null` to clear the stored value; unknown fields are rejected. A body with no updatable fields returns `400` (`No fields to update`). Changing `email` or `phone` to a value already used by another contact returns `409` with the conflicting contact in `details.existing_contact`, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including `custom_fields`.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/contacts/{contactId}","href":"/api-reference/contacts/update-a-contact","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"tags":["Contacts"],"operationId":"update-contact","summary":"Update a contact","description":"Update a single contact by ID — the single-record equivalent of one `POST /v1/contacts/update` item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept `null` to clear the stored value; unknown fields are rejected. A body with no updatable fields returns `400` (`No fields to update`). Changing `email` or `phone` to a value already used by another contact returns `409` with the conflicting contact in `details.existing_contact`, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including `custom_fields`.","parameters":["cdc4e0c9-082e-41d8-860e-d98f224f62f3"],"requestBody":"b25fca07-ac1e-4324-b2db-903356a94445","responses":{"200":"9bbad984-0ec0-487e-9278-f31f11db142d","400":"b69dddc8-bada-4226-8531-5a7082935f6d","401":"44786ead-34a7-4ddd-babd-47dcd58bfcaa","404":"17de2f2a-5f91-4957-9847-5140ccd70937","409":"4847b2ea-45d3-477e-808f-b622f195caa2"},"method":"patch","type":"path","servers":["46d863a6-e43f-44d9-961b-cd303cc6f7c0"],"security":["a69c8ab2-91e8-4370-bf83-42244b8a98bb"],"path":"/v1/contacts/{contactId}","baseUrlOptions":["https://api.tented.ai"],"title":"Update a contact","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{"cdc4e0c9-082e-41d8-860e-d98f224f62f3":{"name":"contactId","in":"path","required":true,"schema":{"type":"string","format":"uuid","isRequired":true,"description":"Contact ID.","uniqueKey":"","typeLabel":"string\u003cuuid>"},"description":"Contact ID."}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"email":{"oneOf":[{"type":"string","description":"Email address. Pass `null` to clear (only allowed if a valid phone remains).","uniqueKey":"email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address. Pass `null` to clear (only allowed if a valid phone remains).","uniqueKey":"email.oneOf.1","typeLabel":"null"}],"uniqueKey":"email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Phone number. Pass `null` to clear (only allowed if a valid email remains).","uniqueKey":"phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phone number. Pass `null` to clear (only allowed if a valid email remains).","uniqueKey":"phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"phone","typeLabel":"string | null"},"display_name":{"oneOf":[{"type":"string","maxLength":255,"description":"Display name. Pass `null` to clear.","uniqueKey":"display_name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Display name. Pass `null` to clear.","uniqueKey":"display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"display_name","typeLabel":"string | null"},"first_name":{"oneOf":[{"type":"string","maxLength":255,"description":"First name. Pass `null` to clear.","uniqueKey":"first_name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"First name. Pass `null` to clear.","uniqueKey":"first_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"first_name","typeLabel":"string | null"},"last_name":{"oneOf":[{"type":"string","maxLength":255,"description":"Last name. Pass `null` to clear.","uniqueKey":"last_name.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Last name. Pass `null` to clear.","uniqueKey":"last_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_name","typeLabel":"string | null"},"email_domain":{"oneOf":[{"type":"string","description":"Usually auto-derived from `email`.","maxLength":255,"uniqueKey":"email_domain.oneOf.0","typeLabel":"string"},{"type":"null","description":"Usually auto-derived from `email`.","maxLength":255,"uniqueKey":"email_domain.oneOf.1","typeLabel":"null"}],"uniqueKey":"email_domain","typeLabel":"string | null"},"company":{"oneOf":[{"type":"string","maxLength":255,"description":"Company. Pass `null` to clear.","uniqueKey":"company.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Company. Pass `null` to clear.","uniqueKey":"company.oneOf.1","typeLabel":"null"}],"uniqueKey":"company","typeLabel":"string | null"},"job_title":{"oneOf":[{"type":"string","maxLength":255,"description":"Job title. Pass `null` to clear.","uniqueKey":"job_title.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Job title. Pass `null` to clear.","uniqueKey":"job_title.oneOf.1","typeLabel":"null"}],"uniqueKey":"job_title","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","maxLength":500,"description":"Street address. Pass `null` to clear.","uniqueKey":"address.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":500,"description":"Street address. Pass `null` to clear.","uniqueKey":"address.oneOf.1","typeLabel":"null"}],"uniqueKey":"address","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","maxLength":255,"description":"Address line 2. Pass `null` to clear.","uniqueKey":"address2.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Address line 2. Pass `null` to clear.","uniqueKey":"address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"address2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","maxLength":255,"description":"City. Pass `null` to clear.","uniqueKey":"city.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"City. Pass `null` to clear.","uniqueKey":"city.oneOf.1","typeLabel":"null"}],"uniqueKey":"city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","maxLength":255,"description":"State or region. Pass `null` to clear.","uniqueKey":"state.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"State or region. Pass `null` to clear.","uniqueKey":"state.oneOf.1","typeLabel":"null"}],"uniqueKey":"state","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","maxLength":255,"description":"Country. Pass `null` to clear.","uniqueKey":"country.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Country. Pass `null` to clear.","uniqueKey":"country.oneOf.1","typeLabel":"null"}],"uniqueKey":"country","typeLabel":"string | null"},"zip_code":{"oneOf":[{"type":"string","maxLength":50,"description":"Postal code. Pass `null` to clear.","uniqueKey":"zip_code.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":50,"description":"Postal code. Pass `null` to clear.","uniqueKey":"zip_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"zip_code","typeLabel":"string | null"},"original_source":{"oneOf":[{"type":"string","maxLength":255,"description":"Original source. Pass `null` to clear.","uniqueKey":"original_source.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Original source. Pass `null` to clear.","uniqueKey":"original_source.oneOf.1","typeLabel":"null"}],"uniqueKey":"original_source","typeLabel":"string | null"},"original_source_detail":{"oneOf":[{"type":"string","maxLength":255,"description":"Original source detail. Pass `null` to clear.","uniqueKey":"original_source_detail.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":255,"description":"Original source detail. Pass `null` to clear.","uniqueKey":"original_source_detail.oneOf.1","typeLabel":"null"}],"uniqueKey":"original_source_detail","typeLabel":"string | null"},"lead_status":{"oneOf":[{"type":"string","maxLength":100,"description":"Lead status. Pass `null` to clear.","uniqueKey":"lead_status.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":100,"description":"Lead status. Pass `null` to clear.","uniqueKey":"lead_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"lead_status","typeLabel":"string | null"},"lifecycle_stage":{"oneOf":[{"type":"string","maxLength":100,"description":"Lifecycle stage. Pass `null` to clear.","uniqueKey":"lifecycle_stage.oneOf.0","typeLabel":"string"},{"type":"null","maxLength":100,"description":"Lifecycle stage. Pass `null` to clear.","uniqueKey":"lifecycle_stage.oneOf.1","typeLabel":"null"}],"uniqueKey":"lifecycle_stage","typeLabel":"string | null"},"tented_score":{"oneOf":[{"type":"number","description":"Contact score. Pass `null` to clear.","uniqueKey":"tented_score.oneOf.0","typeLabel":"number"},{"type":"null","description":"Contact score. Pass `null` to clear.","uniqueKey":"tented_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"tented_score","typeLabel":"number | null"},"unsubscribed":{"type":"boolean","description":"Global unsubscribe flag.","uniqueKey":"unsubscribed","typeLabel":"boolean"},"marketing_email_subscribed":{"oneOf":[{"type":"boolean","description":"Email marketing subscription state.","uniqueKey":"marketing_email_subscribed.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Email marketing subscription state.","uniqueKey":"marketing_email_subscribed.oneOf.1","typeLabel":"null"}],"uniqueKey":"marketing_email_subscribed","typeLabel":"boolean | null"},"marketing_sms_subscribed":{"oneOf":[{"type":"boolean","description":"SMS marketing subscription state.","uniqueKey":"marketing_sms_subscribed.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"SMS marketing subscription state.","uniqueKey":"marketing_sms_subscribed.oneOf.1","typeLabel":"null"}],"uniqueKey":"marketing_sms_subscribed","typeLabel":"boolean | null"},"marketing_sms_invalid":{"type":"boolean","description":"Mark the phone number invalid.","uniqueKey":"marketing_sms_invalid","typeLabel":"boolean"},"custom_fields":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"custom_fields.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"number","uniqueKey":"custom_fields.additionalProperties.oneOf.1","typeLabel":"number"},{"type":"boolean","uniqueKey":"custom_fields.additionalProperties.oneOf.2","typeLabel":"boolean"},{"type":"null","uniqueKey":"custom_fields.additionalProperties.oneOf.3","typeLabel":"null"}],"uniqueKey":"custom_fields.additionalProperties","typeLabel":"string | number | boolean | null"},"description":"Editable custom fields keyed by API name. Pass `null` to clear a value.","uniqueKey":"custom_fields","typeLabel":"object"}},"description":"Fields to change on a contact. Only supplied fields are modified; unknown fields are rejected. A contact must always keep at least one of email or phone.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"email":"\u003cstring>","phone":"\u003cstring>","display_name":"\u003cstring>","first_name":"\u003cstring>","last_name":"\u003cstring>","email_domain":"\u003cstring>","company":"\u003cstring>","job_title":"\u003cstring>","address":"\u003cstring>","address2":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","country":"\u003cstring>","zip_code":"\u003cstring>","original_source":"\u003cstring>","original_source_detail":"\u003cstring>","lead_status":"\u003cstring>","lifecycle_stage":"\u003cstring>","tented_score":123,"unsubscribed":true,"marketing_email_subscribed":true,"marketing_sms_subscribed":true,"marketing_sms_invalid":true,"custom_fields":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"9bbad984-0ec0-487e-9278-f31f11db142d":{"description":"The updated contact, including `custom_fields`.","content":{"application/json":{"schema":{"type":"object","description":"A contact record including its custom field values.","properties":{"contact_id":{"type":"string","format":"uuid","description":"Contact ID.","uniqueKey":"contact_id","typeLabel":"string\u003cuuid>"},"display_name":{"oneOf":[{"type":"string","description":"Display name.","uniqueKey":"display_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Display name.","uniqueKey":"display_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"display_name","typeLabel":"string | null"},"first_name":{"oneOf":[{"type":"string","description":"First name.","uniqueKey":"first_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"First name.","uniqueKey":"first_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"first_name","typeLabel":"string | null"},"last_name":{"oneOf":[{"type":"string","description":"Last name.","uniqueKey":"last_name.oneOf.0","typeLabel":"string"},{"type":"null","description":"Last name.","uniqueKey":"last_name.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_name","typeLabel":"string | null"},"email":{"oneOf":[{"type":"string","description":"Email address.","uniqueKey":"email.oneOf.0","typeLabel":"string"},{"type":"null","description":"Email address.","uniqueKey":"email.oneOf.1","typeLabel":"null"}],"uniqueKey":"email","typeLabel":"string | null"},"phone":{"oneOf":[{"type":"string","description":"Phone number.","uniqueKey":"phone.oneOf.0","typeLabel":"string"},{"type":"null","description":"Phone number.","uniqueKey":"phone.oneOf.1","typeLabel":"null"}],"uniqueKey":"phone","typeLabel":"string | null"},"email_domain":{"oneOf":[{"type":"string","description":"Domain derived from the email address.","uniqueKey":"email_domain.oneOf.0","typeLabel":"string"},{"type":"null","description":"Domain derived from the email address.","uniqueKey":"email_domain.oneOf.1","typeLabel":"null"}],"uniqueKey":"email_domain","typeLabel":"string | null"},"company":{"oneOf":[{"type":"string","description":"Company.","uniqueKey":"company.oneOf.0","typeLabel":"string"},{"type":"null","description":"Company.","uniqueKey":"company.oneOf.1","typeLabel":"null"}],"uniqueKey":"company","typeLabel":"string | null"},"job_title":{"oneOf":[{"type":"string","description":"Job title.","uniqueKey":"job_title.oneOf.0","typeLabel":"string"},{"type":"null","description":"Job title.","uniqueKey":"job_title.oneOf.1","typeLabel":"null"}],"uniqueKey":"job_title","typeLabel":"string | null"},"address":{"oneOf":[{"type":"string","description":"Street address.","uniqueKey":"address.oneOf.0","typeLabel":"string"},{"type":"null","description":"Street address.","uniqueKey":"address.oneOf.1","typeLabel":"null"}],"uniqueKey":"address","typeLabel":"string | null"},"address2":{"oneOf":[{"type":"string","description":"Address line 2.","uniqueKey":"address2.oneOf.0","typeLabel":"string"},{"type":"null","description":"Address line 2.","uniqueKey":"address2.oneOf.1","typeLabel":"null"}],"uniqueKey":"address2","typeLabel":"string | null"},"city":{"oneOf":[{"type":"string","description":"City.","uniqueKey":"city.oneOf.0","typeLabel":"string"},{"type":"null","description":"City.","uniqueKey":"city.oneOf.1","typeLabel":"null"}],"uniqueKey":"city","typeLabel":"string | null"},"state":{"oneOf":[{"type":"string","description":"State or region.","uniqueKey":"state.oneOf.0","typeLabel":"string"},{"type":"null","description":"State or region.","uniqueKey":"state.oneOf.1","typeLabel":"null"}],"uniqueKey":"state","typeLabel":"string | null"},"country":{"oneOf":[{"type":"string","description":"Country.","uniqueKey":"country.oneOf.0","typeLabel":"string"},{"type":"null","description":"Country.","uniqueKey":"country.oneOf.1","typeLabel":"null"}],"uniqueKey":"country","typeLabel":"string | null"},"zip_code":{"oneOf":[{"type":"string","description":"Postal code.","uniqueKey":"zip_code.oneOf.0","typeLabel":"string"},{"type":"null","description":"Postal code.","uniqueKey":"zip_code.oneOf.1","typeLabel":"null"}],"uniqueKey":"zip_code","typeLabel":"string | null"},"original_source":{"oneOf":[{"type":"string","description":"How the contact was first created, e.g. `Public API`.","uniqueKey":"original_source.oneOf.0","typeLabel":"string"},{"type":"null","description":"How the contact was first created, e.g. `Public API`.","uniqueKey":"original_source.oneOf.1","typeLabel":"null"}],"uniqueKey":"original_source","typeLabel":"string | null"},"original_source_detail":{"oneOf":[{"type":"string","description":"Additional source detail.","uniqueKey":"original_source_detail.oneOf.0","typeLabel":"string"},{"type":"null","description":"Additional source detail.","uniqueKey":"original_source_detail.oneOf.1","typeLabel":"null"}],"uniqueKey":"original_source_detail","typeLabel":"string | null"},"lead_status":{"oneOf":[{"type":"string","description":"Lead status.","uniqueKey":"lead_status.oneOf.0","typeLabel":"string"},{"type":"null","description":"Lead status.","uniqueKey":"lead_status.oneOf.1","typeLabel":"null"}],"uniqueKey":"lead_status","typeLabel":"string | null"},"lifecycle_stage":{"oneOf":[{"type":"string","description":"Lifecycle stage.","uniqueKey":"lifecycle_stage.oneOf.0","typeLabel":"string"},{"type":"null","description":"Lifecycle stage.","uniqueKey":"lifecycle_stage.oneOf.1","typeLabel":"null"}],"uniqueKey":"lifecycle_stage","typeLabel":"string | null"},"tented_score":{"oneOf":[{"type":"number","description":"Contact score.","uniqueKey":"tented_score.oneOf.0","typeLabel":"number"},{"type":"null","description":"Contact score.","uniqueKey":"tented_score.oneOf.1","typeLabel":"null"}],"uniqueKey":"tented_score","typeLabel":"number | null"},"unsubscribed":{"type":"boolean","description":"Global unsubscribe flag.","uniqueKey":"unsubscribed","typeLabel":"boolean"},"marketing_email_subscribed":{"oneOf":[{"type":"boolean","description":"Email marketing subscription state.","uniqueKey":"marketing_email_subscribed.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"Email marketing subscription state.","uniqueKey":"marketing_email_subscribed.oneOf.1","typeLabel":"null"}],"uniqueKey":"marketing_email_subscribed","typeLabel":"boolean | null"},"marketing_sms_subscribed":{"oneOf":[{"type":"boolean","description":"SMS marketing subscription state.","uniqueKey":"marketing_sms_subscribed.oneOf.0","typeLabel":"boolean"},{"type":"null","description":"SMS marketing subscription state.","uniqueKey":"marketing_sms_subscribed.oneOf.1","typeLabel":"null"}],"uniqueKey":"marketing_sms_subscribed","typeLabel":"boolean | null"},"marketing_email_invalid":{"type":"boolean","description":"Whether the email address is known to be invalid.","uniqueKey":"marketing_email_invalid","typeLabel":"boolean"},"marketing_sms_invalid":{"type":"boolean","description":"Whether the phone number is known to be invalid.","uniqueKey":"marketing_sms_invalid","typeLabel":"boolean"},"last_activity_at":{"oneOf":[{"type":"string","format":"date-time","description":"Most recent tracked activity.","uniqueKey":"last_activity_at.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"null","format":"date-time","description":"Most recent tracked activity.","uniqueKey":"last_activity_at.oneOf.1","typeLabel":"null"}],"uniqueKey":"last_activity_at","typeLabel":"string\u003cdate-time> | null"},"created_at":{"type":"string","format":"date-time","description":"Creation time.","uniqueKey":"created_at","typeLabel":"string\u003cdate-time>"},"updated_at":{"type":"string","format":"date-time","description":"Last update.","uniqueKey":"updated_at","typeLabel":"string\u003cdate-time>"},"custom_fields":{"type":"object","additionalProperties":{"oneOf":[{"type":"string","uniqueKey":"custom_fields.additionalProperties.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"custom_fields.additionalProperties.oneOf.1","typeLabel":"null"}],"uniqueKey":"custom_fields.additionalProperties","typeLabel":"string | null"},"description":"Custom field values keyed by field API name. Values are returned as stored strings (or `null`) regardless of the field's declared value type.","uniqueKey":"custom_fields","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"contact_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a","display_name":"\u003cstring>","first_name":"\u003cstring>","last_name":"\u003cstring>","email":"\u003cstring>","phone":"\u003cstring>","email_domain":"\u003cstring>","company":"\u003cstring>","job_title":"\u003cstring>","address":"\u003cstring>","address2":"\u003cstring>","city":"\u003cstring>","state":"\u003cstring>","country":"\u003cstring>","zip_code":"\u003cstring>","original_source":"\u003cstring>","original_source_detail":"\u003cstring>","lead_status":"\u003cstring>","lifecycle_stage":"\u003cstring>","tented_score":123,"unsubscribed":true,"marketing_email_subscribed":true,"marketing_sms_subscribed":true,"marketing_email_invalid":true,"marketing_sms_invalid":true,"last_activity_at":"2023-11-07T05:31:56Z","created_at":"2023-11-07T05:31:56Z","updated_at":"2023-11-07T05:31:56Z","custom_fields":{}}}},"exampleType":"generated"}},"exampleType":"generated"},"b69dddc8-bada-4226-8531-5a7082935f6d":{"description":"Bad request — `contactId` is not a valid UUID, the body is invalid, no updatable fields were supplied (`No fields to update`), or the update would leave the contact with neither a valid email nor phone. Validation failures include `details.issues` with per-field messages.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"error_code":{"type":"string","description":"Stable machine-readable error code (present on email, blast, flow, and related endpoints, e.g. `campaign_not_ready`, `generation_in_progress`).","uniqueKey":"error_code","typeLabel":"string"},"message":{"type":"string","description":"Additional human-readable context (present on some tent endpoints).","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable code used by tent creation errors (e.g. `INVALID_PROMPT_INTENT`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Additional error context. Validation errors include `issues`: an array of `{ path, message }` objects.","uniqueKey":"details","typeLabel":"object"},"limit":{"type":"integer","description":"Plan limit that was hit (present on `429` publish-limit errors).","uniqueKey":"limit","typeLabel":"integer"},"current":{"type":"integer","description":"Current usage against the limit (present on `429` publish-limit errors).","uniqueKey":"current","typeLabel":"integer"}},"required":["error"],"description":"Error response. All errors include `error`; the other fields vary by endpoint group.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","error_code":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","details":{},"limit":123,"current":123}}},"exampleType":"generated"}},"exampleType":"generated"},"44786ead-34a7-4ddd-babd-47dcd58bfcaa":{"description":"Unauthorized — missing, malformed, revoked, or expired API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"error_code":{"type":"string","description":"Stable machine-readable error code (present on email, blast, flow, and related endpoints, e.g. `campaign_not_ready`, `generation_in_progress`).","uniqueKey":"error_code","typeLabel":"string"},"message":{"type":"string","description":"Additional human-readable context (present on some tent endpoints).","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable code used by tent creation errors (e.g. `INVALID_PROMPT_INTENT`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Additional error context. Validation errors include `issues`: an array of `{ path, message }` objects.","uniqueKey":"details","typeLabel":"object"},"limit":{"type":"integer","description":"Plan limit that was hit (present on `429` publish-limit errors).","uniqueKey":"limit","typeLabel":"integer"},"current":{"type":"integer","description":"Current usage against the limit (present on `429` publish-limit errors).","uniqueKey":"current","typeLabel":"integer"}},"required":["error"],"description":"Error response. All errors include `error`; the other fields vary by endpoint group.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","error_code":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","details":{},"limit":123,"current":123}}},"exampleType":"generated"}},"exampleType":"generated"},"17de2f2a-5f91-4957-9847-5140ccd70937":{"description":"Not found — the resource does not exist in the workspace tied to your API key.","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"error_code":{"type":"string","description":"Stable machine-readable error code (present on email, blast, flow, and related endpoints, e.g. `campaign_not_ready`, `generation_in_progress`).","uniqueKey":"error_code","typeLabel":"string"},"message":{"type":"string","description":"Additional human-readable context (present on some tent endpoints).","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable code used by tent creation errors (e.g. `INVALID_PROMPT_INTENT`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Additional error context. Validation errors include `issues`: an array of `{ path, message }` objects.","uniqueKey":"details","typeLabel":"object"},"limit":{"type":"integer","description":"Plan limit that was hit (present on `429` publish-limit errors).","uniqueKey":"limit","typeLabel":"integer"},"current":{"type":"integer","description":"Current usage against the limit (present on `429` publish-limit errors).","uniqueKey":"current","typeLabel":"integer"}},"required":["error"],"description":"Error response. All errors include `error`; the other fields vary by endpoint group.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","error_code":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","details":{},"limit":123,"current":123}}},"exampleType":"generated"}},"exampleType":"generated"},"4847b2ea-45d3-477e-808f-b622f195caa2":{"description":"Conflict — the new `email` or `phone` already belongs to another contact. `details.existing_contact` identifies the conflicting contact (`contact_id`, `display_name`, `email`, `phone`).","content":{"application/json":{"schema":{"type":"object","properties":{"error":{"type":"string","description":"Human-readable error message.","isRequired":true,"uniqueKey":"error","typeLabel":"string"},"error_code":{"type":"string","description":"Stable machine-readable error code (present on email, blast, flow, and related endpoints, e.g. `campaign_not_ready`, `generation_in_progress`).","uniqueKey":"error_code","typeLabel":"string"},"message":{"type":"string","description":"Additional human-readable context (present on some tent endpoints).","uniqueKey":"message","typeLabel":"string"},"code":{"type":"string","description":"Machine-readable code used by tent creation errors (e.g. `INVALID_PROMPT_INTENT`).","uniqueKey":"code","typeLabel":"string"},"details":{"type":"object","additionalProperties":true,"description":"Additional error context. Validation errors include `issues`: an array of `{ path, message }` objects.","uniqueKey":"details","typeLabel":"object"},"limit":{"type":"integer","description":"Plan limit that was hit (present on `429` publish-limit errors).","uniqueKey":"limit","typeLabel":"integer"},"current":{"type":"integer","description":"Current usage against the limit (present on `429` publish-limit errors).","uniqueKey":"current","typeLabel":"integer"}},"required":["error"],"description":"Error response. All errors include `error`; the other fields vary by endpoint group.","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":"\u003cstring>","error_code":"\u003cstring>","message":"\u003cstring>","code":"\u003cstring>","details":{},"limit":123,"current":123}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"a69c8ab2-91e8-4370-bf83-42244b8a98bb":{"bearerAuth":{"type":"http","scheme":"bearer","description":"Workspace API key, e.g. `Authorization: Bearer tented_...`. Create keys in Workspace Settings → API Keys.","scopes":[],"schemeName":"bearerAuth"}}},"servers":{"46d863a6-e43f-44d9-961b-cd303cc6f7c0":{"url":"https://api.tented.ai","description":"Production"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"http","scheme":"bearer","description":"Workspace API key, e.g. `Authorization: Bearer tented_...`. Create keys in Workspace Settings → API Keys.","scopes":[],"schemeName":"bearerAuth"},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"Workspace API key, e.g. `Authorization: Bearer tented_...`. Create keys in Workspace Settings → API Keys.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"bearerAuth","name":"Authorization"}],"title":"bearerAuth"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"tented","siteName":"Tented Help Center","title":"Update a contact - Tented Help Center","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-23T16:49:08.212Z","originalFileLocation":"api-reference/contacts/update-a-contact.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=\"Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Tented Help Center\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_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/tented/Ot1teMsSMR0FZrqh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Update a contact - Tented Help Center\">\u003cmeta data-mint-head property=\"og:description\" content=\"Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Tented Help Center\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.tented.ai/api-reference/contacts/update-a-contact\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://tented.mintlify.site/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Update+a+contact\u0026amp;description=Update+a+single+contact+by+ID+%E2%80%94+the+single-record+equivalent+of+one+%60POST+%2Fv1%2Fcontacts%2Fupdate%60+item%2C+without+the+batch+envelope.+Only+the+fields+present+in+the+\u0026amp;theme=6f3de5c97857f534565ce1c7\u0026amp;signature=77422998eec166d324ffc23d2f2a9ee6454e09f03e94f8f390b66bb3e713e345\">\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=\"Update a contact - Tented Help Center\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://tented.mintlify.site/_mintlify/api/og/v2?division=Contacts\u0026amp;title=Update+a+contact\u0026amp;description=Update+a+single+contact+by+ID+%E2%80%94+the+single-record+equivalent+of+one+%60POST+%2Fv1%2Fcontacts%2Fupdate%60+item%2C+without+the+batch+envelope.+Only+the+fields+present+in+the+\u0026amp;theme=6f3de5c97857f534565ce1c7\u0026amp;signature=77422998eec166d324ffc23d2f2a9ee6454e09f03e94f8f390b66bb3e713e345\">\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/tented/Ot1teMsSMR0FZrqh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Tented Help Center\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#5A855B\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.tented.ai/api-reference/contacts/update-a-contact\">\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/update-a-contact.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.tented.ai/#organization\",\"name\":\"Tented Help Center\",\"url\":\"https://docs.tented.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/tented/ROcYOxFUIgiTHi6y/logo/tented-logo-dark-text.svg?fit=max\u0026auto=format\u0026n=ROcYOxFUIgiTHi6y\u0026q=85\u0026s=524f92cf5a25aeddb0118ecf3d7d8175\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.tented.ai#website\",\"name\":\"Tented Help Center\",\"url\":\"https://docs.tented.ai\",\"publisher\":{\"@id\":\"https://docs.tented.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact#webpage\",\"url\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact\",\"name\":\"Update a contact\",\"description\":\"Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.\",\"dateModified\":\"2026-10-23T16:49:08.212Z\",\"isPartOf\":{\"@id\":\"https://docs.tented.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Contacts\",\"item\":\"https://docs.tented.ai/api-reference/contacts/list-or-look-up-contacts\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Update a contact\",\"item\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact#apireference\",\"headline\":\"Update a contact\",\"name\":\"Update a contact\",\"description\":\"Update a single contact by ID — the single-record equivalent of one POST /v1/contacts/update item, without the batch envelope. Only the fields present in the body are changed; nullable fields accept null to clear the stored value; unknown fields are rejected. A body with no updatable fields returns 400 (No fields to update). Changing email or phone to a value already used by another contact returns 409 with the conflicting contact in details.existing_contact, and clearing both identifiers is rejected — a contact must always keep at least one valid email or phone. Returns the full updated contact, including custom_fields.\",\"url\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact\",\"mainEntityOfPage\":{\"@id\":\"https://docs.tented.ai/api-reference/contacts/update-a-contact#webpage\"},\"dateModified\":\"2026-10-23T16:49:08.212Z\",\"publisher\":{\"@id\":\"https://docs.tented.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.tented.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Tented Help Center\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"Tented Help Center\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/contacts/update-a-contact.md","siteName":"Tented Help Center","nav":{"global":{},"tabs":[{"tab":"Guides","pages":[{"title":"Guides","href":""}]},{"tab":"API Docs","pages":[{"title":"API Docs","href":"/api-reference/introduction"}]},{"tab":"API Reference","groups":[{"group":"Tents","pages":[{"title":"Create a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents","href":"/api-reference/tents/create-a-tent"},{"title":"Get tent status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tents/{tentId}","href":"/api-reference/tents/get-tent-status"},{"title":"Edit a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents/{tentId}/edit","href":"/api-reference/tents/edit-a-tent"},{"title":"List tent assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tents/{tentId}/assets","href":"/api-reference/tents/list-tent-assets"},{"title":"Upload an asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents/{tentId}/assets","href":"/api-reference/tents/upload-an-asset"},{"title":"Publish a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents/{tentId}/publish","href":"/api-reference/tents/publish-a-tent"},{"title":"Unpublish a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents/{tentId}/unpublish","href":"/api-reference/tents/unpublish-a-tent"},{"title":"Delete a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tents/{identifier}","href":"/api-reference/tents/delete-a-tent"},{"title":"Create tents in bulk","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents/bulk","href":"/api-reference/tents/create-tents-in-bulk"},{"title":"Get bulk job status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/bulk-jobs/{bulkJobId}","href":"/api-reference/tents/get-bulk-job-status"},{"title":"Get a tent asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tents/{tentId}/assets/{assetId}","href":"/api-reference/tents/get-a-tent-asset"},{"title":"Delete a tent asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tents/{tentId}/assets/{assetId}","href":"/api-reference/tents/delete-a-tent-asset"},{"title":"Clone a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tents/{tentId}/clone","href":"/api-reference/tents/clone-a-tent"}]},{"group":"Analytics","pages":[{"title":"Get tent analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/tent","href":"/api-reference/analytics/get-tent-analytics"},{"title":"Get workspace analytics","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/analytics/org","href":"/api-reference/analytics/get-workspace-analytics"}]},{"group":"Contacts","pages":[{"title":"List or look up contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contacts","href":"/api-reference/contacts/list-or-look-up-contacts"},{"title":"Create contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts","href":"/api-reference/contacts/create-contacts"},{"title":"Delete contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/contacts","href":"/api-reference/contacts/delete-contacts"},{"title":"Update contacts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/update","href":"/api-reference/contacts/update-contacts"},{"title":"Delete contacts (POST)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/delete","href":"/api-reference/contacts/delete-contacts-post"},{"title":"Get a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contacts/{contactId}","href":"/api-reference/contacts/get-a-contact"},{"title":"Delete a contact","description":"Delete a single contact by ID — the single-record equivalent of one `DELETE /v1/contacts` item, without the batch envelope. Returns `204` with no body on success.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/contacts/{contactId}","href":"/api-reference/contacts/delete-a-contact"},{"title":"Update a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/contacts/{contactId}","href":"/api-reference/contacts/update-a-contact"},{"title":"Upsert contacts","description":"Create or update up to 100 contacts in one request (note: this endpoint's batch limit is 100 items). Each item is matched against existing contacts by a single key: the normalized `email` when the item has a non-empty email, otherwise the normalized `phone`. A matched contact is updated with the item's remaining fields (`status: updated`); an unmatched item creates a new contact (`status: created`, with `original_source` defaulting to `Public API` and `original_source_detail` to `client_item_id` unless supplied).\n\nBecause matching uses only that single key, an item whose email is new but whose phone already belongs to a different contact is **not** treated as an update — the creation collides on the phone and the item is rejected with `error_code: conflict` and the conflicting contact in `existing_contact`. (A create collision on the item's own match key — e.g. from a concurrent insert — is resolved as an update of that contact instead.) Updates that would change an email or phone to collide with another contact are likewise rejected with `conflict`, and updates that would leave a contact with neither a valid email nor phone are rejected with `bad_request`.\n\nPartial success is normal — inspect each item result; successful items include the full `contact` with `custom_fields`. Body-level validation failures (an invalid email or phone format, more than 100 items, unknown fields) reject the entire request with `400` before any item is processed.","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/upsert","href":"/api-reference/contacts/upsert-contacts"},{"title":"Search contacts by rules","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/search","href":"/api-reference/contacts/search-contacts-by-rules"},{"title":"List contact activities","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contacts/{contactId}/activities","href":"/api-reference/contacts/list-contact-activities"}]},{"group":"Emails","pages":[{"title":"List emails","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails","href":"/api-reference/emails/list-emails"},{"title":"Create an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails","href":"/api-reference/emails/create-an-email"},{"title":"Get an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}","href":"/api-reference/emails/get-an-email"},{"title":"Delete an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/emails/{emailId}","href":"/api-reference/emails/delete-an-email"},{"title":"Update email metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/emails/{emailId}","href":"/api-reference/emails/update-email-metadata"},{"title":"Get email HTML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/content","href":"/api-reference/emails/get-email-html"},{"title":"Get plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/plain-text","href":"/api-reference/emails/get-plain-text"},{"title":"Override plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/emails/{emailId}/plain-text","href":"/api-reference/emails/override-plain-text"},{"title":"Reset plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/emails/{emailId}/plain-text","href":"/api-reference/emails/reset-plain-text"},{"title":"Iterate with AI","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails/{emailId}/messages","href":"/api-reference/emails/iterate-with-ai"},{"title":"Save HTML directly","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails/{emailId}/save-code","href":"/api-reference/emails/save-html-directly"},{"title":"Approve an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails/{emailId}/approve","href":"/api-reference/emails/approve-an-email"},{"title":"Unapprove an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails/{emailId}/unapprove","href":"/api-reference/emails/unapprove-an-email"},{"title":"Get generation status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/generations/{generationId}","href":"/api-reference/emails/get-generation-status"},{"title":"Get generation HTML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/generations/{generationId}/content","href":"/api-reference/emails/get-generation-html"},{"title":"Get generation plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/generations/{generationId}/plain-text","href":"/api-reference/emails/get-generation-plain-text"},{"title":"List email assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/assets","href":"/api-reference/emails/list-email-assets"},{"title":"Upload an email asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails/{emailId}/assets","href":"/api-reference/emails/upload-an-email-asset"},{"title":"Get an email asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/emails/{emailId}/assets/{assetId}","href":"/api-reference/emails/get-an-email-asset"},{"title":"Delete an email asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/emails/{emailId}/assets/{assetId}","href":"/api-reference/emails/delete-an-email-asset"},{"title":"Clone an email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/emails/{emailId}/clone","href":"/api-reference/emails/clone-an-email"}]},{"group":"Email Blasts","pages":[{"title":"List blasts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-blasts","href":"/api-reference/email-blasts/list-blasts"},{"title":"Create a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-blasts","href":"/api-reference/email-blasts/create-a-blast"},{"title":"Get a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-blasts/{blastId}","href":"/api-reference/email-blasts/get-a-blast"},{"title":"Delete a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-blasts/{blastId}","href":"/api-reference/email-blasts/delete-a-blast"},{"title":"Rename a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/email-blasts/{blastId}","href":"/api-reference/email-blasts/rename-a-blast"},{"title":"Set the audience","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/email-blasts/{blastId}/audience","href":"/api-reference/email-blasts/set-the-audience"},{"title":"Set the email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/email-blasts/{blastId}/email","href":"/api-reference/email-blasts/set-the-email"},{"title":"Schedule a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-blasts/{blastId}/schedule","href":"/api-reference/email-blasts/schedule-a-blast"},{"title":"Send a blast now","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-blasts/{blastId}/send-now","href":"/api-reference/email-blasts/send-a-blast-now"},{"title":"Unschedule a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-blasts/{blastId}/unschedule","href":"/api-reference/email-blasts/unschedule-a-blast"},{"title":"Archive a blast","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-blasts/{blastId}/archive","href":"/api-reference/email-blasts/archive-a-blast"},{"title":"List recipients \u0026 engagement","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-blasts/{blastId}/contacts","href":"/api-reference/email-blasts/list-recipients-\u0026-engagement"},{"title":"Start a CSV export","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-blasts/{blastId}/contacts/export","href":"/api-reference/email-blasts/start-a-csv-export"},{"title":"Get export status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-blasts/{blastId}/contacts/export/{exportId}","href":"/api-reference/email-blasts/get-export-status"}]},{"group":"Triggered Flows","pages":[{"title":"List flows","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-flows","href":"/api-reference/triggered-flows/list-flows"},{"title":"Create a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows","href":"/api-reference/triggered-flows/create-a-flow"},{"title":"Get a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-flows/{flowId}","href":"/api-reference/triggered-flows/get-a-flow"},{"title":"Delete a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-flows/{flowId}","href":"/api-reference/triggered-flows/delete-a-flow"},{"title":"Update a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/email-flows/{flowId}","href":"/api-reference/triggered-flows/update-a-flow"},{"title":"Replace triggers","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/email-flows/{flowId}/triggers","href":"/api-reference/triggered-flows/replace-triggers"},{"title":"Replace steps","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/email-flows/{flowId}/steps","href":"/api-reference/triggered-flows/replace-steps"},{"title":"Add a step","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows/{flowId}/steps","href":"/api-reference/triggered-flows/add-a-step"},{"title":"Delete a step","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-flows/{flowId}/steps/{stepId}","href":"/api-reference/triggered-flows/delete-a-step"},{"title":"Update a step","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/email-flows/{flowId}/steps/{stepId}","href":"/api-reference/triggered-flows/update-a-step"},{"title":"Set a step’s email","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/email-flows/{flowId}/steps/{stepId}/email","href":"/api-reference/triggered-flows/set-a-step’s-email"},{"title":"Activate a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows/{flowId}/activate","href":"/api-reference/triggered-flows/activate-a-flow"},{"title":"Pause a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows/{flowId}/pause","href":"/api-reference/triggered-flows/pause-a-flow"},{"title":"Archive a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows/{flowId}/archive","href":"/api-reference/triggered-flows/archive-a-flow"},{"title":"Add a contact to a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows/{flowId}/contacts/{contactId}","href":"/api-reference/triggered-flows/add-a-contact-to-a-flow"},{"title":"Remove a contact from a flow","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-flows/{flowId}/contacts/{contactId}","href":"/api-reference/triggered-flows/remove-a-contact-from-a-flow"},{"title":"List flow members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-flows/{flowId}/members","href":"/api-reference/triggered-flows/list-flow-members"},{"title":"Get a member run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-flows/{flowId}/members/{membershipId}","href":"/api-reference/triggered-flows/get-a-member-run"},{"title":"Trigger a flow for a contact","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-flows/{flowId}/trigger","href":"/api-reference/triggered-flows/trigger-a-flow-for-a-contact"},{"title":"Add a contact to a flow (campaign alias)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-campaigns/{campaignId}/contacts/{contactId}","href":"/api-reference/triggered-flows/add-a-contact-to-a-flow-campaign-alias"},{"title":"Remove a contact from a flow (campaign alias)","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-campaigns/{campaignId}/contacts/{contactId}","href":"/api-reference/triggered-flows/remove-a-contact-from-a-flow-campaign-alias"}]},{"group":"Contact Imports","pages":[{"title":"Start a contact import","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/imports","href":"/api-reference/contact-imports/start-a-contact-import"},{"title":"Preview an import","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/imports/{sessionId}/preview","href":"/api-reference/contact-imports/preview-an-import"},{"title":"Execute an import","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contacts/imports/{sessionId}/execute","href":"/api-reference/contact-imports/execute-an-import"},{"title":"Get an import run","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contacts/imports/{importRunId}","href":"/api-reference/contact-imports/get-an-import-run"},{"title":"List per-row results","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contacts/imports/{importRunId}/results","href":"/api-reference/contact-imports/list-per-row-results"},{"title":"Export results as CSV","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contacts/imports/{importRunId}/export","href":"/api-reference/contact-imports/export-results-as-csv"}]},{"group":"Contact Fields","pages":[{"title":"List contact fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-fields","href":"/api-reference/contact-fields/list-contact-fields"},{"title":"Create custom fields","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contact-fields","href":"/api-reference/contact-fields/create-custom-fields"},{"title":"Update a custom field","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/contact-fields/{fieldDefinitionId}","href":"/api-reference/contact-fields/update-a-custom-field"},{"title":"Get rule metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-fields/rule-metadata","href":"/api-reference/contact-fields/get-rule-metadata"}]},{"group":"Contact Lists","pages":[{"title":"List contact lists","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-lists","href":"/api-reference/contact-lists/list-contact-lists"},{"title":"Create a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contact-lists","href":"/api-reference/contact-lists/create-a-contact-list"},{"title":"Get a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-lists/{listId}","href":"/api-reference/contact-lists/get-a-contact-list"},{"title":"Delete a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/contact-lists/{listId}","href":"/api-reference/contact-lists/delete-a-contact-list"},{"title":"Update a contact list","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/contact-lists/{listId}","href":"/api-reference/contact-lists/update-a-contact-list"},{"title":"List members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-lists/{listId}/contacts","href":"/api-reference/contact-lists/list-members"},{"title":"Add members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contact-lists/{listId}/contacts","href":"/api-reference/contact-lists/add-members"},{"title":"Remove members","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/contact-lists/{listId}/contacts","href":"/api-reference/contact-lists/remove-members"},{"title":"Get live member counts","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-lists/{listId}/member-count","href":"/api-reference/contact-lists/get-live-member-counts"},{"title":"Start a CSV export","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/contact-lists/{listId}/export","href":"/api-reference/contact-lists/start-a-csv-export"},{"title":"Get export status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/contact-lists/{listId}/export/{exportId}","href":"/api-reference/contact-lists/get-export-status"}]},{"group":"Email Templates","pages":[{"title":"List email templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates","href":"/api-reference/email-templates/list-email-templates"},{"title":"Create an email template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates","href":"/api-reference/email-templates/create-an-email-template"},{"title":"Get an email template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}","href":"/api-reference/email-templates/get-an-email-template"},{"title":"Delete an email template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-templates/{templateId}","href":"/api-reference/email-templates/delete-an-email-template"},{"title":"Update template metadata","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json patch /v1/email-templates/{templateId}","href":"/api-reference/email-templates/update-template-metadata"},{"title":"Get template HTML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/content","href":"/api-reference/email-templates/get-template-html"},{"title":"Get plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/plain-text","href":"/api-reference/email-templates/get-plain-text"},{"title":"Override plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json put /v1/email-templates/{templateId}/plain-text","href":"/api-reference/email-templates/override-plain-text"},{"title":"Reset plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-templates/{templateId}/plain-text","href":"/api-reference/email-templates/reset-plain-text"},{"title":"Iterate with AI","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates/{templateId}/messages","href":"/api-reference/email-templates/iterate-with-ai"},{"title":"Save HTML directly","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates/{templateId}/save-code","href":"/api-reference/email-templates/save-html-directly"},{"title":"Approve an email template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates/{templateId}/approve","href":"/api-reference/email-templates/approve-an-email-template"},{"title":"Unapprove an email template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates/{templateId}/unapprove","href":"/api-reference/email-templates/unapprove-an-email-template"},{"title":"Get generation status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/generations/{generationId}","href":"/api-reference/email-templates/get-generation-status"},{"title":"Get generation HTML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/generations/{generationId}/content","href":"/api-reference/email-templates/get-generation-html"},{"title":"Get generation plain text","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/generations/{generationId}/plain-text","href":"/api-reference/email-templates/get-generation-plain-text"},{"title":"List template assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/assets","href":"/api-reference/email-templates/list-template-assets"},{"title":"Upload a template asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates/{templateId}/assets","href":"/api-reference/email-templates/upload-a-template-asset"},{"title":"Get a template asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/email-templates/{templateId}/assets/{assetId}","href":"/api-reference/email-templates/get-a-template-asset"},{"title":"Delete a template asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/email-templates/{templateId}/assets/{assetId}","href":"/api-reference/email-templates/delete-a-template-asset"},{"title":"Clone an email template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/email-templates/{templateId}/clone","href":"/api-reference/email-templates/clone-an-email-template"}]},{"group":"Tent Templates","pages":[{"title":"List tent templates","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates","href":"/api-reference/tent-templates/list-tent-templates"},{"title":"Create a tent template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates","href":"/api-reference/tent-templates/create-a-tent-template"},{"title":"Create a tent template from a tent","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/from-tent/{tentId}","href":"/api-reference/tent-templates/create-a-tent-template-from-a-tent"},{"title":"Get a tent template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates/{templateId}","href":"/api-reference/tent-templates/get-a-tent-template"},{"title":"Delete a tent template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tent-templates/{templateId}","href":"/api-reference/tent-templates/delete-a-tent-template"},{"title":"Get template HTML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates/{templateId}/content","href":"/api-reference/tent-templates/get-template-html"},{"title":"Iterate with AI","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/{templateId}/messages","href":"/api-reference/tent-templates/iterate-with-ai"},{"title":"Save HTML directly","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/{templateId}/save-code","href":"/api-reference/tent-templates/save-html-directly"},{"title":"Approve a tent template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/{templateId}/approve","href":"/api-reference/tent-templates/approve-a-tent-template"},{"title":"Unapprove a tent template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/{templateId}/unapprove","href":"/api-reference/tent-templates/unapprove-a-tent-template"},{"title":"Clone a tent template","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/{templateId}/clone","href":"/api-reference/tent-templates/clone-a-tent-template"},{"title":"Get generation status","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates/{templateId}/generations/{generationId}","href":"/api-reference/tent-templates/get-generation-status"},{"title":"Get generation HTML","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates/{templateId}/generations/{generationId}/content","href":"/api-reference/tent-templates/get-generation-html"},{"title":"List template assets","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates/{templateId}/assets","href":"/api-reference/tent-templates/list-template-assets"},{"title":"Upload a template asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json post /v1/tent-templates/{templateId}/assets","href":"/api-reference/tent-templates/upload-a-template-asset"},{"title":"Get a template asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json get /v1/tent-templates/{templateId}/assets/{assetId}","href":"/api-reference/tent-templates/get-a-template-asset"},{"title":"Delete a template asset","deprecated":null,"version":null,"openapi":"/api-reference/openapi.json delete /v1/tent-templates/{templateId}/assets/{assetId}","href":"/api-reference/tent-templates/delete-a-template-asset"}]}]}]},"basePath":"","title":"Update a contact - Tented Help Center","buildId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","deploymentId":"dpl_DqYu5MPb49gWBBbUGgpHQUmCHY3P","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-CybtLBIt.js","utils-BMLj2fvV.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-B6In562Y.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Dr8Mfhp9.js","snippetPresets-2rmQvMVl.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-WMqJYdZj.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-CJ-MlPHu.js","shallow-dY3TMRCk.js","getApiPlaygroundDisplay-v-1B2bKm.js","CodeSnippet-BDhiTB7U.js","CodeSnippets-D9hnzQcS.js","Page-C4GwDT3_.js","getPastedJson-Th2V45jI.js","icon-BQXch1W9.js","MethodPill-BCqUneP3.js","DuplicateIcon-Q_-bhurZ.js","createIcon-DUjLHRqp.js","DynamicMarkdown-B-f2cqXQ.js","SectionHeading-Da5NsV4v.js","axios-vUo_bRtp.js","Markdown-D13FWkIM.js","clsx-D3Isdib3.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-C-XZBk9h.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink--qIqmmVG.js"]}