API Reference
This document covers the Userlens HTTP API for direct integration or server-side event forwarding.
Authentication
All API requests require your Write Code in the Authorization header using HTTP Basic Auth.
The token must be base64 encoded in the format write_code: (with trailing colon, empty password):
const authToken = Buffer.from(`${WRITE_CODE}:`).toString('base64');
// Header: Authorization: Basic <authToken>import base64
auth_token = base64.b64encode(f'{WRITE_CODE}:'.encode()).decode()
# Header: Authorization: Basic <auth_token>auth_token = Base64.strict_encode64("#{write_code}:")
# Header: Authorization: Basic <auth_token>Get your Write Code from Userlens Settings.
Base URLs
Identify & Group
https://events.userlens.io
Event Tracking
https://raw.userlens.io
Endpoints
1. Identify User
Sync user traits with Userlens. Call this when a user signs up, logs in, or updates their profile.
Request Body:
Fields:
type
string
Yes
Must be "identify"
userId
string
Yes
Unique user identifier
source
string
Yes
"userlens-js-analytics-sdk" or "userlens-restapi"
traits
object
Yes
User properties
Example (Node.js):
2. Group (Company/Organization)
Associate a user with a company or organization. Essential for B2B analytics.
Request Body:
Fields:
type
string
Yes
Must be "group"
groupId
string
Yes
Unique company/org identifier
userId
string
Yes
User being associated
source
string
Yes
"userlens-js-analytics-sdk" or "userlens-restapi"
traits
object
No
Company properties
3. Track Custom Event
Send a single custom event directly to Userlens.
Request Body:
Fields:
type
string
Yes
Must be "track"
userId
string
Yes
User who performed action
source
string
Yes
"userlens-restapi"
event
string
Yes
Event name
properties
object
No
Event metadata
4. Forward SDK Events (Batch)
Forward events collected by the Userlens SDK. This is the endpoint your proxy server should use.
Request Body:
Event Types:
Type
is_raw
event Value
Description
Click
true
XPath selector
Auto-captured click
Custom
false
Event name
Manually tracked via pushEvent()
Page View
N/A
"$ul_pageview"
Navigation event
Event Schemas
Raw Event (Auto-Captured Click)
Pushed Event (Custom)
Page View Event
DOM Snapshot Node
Response Codes
200
Success
400
Invalid request body
401
Invalid or missing Write Code
500
Server error
Rate Limits
The API is designed for high throughput. Contact support if you're sending more than 10,000 events per minute.
SDK Methods Reference
EventCollector
Configuration Options
React Hook
Next Steps
React Setup — Get started with React
Troubleshooting — Common issues and solutions
Last updated