Events still recorded under the anonymous ID move onto the user, and the user’s profile is rebuilt with them. What someone browsed before signing in then shapes their recommendations, on that device and on every other device where they sign in. After the call, send user_id for that person on later events and recommendation requests.The JavaScript SDK calls this for you from identify(userId). See Identity for the full sign-in and sign-out flow.
A refused link still returns 200, with linked: false and a reason:
reason
Meaning
linked_to_other_user
The anonymous ID is already linked to someone else, for example on a shared device. Call reset() in the SDK, or start a new anonymous ID, when a user signs out.
erased
One of the two IDs was erased at a user’s request.
same_id
The anonymous ID and the user ID are the same value.
Calling it again for the same pair is safe. It returns already_linked and moves anything sent anonymously since the last call.
linked: first link. already_linked: linked to this user before; any events sent anonymously since were moved. linked_to_other_user: the anonymous ID belongs to someone else (for example a shared device), nothing moved. same_id: the two IDs are equal. erased: one of the IDs was erased, nothing moved.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"NeuronSearchLab","colors":{"primary":"#6366f1","light":"#6366f1","dark":"#6366f1"},"logo":{"light":"https://mintcdn.com/neuronsearchlab/X_3-ayYC_ECR5qbW/pestyabesty_dog_running_in_full_sprint._High_energy._Black_silh_47b185ef-6546-42e7-95d0-0bf501cb9d26-removebg-preview.png?fit=max\u0026auto=format\u0026n=X_3-ayYC_ECR5qbW\u0026q=85\u0026s=869c57701ca52517095f6c16421ef1bc","dark":"https://mintcdn.com/neuronsearchlab/X_3-ayYC_ECR5qbW/image-removebg-preview.png?fit=max\u0026auto=format\u0026n=X_3-ayYC_ECR5qbW\u0026q=85\u0026s=42ddf1a46eb24cd713efe0b60867b037"},"favicon":"https://mintcdn.com/neuronsearchlab/X_3-ayYC_ECR5qbW/favicon.ico?fit=max\u0026auto=format\u0026n=X_3-ayYC_ECR5qbW\u0026q=85\u0026s=2cdabb8c7d7b138059aade590d9a1d78","navbar":{"links":[{"href":"mailto:contact@neuronsearchlab.com","label":"Support"}],"primary":{"type":"button","label":"Console","href":"https://console.neuronsearchlab.com/login"}},"footer":{"socials":{"github":"https://github.com/neuronsearchlab","linkedin":"https://linkedin.com/company/neuronsearchlab"}},"contextual":{"options":["copy","view","assistant","chatgpt","claude","perplexity","grok","aistudio","devin","windsurf","mcp","add-mcp","cursor","vscode","devin-mcp",{"title":"Open Console","description":"Sign in to manage contexts, rules, models, and analytics.","icon":"arrow-up-right","href":"https://console.neuronsearchlab.com/login"},{"title":"MCP setup","description":"Connect NeuronSearchLab to AI assistants through MCP.","icon":"robot","href":"/sdk/mcp"},{"title":"Contact support","description":"Ask the NeuronSearchLab team for integration help.","icon":"headset","href":"mailto:contact@neuronsearchlab.com"}],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Console","icon":"arrow-up-right","href":"https://console.neuronsearchlab.com/login"},{"anchor":"GitHub","icon":"github","href":"https://github.com/neuronsearchlab"},{"anchor":"Support","icon":"headset","href":"mailto:contact@neuronsearchlab.com"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"neuronsearchlab","hasAudioNarration":false,"actualSubdomain":"neuronsearchlab","customDomains":["docs.neuronsearchlab.com"],"gitSource":{"type":"github","owner":"neuronsearchlab","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{},"buildId":"6af0c930c5f2ed8c323fb15c","clientVersion":"0.0.4088","searchFilterCounts":[{"language":"default","tag":"Platform API","count":108},{"language":"default","tag":"Ranking","count":25},{"language":"default","tag":"Models and Training","count":25},{"language":"default","tag":"Console","count":24},{"language":"default","tag":"Guides","count":19},{"language":"default","tag":"Administration","count":17},{"language":"default","tag":"Core API","count":15},{"language":"default","tag":"Identity and Collaboration","count":13},{"language":"default","tag":"Events","count":12},{"language":"default","tag":"Analytics and Insights","count":9}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"api-reference/endpoint/identify","slug":"/api-reference/endpoint/identify","pageMetadata":{"title":"Identify a visitor","description":"Link an anonymous visitor to a known user when they sign in.","openapi":"api-reference/openapi.json POST /v1/identify","href":"/api-reference/endpoint/identify"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Link an anonymous visitor to a known user when they sign in.\"\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,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`Call this when a visitor signs in. Send the anonymous ID their events used before signing in, and your user ID for them.`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`json`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`json`,children:_jsxs(_components.code,{language:`json`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`{`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"anonymous_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"aid_7f3c2b91e0\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:` \"user_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"user-123\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Events still recorded under the anonymous ID move onto the user, and the user’s profile is rebuilt with them. What someone browsed before signing in then shapes their recommendations, on that device and on every other device where they sign in. After the call, send `,_jsx(_components.code,{children:`user_id`}),` for that person on later events and recommendation requests.`]}),`\n`,_jsxs(_components.p,{children:[`The JavaScript SDK calls this for you from `,_jsx(_components.code,{children:`identify(userId)`}),`. See `,_jsx(_components.a,{href:`/integrate/identity`,children:`Identity`}),` for the full sign-in and sign-out flow.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-moves`,children:`What moves`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`Only events still recorded under the anonymous ID move. An event moves once.`}),`\n`,_jsx(_components.li,{children:`Events older than the workspace’s retention period stay where they are, as do events beyond the newest 5,000.`}),`\n`,_jsxs(_components.li,{children:[`The anonymous ID stays on each event, so `,_jsx(_components.strong,{children:`Data → Users`}),` can show which device it came from.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`when-nothing-moves`,children:`When nothing moves`}),`\n`,_jsxs(_components.p,{children:[`A refused link still returns `,_jsx(_components.code,{children:`200`}),`, with `,_jsx(_components.code,{children:`linked: false`}),` and a `,_jsx(_components.code,{children:`reason`}),`:`]}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:_jsx(_components.code,{children:`reason`})}),_jsx(_components.th,{children:`Meaning`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`linked_to_other_user`})}),_jsxs(_components.td,{children:[`The anonymous ID is already linked to someone else, for example on a shared device. Call `,_jsx(_components.code,{children:`reset()`}),` in the SDK, or start a new anonymous ID, when a user signs out.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`erased`})}),_jsx(_components.td,{children:`One of the two IDs was erased at a user’s request.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.code,{children:`same_id`})}),_jsx(_components.td,{children:`The anonymous ID and the user ID are the same value.`})]})]})]}),`\n`,_jsxs(_components.p,{children:[`Calling it again for the same pair is safe. It returns `,_jsx(_components.code,{children:`already_linked`}),` and moves anything sent anonymously since the last call.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Identify a visitor","description":"Link an anonymous visitor to a known user when they sign in.","openapi":"api-reference/openapi.json POST /v1/identify","href":"/api-reference/endpoint/identify"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What moves","slug":"what-moves","depth":2,"children":[]},{"title":"When nothing moves","slug":"when-nothing-moves","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"operationId":"identify","summary":"Identify a visitor","tags":["Identity"],"description":"Link an anonymous visitor to a known user when they sign in.","security":["fb709850-d17c-4ffb-8dfc-fad499677fb7"],"requestBody":"2ab63954-9659-408b-b832-32903fa2c323","responses":{"200":"69e56436-9008-4f7c-8902-09b018ab1f56","400":"336b2d19-fe11-4064-af84-a4179242fd44","401":"0cf732a8-4adf-4732-a170-8b5e518eb1fa","403":"2ddf50a2-a0e4-4b5a-861e-6c4b2863829e","500":"6a76efea-8df0-4472-a540-24e1bce7457e"},"method":"post","type":"path","servers":["6684d658-89c4-498c-bdb5-085b73e2b0d0"],"path":"/v1/identify","baseUrlOptions":["https://api.neuronsearchlab.com"],"title":"Identify a visitor","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["anonymous_id","user_id"],"description":"Links an anonymous visitor to a known user. `anonymousId` and `userId` are accepted as aliases.","properties":{"anonymous_id":{"type":"string","maxLength":255,"description":"The anonymous ID the visitor's events were sent with before they signed in.","example":"aid_7f3c2b91e0","isRequired":true,"uniqueKey":"anonymous_id","typeLabel":"string"},"user_id":{"oneOf":[{"type":"string","description":"Your stable user ID for the person who signed in. Use the same value for later events and recommendations.","maxLength":255,"example":"user-123","isRequired":true,"uniqueKey":"user_id.oneOf.0","typeLabel":"string"},{"type":"integer","description":"Your stable user ID for the person who signed in. Use the same value for later events and recommendations.","example":"user-123","isRequired":true,"uniqueKey":"user_id.oneOf.1","typeLabel":"integer"}],"isRequired":true,"uniqueKey":"user_id","typeLabel":"string | integer"},"source":{"type":"string","maxLength":64,"description":"Optional label for what made the link, shown in the console. The JavaScript SDK sends `js-sdk`.","example":"checkout-login","uniqueKey":"source","typeLabel":"string"}},"uniqueKey":"","typeLabel":"object"},"examples":{"login":{"title":"login","value":{"anonymous_id":"aid_7f3c2b91e0","user_id":"user-123","source":"login"}}},"exampleType":"examples"}},"exampleType":"examples"},"responses":{"69e56436-9008-4f7c-8902-09b018ab1f56":{"description":"Link result. A refused link is still a 200 with `linked: false` and a `reason`.","content":{"application/json":{"schema":{"type":"object","properties":{"object":{"type":"string","enum":["identify"],"uniqueKey":"object","typeLabel":"enum\u003cstring>"},"anonymous_id":{"type":"string","uniqueKey":"anonymous_id","typeLabel":"string"},"user_id":{"type":"string","uniqueKey":"user_id","typeLabel":"string"},"linked":{"type":"boolean","description":"True when the anonymous ID is now linked to this user.","uniqueKey":"linked","typeLabel":"boolean"},"events_moved":{"type":"integer","description":"Earlier events moved from the anonymous ID onto the user by this call.","uniqueKey":"events_moved","typeLabel":"integer"},"reason":{"type":"string","enum":["linked","already_linked","linked_to_other_user","same_id","erased"],"description":"`linked`: first link. `already_linked`: linked to this user before; any events sent anonymously since were moved. `linked_to_other_user`: the anonymous ID belongs to someone else (for example a shared device), nothing moved. `same_id`: the two IDs are equal. `erased`: one of the IDs was erased, nothing moved.","uniqueKey":"reason","typeLabel":"enum\u003cstring>"},"embedding_refresh":{"type":"object","properties":{"enqueued":{"type":"boolean","uniqueKey":"embedding_refresh.enqueued","typeLabel":"boolean"}},"description":"Whether the user's profile is being rebuilt with the moved events.","uniqueKey":"embedding_refresh","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"linked":{"title":"linked","value":{"object":"identify","anonymous_id":"aid_7f3c2b91e0","user_id":"user-123","linked":true,"events_moved":12,"reason":"linked","embedding_refresh":{"enqueued":true}}},"sharedDevice":{"title":"sharedDevice","value":{"object":"identify","anonymous_id":"aid_7f3c2b91e0","user_id":"user-456","linked":false,"events_moved":0,"reason":"linked_to_other_user","embedding_refresh":{"enqueued":false}}}},"exampleType":"examples"}},"exampleType":"examples"},"336b2d19-fe11-4064-af84-a4179242fd44":{"description":"Invalid request","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","not_found_error","conflict_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"},"request_id":{"type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"validation":{"title":"validation","value":{"error":{"type":"invalid_request_error","code":"validation_error","message":"Validation error","details":{"fieldErrors":{"name":["Required"]}}}}}},"exampleType":"examples"}},"exampleType":"examples"},"0cf732a8-4adf-4732-a170-8b5e518eb1fa":{"description":"Unauthenticated","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","not_found_error","conflict_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"},"request_id":{"type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"unauthorized":{"title":"unauthorized","value":{"error":{"type":"authentication_error","code":"unauthorized_no_client_id_in_jwt","message":"Unauthorized: No client ID in JWT"}}}},"exampleType":"examples"}},"exampleType":"examples"},"2ddf50a2-a0e4-4b5a-861e-6c4b2863829e":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","not_found_error","conflict_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"},"request_id":{"type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"},"6a76efea-8df0-4472-a540-24e1bce7457e":{"description":"Server error","content":{"application/json":{"schema":{"type":"object","required":["error"],"properties":{"error":{"type":"object","required":["type","code","message"],"properties":{"type":{"type":"string","enum":["invalid_request_error","authentication_error","permission_error","not_found_error","conflict_error","rate_limit_error","api_error"],"isRequired":true,"uniqueKey":"error.type","typeLabel":"enum\u003cstring>"},"code":{"type":"string","isRequired":true,"uniqueKey":"error.code","typeLabel":"string"},"message":{"type":"string","isRequired":true,"uniqueKey":"error.message","typeLabel":"string"},"details":{"oneOf":[{}],"uniqueKey":"error.details","typeLabel":"any"},"request_id":{"type":"string","format":"uuid","uniqueKey":"error.request_id","typeLabel":"string\u003cuuid>"}},"additionalProperties":true,"isRequired":true,"uniqueKey":"error","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":{"type":"invalid_request_error","code":"\u003cstring>","message":"\u003cstring>","details":"\u003cunknown>","request_id":"3c90c3cc-0d44-4b50-8888-8dd25736052a"}}}},"exampleType":"generated"}},"exampleType":"generated"}},"security":{"fb709850-d17c-4ffb-8dfc-fad499677fb7":{"oauth2":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.neuronsearchlab.com/oauth2/token","scopes":{"neuronsearchlab-api/read":"Read recommendations, items, and events.","neuronsearchlab-api/write":"Create, update, and delete items; submit events."}}},"scopes":["neuronsearchlab-api/write"],"schemeName":"oauth2"}}},"servers":{"6684d658-89c4-498c-bdb5-085b73e2b0d0":{"url":"https://api.neuronsearchlab.com","description":"Core API"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"oauth2","flows":{"clientCredentials":{"tokenUrl":"https://auth.neuronsearchlab.com/oauth2/token","scopes":{"neuronsearchlab-api/read":"Read recommendations, items, and events.","neuronsearchlab-api/write":"Create, update, and delete items; submit events."}}},"scopes":["neuronsearchlab-api/write"],"schemeName":"oauth2"},"schema":{"title":"OAuth2 Auth","type":"string","isRequired":true,"description":"The access token received from the authorization server in the OAuth 2.0 flow.","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"oauth2","name":"Authorization"}],"title":"oauth2"}]},"originalFileLocation":"api-reference/openapi.json"},"subdomain":"neuronsearchlab","siteName":"NeuronSearchLab","title":"Identify a visitor - NeuronSearchLab","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-08T19:10:51.108Z","originalFileLocation":"api-reference/endpoint/identify.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=\"Link an anonymous visitor to a known user when they sign in.\">\u003cmeta data-mint-head name=\"application-name\" content=\"NeuronSearchLab\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_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/neuronsearchlab/U5T0F9bS3jNcs0C7/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Identify a visitor - NeuronSearchLab\">\u003cmeta data-mint-head property=\"og:description\" content=\"Link an anonymous visitor to a known user when they sign in.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NeuronSearchLab\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://neuronsearchlab.mintlify.site/_mintlify/api/og/v2?division=Identity\u0026amp;title=Identify+a+visitor\u0026amp;description=Link+an+anonymous+visitor+to+a+known+user+when+they+sign+in.\u0026amp;theme=74457b978173ed4b201ee63d\u0026amp;signature=cdb09d7f65ab51dab867b03d33524f892029057844a92286cef5729f592dfc42\">\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=\"Identify a visitor - NeuronSearchLab\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Link an anonymous visitor to a known user when they sign in.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://neuronsearchlab.mintlify.site/_mintlify/api/og/v2?division=Identity\u0026amp;title=Identify+a+visitor\u0026amp;description=Link+an+anonymous+visitor+to+a+known+user+when+they+sign+in.\u0026amp;theme=74457b978173ed4b201ee63d\u0026amp;signature=cdb09d7f65ab51dab867b03d33524f892029057844a92286cef5729f592dfc42\">\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/neuronsearchlab/U5T0F9bS3jNcs0C7/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NeuronSearchLab\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#6366f1\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/endpoint/identify.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.neuronsearchlab.com/#organization\",\"name\":\"NeuronSearchLab\",\"url\":\"https://docs.neuronsearchlab.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/neuronsearchlab/X_3-ayYC_ECR5qbW/pestyabesty_dog_running_in_full_sprint._High_energy._Black_silh_47b185ef-6546-42e7-95d0-0bf501cb9d26-removebg-preview.png?fit=max\u0026auto=format\u0026n=X_3-ayYC_ECR5qbW\u0026q=85\u0026s=869c57701ca52517095f6c16421ef1bc\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.neuronsearchlab.com#website\",\"name\":\"NeuronSearchLab\",\"url\":\"https://docs.neuronsearchlab.com\",\"publisher\":{\"@id\":\"https://docs.neuronsearchlab.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify#webpage\",\"url\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify\",\"name\":\"Identify a visitor\",\"description\":\"Link an anonymous visitor to a known user when they sign in.\",\"dateModified\":\"2026-11-08T19:10:51.108Z\",\"isPartOf\":{\"@id\":\"https://docs.neuronsearchlab.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"NeuronSearchLab\",\"item\":\"https://docs.neuronsearchlab.com\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Identify a visitor\",\"item\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify#apireference\",\"headline\":\"Identify a visitor\",\"name\":\"Identify a visitor\",\"description\":\"Link an anonymous visitor to a known user when they sign in.\",\"url\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify\",\"mainEntityOfPage\":{\"@id\":\"https://docs.neuronsearchlab.com/api-reference/endpoint/identify#webpage\"},\"dateModified\":\"2026-11-08T19:10:51.108Z\",\"publisher\":{\"@id\":\"https://docs.neuronsearchlab.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.neuronsearchlab.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NeuronSearchLab\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"NeuronSearchLab","nav":{"global":{"anchors":[{"anchor":"Console","icon":"arrow-up-right","href":"https://console.neuronsearchlab.com/login"},{"anchor":"GitHub","icon":"github","href":"https://github.com/neuronsearchlab"},{"anchor":"Support","icon":"headset","href":"mailto:contact@neuronsearchlab.com"}]},"tabs":[{"tab":"Guides","icon":"book","pages":[{"title":"Guides","href":"/introduction"}]},{"tab":"Console","icon":"browser","pages":[{"title":"Console","href":"/console/overview"}]},{"tab":"SDKs","icon":"cube","pages":[{"title":"SDKs","href":"/sdk/overview"}]},{"tab":"Core API","icon":"code","groups":[{"group":"Overview","icon":"book-open","pages":[{"title":"Core API Overview","icon":"book-open","href":"/api-reference/introduction"}]},{"group":"Authentication","icon":"lock","pages":[{"title":"Create access token","openapi":"api-reference/openapi.json POST /oauth2/token","href":"/api-reference/endpoint/authenticate"}]},{"group":"Items","icon":"box","pages":[{"title":"Create items","openapi":"api-reference/openapi.json POST /v1/items","href":"/api-reference/endpoint/submit-items"},{"title":"List items","openapi":"api-reference/openapi.json GET /v1/items","href":"/api-reference/endpoint/list-items"},{"title":"Retrieve item","openapi":"api-reference/openapi.json GET /v1/items/{item_id}","href":"/api-reference/endpoint/retrieve-item"},{"title":"Update item","openapi":"api-reference/openapi.json POST /v1/items/{item_id}","href":"/api-reference/endpoint/update-item"},{"title":"Patch item","openapi":"api-reference/openapi.json PATCH /v1/items/{item_id}","href":"/api-reference/endpoint/patch-item"},{"title":"Delete item","openapi":"api-reference/openapi.json DELETE /v1/items/{item_id}","href":"/api-reference/endpoint/delete-item"}]},{"group":"Events","icon":"signal","pages":[{"title":"Submit events","openapi":"api-reference/openapi.json POST /v1/events","href":"/api-reference/endpoint/submit-events"},{"title":"List events","openapi":"api-reference/openapi.json GET /v1/events","href":"/api-reference/endpoint/list-events"},{"title":"Retrieve event","description":"Retrieve a single ingested event.","openapi":"api-reference/openapi.json GET /v1/events/{event_id}","href":"/api-reference/endpoint/retrieve-event"}]},{"group":"Identity","icon":"id-card","pages":[{"title":"Identify a visitor","openapi":"api-reference/openapi.json POST /v1/identify","href":"/api-reference/endpoint/identify"}]},{"group":"Recommendations","icon":"sparkles","pages":[{"title":"Get recommendations","description":"Retrieve personalized recommendations.","openapi":"api-reference/openapi.json GET /v1/recommendations","href":"/api-reference/endpoint/get-recommendations"},{"title":"Get recommendation sets","openapi":"api-reference/openapi.json POST /v1/recommendations/batch","href":"/api-reference/endpoint/get-recommendation-sets"}]},{"group":"Search","icon":"magnifying-glass","pages":[{"title":"Search","openapi":"api-reference/openapi.json POST /v1/search","href":"/api-reference/endpoint/search"}]}]},{"tab":"Platform API","icon":"gear","pages":[{"title":"Platform API","href":"/api-reference/platform-api/introduction"}]},{"tab":"Changelog","icon":"clock-rotate-left","pages":[{"title":"Changelog","href":"/changelog"}]}]},"basePath":"","title":"Identify a visitor - NeuronSearchLab","buildId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","deploymentId":"dpl_DTau1J5HqS9UTgVSDwGksstFWtPa","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-5FCzAcfS.js","utils-SLtAG4EZ.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-2DZi8ZMu.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-D7J3nkzE.js","snippetPresets-D0Alv0AH.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-BI4qNJ2c.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BD3uyr8j.js","shallow-D8iEBr5z.js","getApiPlaygroundDisplay-CgNP4lzR.js","CodeSnippet-CX-QHuMs.js","CodeSnippets-VlXE-ZUf.js","Page-D9ithiIZ.js","getPastedJson-DYNQkZ1M.js","icon-CzacdwOi.js","MethodPill-2JVqoYKi.js","DuplicateIcon-_xVXs-U8.js","createIcon-BRHrweLo.js","DynamicMarkdown-mQG_iQiE.js","SectionHeading-DMpJzv8f.js","axios-vUo_bRtp.js","Markdown-5FGIym-8.js","clsx-D-TRO5q5.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-CdrJecqK.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-CHlcWBLM.js"]}