Links a session_id to a contact. The events that were waiting for that session (sent with the session_id and no contact data, answered as pending by Send events) move to the contact within a minute, with their original date, and show up in the contact’s activity marked Before identifying. Events sent afterwards with only that session_id go straight to the contact.Call it when your site learns who the visitor is and has no event to send at that moment: a login, a sign-up, the end of a checkout. It does not take group: to link the contact to a company, send an event with it. If you do have an event with contact data, such as the purchase, sending it with the same session_id identifies the session too, and this call is not needed.
Part of the events add-on. Without it, this endpoint answers 403. See the events guide.
The same session_id sent with the anonymous events: a UUID your site keeps in the browser, or the Google Analytics client id. Up to 200 characters, no spaces.
object
requerido
Who the visitor turned out to be, with at least one of contact_id, external_id, phone (7 or more digits) or email. The contact is found the same way as in Send events.
Mostrar contact object
string
The contact’s id in ContactShip (UUID).
string
The contact’s id in your system.
string
Phone number, preferably in international format.
string
Email address.
string
Name used if the contact has to be created.
string
Country used if the contact has to be created.
boolean
predeterminado:"true"
Create the contact when none matches. With false, the session is only linked to a contact that already exists.
Response
The response is { "statusCode": 200, "data": object }. The fields below describe data.
string
linked: the session now belongs to contact.id; its pending events move to the contact within a minute.
already_linked: the session already belonged to another contact, which keeps it. conflict says which.
not_found: no contact matched and none was created; see reason.
string
The session, as it was linked.
object
The contact the session belongs to: id, matched_by (contact_id, external_id, phone, email, or null when it was just created) and created. null when the status is not_found.
number
How many events were waiting for the session and are now moving to the contact.
string
For not_found: not_found (no contact matched and create_contact was false), contact_limit_reached (your plan allows no more contacts) or ambiguous_email (the only data was an email shared by several contacts).
object
Present when something was ambiguous, as in Send events.
Errors
Status
When
400
session_id is missing or has a space inside, or contact has none of contact_id, external_id, phone (7 or more digits) or email.
401
The API key is missing or invalid.
403
The events add-on is not enabled for the organization.
429
The request limit for events was exceeded. It is the same budget as Send events. See Rate limits.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/schema.json","name":"ContactShip Docs","colors":{"primary":"#0252ff","light":"#1E89FF","dark":"#0252ff"},"logo":{"light":"https://mintcdn.com/contactship/XJKLcqzvszyHAh2b/logo/Isologotipo.png?fit=max\u0026auto=format\u0026n=XJKLcqzvszyHAh2b\u0026q=85\u0026s=1100afd12fc8debe15faade6766a53c7","dark":"https://mintcdn.com/contactship/XJKLcqzvszyHAh2b/logo/Isologotipo.png?fit=max\u0026auto=format\u0026n=XJKLcqzvszyHAh2b\u0026q=85\u0026s=1100afd12fc8debe15faade6766a53c7"},"favicon":"https://mintcdn.com/contactship/XJKLcqzvszyHAh2b/favicon2.png?fit=max\u0026auto=format\u0026n=XJKLcqzvszyHAh2b\u0026q=85\u0026s=2522034f500b8c3c60f46aed56daad87","api":{"mdx":{"auth":{"method":"key","name":"x-api-key"},"server":"https://api.contactship.ai"}},"styling":{"latex":false},"navigation":{"languages":[{"language":"es","default":true,"href":"es/comenzar/que-es-contactship"},{"language":"en","href":"en/get-started/what-is-contactship"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"contactship","hasAudioNarration":false,"actualSubdomain":"contactship","customDomains":["docs.contactship.ai"],"gitSource":{"type":"github","owner":"serranomatias","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"entitlements":{},"buildId":"6af626c6ff13ba6c1a19e650","clientVersion":"0.0.4131","searchFilterCounts":[{"language":"en","tag":"Documentation","count":87},{"language":"es","tag":"Documentación","count":87},{"language":"default","tag":"API Reference","count":50},{"language":"en","tag":"Integrations","count":13},{"language":"es","tag":"Integraciones","count":13},{"language":"default","tag":"Contactos","count":12},{"language":"en","tag":"Use cases","count":12},{"language":"es","tag":"Casos de uso","count":12},{"language":"en","tag":"Voice agents","count":10},{"language":"es","tag":"Agentes de voz","count":10},{"language":"en","tag":"Contacts","count":8},{"language":"en","tag":"Messages","count":8},{"language":"es","tag":"Contactos","count":8},{"language":"es","tag":"Mensajes","count":8},{"language":"en","tag":"Get started","count":7},{"language":"en","tag":"Organization","count":7},{"language":"es","tag":"Comenzar","count":7},{"language":"es","tag":"Organización","count":7},{"language":"default","tag":"Agentes","count":6},{"language":"default","tag":"Documentación API","count":6},{"language":"en","tag":"Calls","count":6},{"language":"en","tag":"Text agents","count":6},{"language":"es","tag":"Agentes de texto","count":6},{"language":"es","tag":"Llamadas","count":6},{"language":"default","tag":"WhatsApp (WABA)","count":5},{"language":"default","tag":"Etiquetas","count":4},{"language":"default","tag":"Llamadas","count":4},{"language":"default","tag":"Canales y conversaciones","count":4},{"language":"default","tag":"Tareas","count":3},{"language":"default","tag":"Eventos","count":2}]},"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":"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":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"globals.css","content":".rounded-image{border-radius:8px}"}],"page":{"pagePath":"api-reference/endpoint/identify","slug":"/api-reference/endpoint/identify","pageMetadata":{"title":"Identify a Session","api":"POST /v1/identify","description":"Join the anonymous events of a visit to the contact who turned out to be behind it","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: \"Join the anonymous events of a visit to the contact who turned out to be behind it\"\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`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,Note,ParamField,ResponseField,Table}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Note)_missingMdxReference(`Note`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);if(!Table)_missingMdxReference(`Table`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`Links a `,_jsx(_components.code,{children:`session_id`}),` to a contact. The events that were waiting for that session (sent with the `,_jsx(_components.code,{children:`session_id`}),` and no contact data, answered as `,_jsx(_components.code,{children:`pending`}),` by `,_jsx(_components.a,{href:`/api-reference/endpoint/send-events`,children:`Send events`}),`) move to the contact within a minute, with their original date, and show up in the contact’s activity marked `,_jsx(_components.strong,{children:`Before identifying`}),`. Events sent afterwards with only that `,_jsx(_components.code,{children:`session_id`}),` go straight to the contact.`]}),`\n`,_jsxs(_components.p,{children:[`Call it when your site learns who the visitor is and has no event to send at that moment: a login, a sign-up, the end of a checkout. It does not take `,_jsx(_components.code,{children:`group`}),`: to link the contact to a company, send an event with it. If you do have an event with contact data, such as the purchase, sending it with the same `,_jsx(_components.code,{children:`session_id`}),` identifies the session too, and this call is not needed.`]}),`\n`,_jsxs(Note,{children:[`Part of the events add-on. Without it, this endpoint answers `,_jsx(_components.code,{children:`403`}),`. See the `,_jsx(_components.a,{href:`/en/integrations/events#visitors-who-have-not-identified-yet`,children:`events guide`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`headers`,children:`Headers`}),`\n`,_jsx(ParamField,{header:`x-api-key`,type:`string`,required:true,id:`param-x-api-key`,children:_jsxs(_components.p,{children:[`Your organization API key. See `,_jsx(_components.a,{href:`/en/organization/api-keys`,children:`API keys`}),`.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`body-parameters`,children:`Body Parameters`}),`\n`,_jsx(ParamField,{body:`session_id`,type:`string`,required:true,id:`param-session-id`,children:_jsxs(_components.p,{children:[`The same `,_jsx(_components.code,{children:`session_id`}),` sent with the anonymous events: a UUID your site keeps in the browser, or the Google Analytics client id. Up to 200 characters, no spaces.`]})}),`\n`,_jsxs(ParamField,{body:`contact`,type:`object`,required:true,id:`param-contact`,children:[_jsxs(_components.p,{children:[`Who the visitor turned out to be, with at least one of `,_jsx(_components.code,{children:`contact_id`}),`, `,_jsx(_components.code,{children:`external_id`}),`, `,_jsx(_components.code,{children:`phone`}),` (7 or more digits) or `,_jsx(_components.code,{children:`email`}),`. The contact is found the same way as in `,_jsx(_components.a,{href:`/api-reference/endpoint/send-events#how-the-contact-is-found`,children:`Send events`}),`.`]}),_jsxs(Expandable,{title:`contact object`,children:[_jsx(ParamField,{body:`contact_id`,type:`string`,id:`param-contact-id`,children:_jsx(_components.p,{children:`The contact’s id in ContactShip (UUID).`})}),_jsx(ParamField,{body:`external_id`,type:`string`,id:`param-external-id`,children:_jsx(_components.p,{children:`The contact’s id in your system.`})}),_jsx(ParamField,{body:`phone`,type:`string`,id:`param-phone`,children:_jsx(_components.p,{children:`Phone number, preferably in international format.`})}),_jsx(ParamField,{body:`email`,type:`string`,id:`param-email`,children:_jsx(_components.p,{children:`Email address.`})}),_jsx(ParamField,{body:`name`,type:`string`,id:`param-name`,children:_jsx(_components.p,{children:`Name used if the contact has to be created.`})}),_jsx(ParamField,{body:`country`,type:`string`,id:`param-country`,children:_jsx(_components.p,{children:`Country used if the contact has to be created.`})})]})]}),`\n`,_jsx(ParamField,{body:`create_contact`,type:`boolean`,default:`true`,id:`param-create-contact`,children:_jsxs(_components.p,{children:[`Create the contact when none matches. With `,_jsx(_components.code,{children:`false`}),`, the session is only linked to a contact that already exists.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`response`,children:`Response`}),`\n`,_jsxs(_components.p,{children:[`The response is `,_jsx(_components.code,{children:`{ \"statusCode\": 200, \"data\": object }`}),`. The fields below describe `,_jsx(_components.code,{children:`data`}),`.`]}),`\n`,_jsx(ResponseField,{name:`status`,type:`string`,id:`param-status`,children:_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`linked`}),`: the session now belongs to `,_jsx(_components.code,{children:`contact.id`}),`; its pending events move to the contact within a minute.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`already_linked`}),`: the session already belonged to another contact, which keeps it. `,_jsx(_components.code,{children:`conflict`}),` says which.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`not_found`}),`: no contact matched and none was created; see `,_jsx(_components.code,{children:`reason`}),`.`]}),`\n`]})}),`\n`,_jsx(ResponseField,{name:`session_id`,type:`string`,id:`param-session-id-1`,children:_jsx(_components.p,{children:`The session, as it was linked.`})}),`\n`,_jsx(ResponseField,{name:`contact`,type:`object`,id:`param-contact-1`,children:_jsxs(_components.p,{children:[`The contact the session belongs to: `,_jsx(_components.code,{children:`id`}),`, `,_jsx(_components.code,{children:`matched_by`}),` (`,_jsx(_components.code,{children:`contact_id`}),`, `,_jsx(_components.code,{children:`external_id`}),`, `,_jsx(_components.code,{children:`phone`}),`, `,_jsx(_components.code,{children:`email`}),`, or `,_jsx(_components.code,{children:`null`}),` when it was just created) and `,_jsx(_components.code,{children:`created`}),`. `,_jsx(_components.code,{children:`null`}),` when the status is `,_jsx(_components.code,{children:`not_found`}),`.`]})}),`\n`,_jsx(ResponseField,{name:`pending_events`,type:`number`,id:`param-pending-events`,children:_jsx(_components.p,{children:`How many events were waiting for the session and are now moving to the contact.`})}),`\n`,_jsx(ResponseField,{name:`reason`,type:`string`,id:`param-reason`,children:_jsxs(_components.p,{children:[`For `,_jsx(_components.code,{children:`not_found`}),`: `,_jsx(_components.code,{children:`not_found`}),` (no contact matched and `,_jsx(_components.code,{children:`create_contact`}),` was `,_jsx(_components.code,{children:`false`}),`), `,_jsx(_components.code,{children:`contact_limit_reached`}),` (your plan allows no more contacts) or `,_jsx(_components.code,{children:`ambiguous_email`}),` (the only data was an email shared by several contacts).`]})}),`\n`,_jsx(ResponseField,{name:`conflict`,type:`object`,id:`param-conflict`,children:_jsx(_components.p,{children:`Present when something was ambiguous, as in Send events.`})}),`\n`,_jsx(Heading,{level:`2`,id:`errors`,children:`Errors`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Status`}),_jsx(_components.th,{children:`When`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`400`})}),_jsxs(_components.td,{children:[_jsx(_components.code,{children:`session_id`}),` is missing or has a space inside, or `,_jsx(_components.code,{children:`contact`}),` has none of `,_jsx(_components.code,{children:`contact_id`}),`, `,_jsx(_components.code,{children:`external_id`}),`, `,_jsx(_components.code,{children:`phone`}),` (7 or more digits) or `,_jsx(_components.code,{children:`email`}),`.`]})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`401`})}),_jsx(_components.td,{children:`The API key is missing or invalid.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`403`})}),_jsx(_components.td,{children:`The events add-on is not enabled for the organization.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{\"data-numeric\":`true`,children:_jsx(_components.code,{children:`429`})}),_jsxs(_components.td,{children:[`The request limit for events was exceeded. It is the same budget as Send events. See `,_jsx(_components.a,{href:`/api-reference/rate-limits`,children:`Rate limits`}),`.`]})]})]})]})]})}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 Session","api":"POST /v1/identify","description":"Join the anonymous events of a visit to the contact who turned out to be behind it","href":"/api-reference/endpoint/identify"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[213,231,"pre:`pre`,span:`span`,strong:`strong`,tb"],[335,421,"CodeBlock,Expandable,Heading,Note,ParamField,RequestExample,ResponseExample,ResponseField,Table}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Expandable)_mi"],[611,623,"questExample)_missingMdxReference(`RequestExample`,true);if(!ResponseExample)_missingMdxReference(`ResponseExample`,true);if(!ResponseField)"],[9082,9510,",`\n`,_jsx(RequestExample,{children:_jsx(CodeBlock,{filename:`cURL`,numberOfLines:`7`,language:`shellscript`,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:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`7`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`curl`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -X POST https://api.contactship.ai/v1/identify \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"x-api-key: YOUR_API_KEY\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -H `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"Content-Type: application/json\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` -d `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'{`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"session_id\": \"GA1.1.1234567890.1726000000\",`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"contact\": { \"email\": \"ana@example.com\", \"phone\": \"+15555550102\", \"name\": \"Ana Pérez\" }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` }'`})}),`\n`]})})})}),`\n`,_jsx(ResponseExample,{children:_jsx(CodeBlock,{filename:`200`,numberOfLines:`9`,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:`9`,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:` \"statusCode\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`200`}),_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:` \"data\"`}),_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:` \"status\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"linked\"`}),_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:` \"session_id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"GA1.1.1234567890.1726000000\"`}),_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:` \"contact\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: { `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"id\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"33333333-3333-4333-8333-333333333333\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"matched_by\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`\"email\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#116329`,\"--shiki-dark\":`#9CDCFE`},children:`\"created\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#569CD6`},children:`false`}),_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:` \"pending_events\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`3`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})})})]})}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.\")}"]]},"mdxExtracts":{"tableOfContents":[{"title":"Headers","slug":"headers","depth":2,"children":[]},{"title":"Body Parameters","slug":"body-parameters","depth":2,"children":[]},{"title":"Response","slug":"response","depth":2,"children":[]},{"title":"Errors","slug":"errors","depth":2,"children":[]}],"codeExamples":{"request":{"type":"RequestExample","children":[{"filename":"cURL","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"shellscript\">\u003ccode language=\"shellscript\" numberOfLines=\"7\">\u003cspan class=\"line\">\u003cspan style=\"color:#8250DF;--shiki-dark:#DCDCAA\">curl\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -X POST https://api.contactship.ai/v1/identify \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -H \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"x-api-key: YOUR_API_KEY\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -H \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"Content-Type: application/json\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> \\\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> -d \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">'{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"session_id\": \"GA1.1.1234567890.1726000000\",\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> \"contact\": { \"email\": \"ana@example.com\", \"phone\": \"+15555550102\", \"name\": \"Ana Pérez\" }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\"> }'\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]},"response":{"type":"ResponseExample","children":[{"filename":"200","html":"\u003cpre class=\"shiki shiki-themes github-light-default dark-plus\" style=\"background-color:#ffffff;--shiki-dark-bg:#0B0C0E;color:#1f2328;--shiki-dark:#D4D4D4\" language=\"json\">\u003ccode language=\"json\" numberOfLines=\"9\">\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">{\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"statusCode\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">200\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"data\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: {\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"status\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"linked\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"session_id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"GA1.1.1234567890.1726000000\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">,\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"contact\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: { \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"id\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"33333333-3333-4333-8333-333333333333\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"matched_by\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0A3069;--shiki-dark:#CE9178\">\"email\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">, \u003c/span>\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\">\"created\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#569CD6\">false\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> },\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#116329;--shiki-dark:#9CDCFE\"> \"pending_events\"\u003c/span>\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">: \u003c/span>\u003cspan style=\"color:#0550AE;--shiki-dark:#B5CEA8\">3\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\"> }\u003c/span>\u003c/span>\n\u003cspan class=\"line\">\u003cspan style=\"color:#1F2328;--shiki-dark:#D4D4D4\">}\u003c/span>\u003c/span>\n\u003c/code>\u003c/pre>"}],"attributes":[]}},"endpoint":{"title":"Identify a Session","path":"/v1/identify","method":"post","request":{"security":[],"parameters":{"query":{},"header":{"x-api-key":{"schema":[{"type":"string","description":"Your organization API key. See API keys .","required":true}]}},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"session_id":[{"type":"string","description":"The same `session_id` sent with the anonymous events: a UUID your site keeps in the browser, or the Google Analytics client id. Up to 200 characters, no spaces.","required":true}],"contact":[{"type":"object","properties":{"contact_id":[{"type":"string","description":"The contact’s id in ContactShip (UUID)."}],"external_id":[{"type":"string","description":"The contact’s id in your system."}],"phone":[{"type":"string","description":"Phone number, preferably in international format."}],"email":[{"type":"string","description":"Email address."}],"name":[{"type":"string","description":"Name used if the contact has to be created."}],"country":[{"type":"string","description":"Country used if the contact has to be created."}]},"description":"Who the visitor turned out to be, with at least one of `contact_id` , `external_id` , `phone` (7 or more digits) or `email` . The contact is found the same way as in Send events .","required":true}],"create_contact":[{"type":"boolean","description":"Create the contact when none matches. With `false` , the session is only linked to a contact that already exists."}]}}],"examples":{"example":{"value":{"session_id":"\u003cstring>","contact":{"contact_id":"\u003cstring>","external_id":"\u003cstring>","phone":"\u003cstring>","email":"\u003cstring>","name":"\u003cstring>","country":"\u003cstring>"},"create_contact":true}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"status":[{"type":"string","description":"`linked` : the session now belongs to `contact.id` ; its pending events move to the contact within a minute. `already_linked` : the session already belonged to another contact, which keeps it. `conflict` says which. `not_found` : no contact matched and none was created; see `reason` ."}],"session_id":[{"type":"string","description":"The session, as it was linked."}],"contact":[{"type":"object","properties":{},"description":"The contact the session belongs to: `id` , `matched_by` ( `contact_id` , `external_id` , `phone` , `email` , or `null` when it was just created) and `created` . `null` when the status is `not_found` ."}],"pending_events":[{"type":"number","description":"How many events were waiting for the session and are now moving to the contact."}],"reason":[{"type":"string","description":"For `not_found` : `not_found` (no contact matched and `create_contact` was `false` ), `contact_limit_reached` (your plan allows no more contacts) or `ambiguous_email` (the only data was an email shared by several contacts)."}],"conflict":[{"type":"object","properties":{},"description":"Present when something was ambiguous, as in Send events."}]}}],"examples":{"example":{"value":{"status":"\u003cstring>","session_id":"\u003cstring>","contact":{},"pending_events":123,"reason":"\u003cstring>","conflict":{}}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"contactship","siteName":"ContactShip Docs","title":"Identify a Session - ContactShip Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"es":{"href":"/api-reference/endpoint/identify","matchLevel":0},"en":{"href":"/api-reference/endpoint/identify","matchLevel":0}}},"lastModified":"2026-09-29T15:48:45.407Z","originalFileLocation":"api-reference/endpoint/identify.mdx","locale":"es"},"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=\"Join the anonymous events of a visit to the contact who turned out to be behind it\">\u003cmeta data-mint-head name=\"application-name\" content=\"ContactShip Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_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/contactship/t9ds7rwKwjlbXW3P/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Identify a Session - ContactShip Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Join the anonymous events of a visit to the contact who turned out to be behind it\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"ContactShip Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.contactship.ai/api-reference/endpoint/identify\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://contactship.mintlify.site/_mintlify/api/og/v2?division=Eventos\u0026amp;title=Identify+a+Session\u0026amp;description=Join+the+anonymous+events+of+a+visit+to+the+contact+who+turned+out+to+be+behind+it\u0026amp;theme=a06d13b3f4cf8a7c17fe2657\u0026amp;signature=fd3fe6d9817af1d0e71b93127b22ffff91051b2142f9d7b2470f036c4652be9f\">\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 Session - ContactShip Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Join the anonymous events of a visit to the contact who turned out to be behind it\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://contactship.mintlify.site/_mintlify/api/og/v2?division=Eventos\u0026amp;title=Identify+a+Session\u0026amp;description=Join+the+anonymous+events+of+a+visit+to+the+contact+who+turned+out+to+be+behind+it\u0026amp;theme=a06d13b3f4cf8a7c17fe2657\u0026amp;signature=fd3fe6d9817af1d0e71b93127b22ffff91051b2142f9d7b2470f036c4652be9f\">\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/contactship/t9ds7rwKwjlbXW3P/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"ContactShip Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0252ff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.contactship.ai/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.contactship.ai/#organization\",\"name\":\"ContactShip Docs\",\"url\":\"https://docs.contactship.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/contactship/XJKLcqzvszyHAh2b/logo/Isologotipo.png?fit=max\u0026auto=format\u0026n=XJKLcqzvszyHAh2b\u0026q=85\u0026s=1100afd12fc8debe15faade6766a53c7\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.contactship.ai#website\",\"name\":\"ContactShip Docs\",\"url\":\"https://docs.contactship.ai\",\"publisher\":{\"@id\":\"https://docs.contactship.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.contactship.ai/api-reference/endpoint/identify#webpage\",\"url\":\"https://docs.contactship.ai/api-reference/endpoint/identify\",\"name\":\"Identify a Session\",\"description\":\"Join the anonymous events of a visit to the contact who turned out to be behind it\",\"dateModified\":\"2026-09-29T15:48:45.407Z\",\"isPartOf\":{\"@id\":\"https://docs.contactship.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.contactship.ai/api-reference/endpoint/identify#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.contactship.ai/api-reference/endpoint/identify#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Eventos\",\"item\":\"https://docs.contactship.ai/api-reference/endpoint/send-events\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Identify a Session\",\"item\":\"https://docs.contactship.ai/api-reference/endpoint/identify\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.contactship.ai/api-reference/endpoint/identify#apireference\",\"headline\":\"Identify a Session\",\"name\":\"Identify a Session\",\"description\":\"Join the anonymous events of a visit to the contact who turned out to be behind it\",\"url\":\"https://docs.contactship.ai/api-reference/endpoint/identify\",\"mainEntityOfPage\":{\"@id\":\"https://docs.contactship.ai/api-reference/endpoint/identify#webpage\"},\"dateModified\":\"2026-09-29T15:48:45.407Z\",\"publisher\":{\"@id\":\"https://docs.contactship.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.contactship.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"ContactShip Docs\",\"publisher\":{\"@type\":\"Organization\",\"name\":\"ContactShip Docs\"},\"provider\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","agentPointerHref":"/api-reference/endpoint/identify.md","siteName":"ContactShip Docs","nav":{"global":null,"languages":[{"language":"es","default":true,"tabs":[{"tab":"Documentación","pages":[{"title":"Documentación","href":"/es/comenzar/que-es-contactship"}]},{"tab":"Casos de uso","pages":[{"title":"Casos de uso","href":"/es/casos-de-uso"}]},{"tab":"API Reference","groups":[{"group":"Documentación API","pages":[{"title":"API Introduction","href":"/api-reference/introduction"},{"title":"Rate Limits and Retries","href":"/api-reference/rate-limits"},{"title":"Call webhook payload","href":"/api-reference/webhooks"},{"title":"Inbound context webhook","href":"/api-reference/inbound-webhook"},{"title":"Follow-up closure webhook","href":"/api-reference/follow-up-webhook"},{"title":"HTTP tool execution","href":"/api-reference/tool-execution"}]},{"group":"Voz","pages":[{"title":"Make AI Phone Call","api":"POST /v1/calls/single-phone-call","href":"/api-reference/endpoint/make-ai-phone-call"},{"title":"Call a Contact","api":"POST /v1/calls/single-contact-call","href":"/api-reference/endpoint/make-contact-call"}]},{"group":"WhatsApp (WABA)","pages":[{"title":"Send WhatsApp Message","api":"POST /v1/waba/send","href":"/api-reference/endpoint/waba-send-message"},{"title":"Send WhatsApp Template","api":"POST /v1/waba/send-template","href":"/api-reference/endpoint/waba-send-template"},{"title":"Send WhatsApp Media","api":"POST /v1/waba/send-media","href":"/api-reference/endpoint/waba-send-media"},{"title":"Send WhatsApp Location","api":"POST /v1/waba/send-location","href":"/api-reference/endpoint/waba-send-location"},{"title":"Get WhatsApp Templates","api":"GET /v1/waba/templates","href":"/api-reference/endpoint/waba-get-templates"}]},{"group":"Canales y conversaciones","pages":[{"title":"List Channels","api":"GET /v1/channels","href":"/api-reference/endpoint/get-channels"},{"title":"Get Thread","api":"GET /v1/thread/{threadId}","href":"/api-reference/endpoint/get-thread"},{"title":"Update Thread","api":"PUT /v1/thread/{threadId}","href":"/api-reference/endpoint/update-thread"},{"title":"Get Message","api":"GET /v1/messages/{messageId}","href":"/api-reference/endpoint/get-message"}]},{"group":"Organización","pages":[{"title":"Get Credits","api":"GET /v1/credits","href":"/api-reference/endpoint/get-credits"}]},{"group":"Agentes","pages":[{"title":"Create Agent","api":"POST /v1/agents","href":"/api-reference/endpoint/create-agent"},{"title":"Get Agent","api":"GET /v1/agents/{agentId}","href":"/api-reference/endpoint/get-agent"},{"title":"List Agents","api":"GET /v1/agents","href":"/api-reference/endpoint/list-agents"},{"title":"Update Agent","api":"PUT /v1/agents/{agentId}","href":"/api-reference/endpoint/update-agent"},{"title":"Delete Agent","api":"DELETE /v1/agents/{agentId}","href":"/api-reference/endpoint/delete-agent"},{"title":"List Voices","api":"GET /v1/agents/voices","href":"/api-reference/endpoint/list-voices"}]},{"group":"Contactos","pages":[{"title":"Get Contacts","api":"GET /v1/contacts","href":"/api-reference/endpoint/get-contacts"},{"title":"Create Contact","api":"POST /v1/contacts","href":"/api-reference/endpoint/create-contact"},{"title":"Get Contact by Identifier","api":"GET /v1/contacts/{identifier}","href":"/api-reference/endpoint/get-contact-by-identifier"},{"title":"Get Contact Call History","api":"GET /v1/contacts/{contactId}/call-history","href":"/api-reference/endpoint/get-contact-call-history"},{"title":"Find Call History by Phone Number","href":"/api-reference/endpoint/get-contact-call-history-by-phone"},{"title":"Update Contact","api":"PATCH /v1/contacts/{contactId}","href":"/api-reference/endpoint/update-contact"},{"title":"Delete Contact","api":"DELETE /v1/contacts/{contactId}","href":"/api-reference/endpoint/delete-contact"},{"title":"Get Contact Comments","api":"GET /v1/contacts/{contactId}/comments","href":"/api-reference/endpoint/get-contact-comments"},{"title":"Create Contact Comment","api":"POST /v1/comments","href":"/api-reference/endpoint/create-comment"},{"title":"Get Contact Tags","api":"GET /v1/contacts/{contactId}/tags","href":"/api-reference/endpoint/get-contact-tags"},{"title":"Add Tag to Contact","api":"POST /v1/contacts/{contactId}/tags/{tagId}","href":"/api-reference/endpoint/add-contact-tag"},{"title":"Remove Tag from Contact","api":"DELETE /v1/contacts/{contactId}/tags/{tagId}","href":"/api-reference/endpoint/remove-contact-tag"}]},{"group":"Eventos","pages":[{"title":"Send Events","api":"POST /v1/events","description":"Record what your contacts do in your other systems, GA4 style","href":"/api-reference/endpoint/send-events"},{"title":"Identify a Session","api":"POST /v1/identify","href":"/api-reference/endpoint/identify"}]},{"group":"Etiquetas","pages":[{"title":"List Tags","api":"GET /v1/tags","description":"Retrieve all tags for your organization","href":"/api-reference/endpoint/list-tags"},{"title":"Create Tag","api":"POST /v1/tags","href":"/api-reference/endpoint/create-tag"},{"title":"Update Tag","api":"PATCH /v1/tags/{tagId}","href":"/api-reference/endpoint/update-tag"},{"title":"Delete Tag","api":"DELETE /v1/tags/{tagId}","href":"/api-reference/endpoint/delete-tag"}]},{"group":"Llamadas","pages":[{"title":"List Calls","api":"GET /v1/calls","href":"/api-reference/endpoint/list-calls"},{"title":"Get Call","api":"GET /v1/calls/{callId}","href":"/api-reference/endpoint/get-call"},{"title":"Get Call Status","api":"GET /v1/calls/{callId}/status","href":"/api-reference/endpoint/get-call-status"},{"title":"Stop Call","api":"POST /v1/calls/single-phone-call/{callId}/stop","href":"/api-reference/endpoint/stop-call"}]},{"group":"Tareas","pages":[{"title":"List Tasks","api":"GET /v1/tasks","href":"/api-reference/endpoint/list-tasks"},{"title":"Get Task","api":"GET /v1/tasks/{id}","href":"/api-reference/endpoint/get-task"},{"title":"Create Task","api":"POST /v1/tasks","href":"/api-reference/endpoint/create-task"}]},{"group":"Números de teléfono","pages":[{"title":"List Phone Numbers","api":"GET /v1/phone-numbers","href":"/api-reference/endpoint/get-phone-numbers"}]}]}]},{"language":"en","tabs":[{"tab":"Documentation","pages":[{"title":"Documentation","href":"/en/get-started/what-is-contactship"}]},{"tab":"Use cases","pages":[{"title":"Use cases","href":"/en/use-cases"}]},{"tab":"API Reference","groups":[{"group":"API documentation","pages":[{"title":"API Introduction","href":"/api-reference/introduction"},{"title":"Rate Limits and Retries","href":"/api-reference/rate-limits"},{"title":"Call webhook payload","href":"/api-reference/webhooks"},{"title":"Inbound context webhook","href":"/api-reference/inbound-webhook"},{"title":"Follow-up closure webhook","href":"/api-reference/follow-up-webhook"},{"title":"HTTP tool execution","href":"/api-reference/tool-execution"}]},{"group":"Voice","pages":[{"title":"Make AI Phone Call","api":"POST /v1/calls/single-phone-call","href":"/api-reference/endpoint/make-ai-phone-call"},{"title":"Call a Contact","api":"POST /v1/calls/single-contact-call","href":"/api-reference/endpoint/make-contact-call"}]},{"group":"WhatsApp (WABA)","pages":[{"title":"Send WhatsApp Message","api":"POST /v1/waba/send","href":"/api-reference/endpoint/waba-send-message"},{"title":"Send WhatsApp Template","api":"POST /v1/waba/send-template","href":"/api-reference/endpoint/waba-send-template"},{"title":"Send WhatsApp Media","api":"POST /v1/waba/send-media","href":"/api-reference/endpoint/waba-send-media"},{"title":"Send WhatsApp Location","api":"POST /v1/waba/send-location","href":"/api-reference/endpoint/waba-send-location"},{"title":"Get WhatsApp Templates","api":"GET /v1/waba/templates","href":"/api-reference/endpoint/waba-get-templates"}]},{"group":"Channels and threads","pages":[{"title":"List Channels","api":"GET /v1/channels","href":"/api-reference/endpoint/get-channels"},{"title":"Get Thread","api":"GET /v1/thread/{threadId}","href":"/api-reference/endpoint/get-thread"},{"title":"Update Thread","api":"PUT /v1/thread/{threadId}","href":"/api-reference/endpoint/update-thread"},{"title":"Get Message","api":"GET /v1/messages/{messageId}","href":"/api-reference/endpoint/get-message"}]},{"group":"Organization","pages":[{"title":"Get Credits","api":"GET /v1/credits","href":"/api-reference/endpoint/get-credits"}]},{"group":"Agents","pages":[{"title":"Create Agent","api":"POST /v1/agents","href":"/api-reference/endpoint/create-agent"},{"title":"Get Agent","api":"GET /v1/agents/{agentId}","href":"/api-reference/endpoint/get-agent"},{"title":"List Agents","api":"GET /v1/agents","href":"/api-reference/endpoint/list-agents"},{"title":"Update Agent","api":"PUT /v1/agents/{agentId}","href":"/api-reference/endpoint/update-agent"},{"title":"Delete Agent","api":"DELETE /v1/agents/{agentId}","href":"/api-reference/endpoint/delete-agent"},{"title":"List Voices","api":"GET /v1/agents/voices","href":"/api-reference/endpoint/list-voices"}]},{"group":"Contacts","pages":[{"title":"Get Contacts","api":"GET /v1/contacts","href":"/api-reference/endpoint/get-contacts"},{"title":"Create Contact","api":"POST /v1/contacts","href":"/api-reference/endpoint/create-contact"},{"title":"Get Contact by Identifier","api":"GET /v1/contacts/{identifier}","href":"/api-reference/endpoint/get-contact-by-identifier"},{"title":"Get Contact Call History","api":"GET /v1/contacts/{contactId}/call-history","href":"/api-reference/endpoint/get-contact-call-history"},{"title":"Find Call History by Phone Number","href":"/api-reference/endpoint/get-contact-call-history-by-phone"},{"title":"Update Contact","api":"PATCH /v1/contacts/{contactId}","href":"/api-reference/endpoint/update-contact"},{"title":"Delete Contact","api":"DELETE /v1/contacts/{contactId}","href":"/api-reference/endpoint/delete-contact"},{"title":"Get Contact Comments","api":"GET /v1/contacts/{contactId}/comments","href":"/api-reference/endpoint/get-contact-comments"},{"title":"Create Contact Comment","api":"POST /v1/comments","href":"/api-reference/endpoint/create-comment"},{"title":"Get Contact Tags","api":"GET /v1/contacts/{contactId}/tags","href":"/api-reference/endpoint/get-contact-tags"},{"title":"Add Tag to Contact","api":"POST /v1/contacts/{contactId}/tags/{tagId}","href":"/api-reference/endpoint/add-contact-tag"},{"title":"Remove Tag from Contact","api":"DELETE /v1/contacts/{contactId}/tags/{tagId}","href":"/api-reference/endpoint/remove-contact-tag"}]},{"group":"Events","pages":[{"title":"Send Events","api":"POST /v1/events","description":"Record what your contacts do in your other systems, GA4 style","href":"/api-reference/endpoint/send-events"},{"title":"Identify a Session","api":"POST /v1/identify","href":"/api-reference/endpoint/identify"}]},{"group":"Tags","pages":[{"title":"List Tags","api":"GET /v1/tags","description":"Retrieve all tags for your organization","href":"/api-reference/endpoint/list-tags"},{"title":"Create Tag","api":"POST /v1/tags","href":"/api-reference/endpoint/create-tag"},{"title":"Update Tag","api":"PATCH /v1/tags/{tagId}","href":"/api-reference/endpoint/update-tag"},{"title":"Delete Tag","api":"DELETE /v1/tags/{tagId}","href":"/api-reference/endpoint/delete-tag"}]},{"group":"Calls","pages":[{"title":"List Calls","api":"GET /v1/calls","href":"/api-reference/endpoint/list-calls"},{"title":"Get Call","api":"GET /v1/calls/{callId}","href":"/api-reference/endpoint/get-call"},{"title":"Get Call Status","api":"GET /v1/calls/{callId}/status","href":"/api-reference/endpoint/get-call-status"},{"title":"Stop Call","api":"POST /v1/calls/single-phone-call/{callId}/stop","href":"/api-reference/endpoint/stop-call"}]},{"group":"Tasks","pages":[{"title":"List Tasks","api":"GET /v1/tasks","href":"/api-reference/endpoint/list-tasks"},{"title":"Get Task","api":"GET /v1/tasks/{id}","href":"/api-reference/endpoint/get-task"},{"title":"Create Task","api":"POST /v1/tasks","href":"/api-reference/endpoint/create-task"}]},{"group":"Phone numbers","pages":[{"title":"List Phone Numbers","api":"GET /v1/phone-numbers","href":"/api-reference/endpoint/get-phone-numbers"}]}]}]}]},"basePath":"","title":"Identify a Session - ContactShip Docs","buildId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","deploymentId":"dpl_5joLUXmnJgwqjrHAS4dxZrQTdxgh","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-DPDWPCdE.js","utils-DyjUHyLo.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-BWYE1cdS.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-COAzxpEw.js","snippetPresets-DNiD_S52.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","conditional-requirements-CFM0id0Q.js","ApiExamples-CjwVt80x.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-ByHQMk7z.js","shallow-CaZuw1AO.js","getApiPlaygroundDisplay-DPVPOknm.js","CodeSnippet-B31CH-Mp.js","CodeSnippets-BxTYZWz6.js","Page-DDHbuAIY.js","getPastedJson-DhoAwiNO.js","icon-Dhq8z75J.js","MethodPill-DLXmKOwr.js","DuplicateIcon-jzdVwyRU.js","createIcon-eD0b3klN.js","DynamicMarkdown-BfddVCX7.js","SectionHeading-2pSCIo17.js","axios-vUo_bRtp.js"]}