---
title: "Visit/Session Started"
method: POST
path: "/events/visit"
tags: ["Send Event"]
---

# Visit/Session Started

`POST /events/visit`

Records that a user visit/session

## Request body

- EventsVisitEvent
  - `identification` EventsIdentification, required
    - `sessionIdentification` EventsSessionIdentification, required — Metadata representing a users session. Allows Wunderkind to connect multiple events into a single session. NOTE: Exactly one of wunderkindVisitorIdentifier or partnerVisitorId must be provided.
      - `wunderkindVisitorIdentifier` EventsWunderkindVisitorIdentifier
        - `deviceId` string, int64, required — Wunderkind device identifier as returned onsite with `bouncex.cookie.did`
        - `visitId` string, required — Wunderkind visit identifier as returned onsite with `bouncex.cookie.vid`
      - `partnerVisitorId` string — Generate and store a random 16 character alphanumeric identifier for the visitor if not already present. This identifier should be consistent for repeat visitors.
      - `smarterhqVisitorIdentifier` EventsSmarterHQVisitorIdentifier
        - `loiid` string, required — SmarterHQ loiid
        - `sessionId` string, required — SmarterHQ session id
    - `userIdentification` EventsUserIdentification, required — Metadata representing the user behind the session.
      - `email` string — Email address. This is preferred over the SHA256 hashed email.
      - `emailSha256` string — Email address (SHA256 hashed). Ensure to lowercase the email before hashing.
      - `phone` string — Phone Number - please pass in the format +(country code)(phone number). This is preferred over the SHA256 hashed phone number.
      - `phoneSha256` string — Phone Number (SHA256 hashed)
      - `partnerId` string — Partner identifier - An identifier for the partner that owns the user
      - `additionalIdentifiers` object — Additional identifiers
      - `source` string — Source of the user
    - `deviceIdentification` EventsDeviceIdentification, required — Metadata representing the device used by the user.
      - `ipAddress` string, required — The IP address of the user (IPv4 or IPv6)
      - `userAgent` string — The user agent of the browser
    - `source` 'web' | 'app' | 'retail', required
    - `profile` EventsProfile
      - `firstName` string — The first name of the user
      - `lastName` string — The last name of the user
      - `address` string — The address of the user
      - `city` string — The city of the user
      - `state` string — The state of the user
      - `zip` string — The zip code of the user
      - `country` string — The country of the user
    - `location` EventsLocation
      - `timezoneOffset` integer — The UTC timezone offset of the user
      - `latitude` number, float — The latitude of the user
      - `longitude` number, float — The longitude of the user
  - `extra` object, required — Any additional attributes, may be passed empty.
  - `agent` string, required — The agent from which the event was sent
  - `timestamp` string, int64, required — The timestamp of the event in milliseconds since the unix epoch
  - `websiteId` string, int64, required — The unique identifier for the website as provided by Wunderkind

## Response `200`

A successful response.

- EventsSubmitEventResponse
  - `success` boolean — Success
  - `message` string — Message

## Other responses

- `default` — An unexpected error response.

---

[API](https://skmtc.dev/wunderkind/apis/wunderhook.md) · [All operations](https://skmtc.dev/wunderkind/apis/wunderhook/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/wunderkind/wunderhook/revisions/a25138bc98f4/schema)
