Skip to main content
POST
/
api
/
v2
/
signals
curl --request POST \
  --url https://zeroclick.dev/api/v2/signals \
  --header 'Content-Type: application/json' \
  --header 'x-zc-api-key: <api-key>' \
  --data '
{
  "userId": "user-12345",
  "ipAddress": "your-user-ip-address",
  "signals": [
    {
      "category": "purchase_intent",
      "confidence": 0.9,
      "subject": "Nike running shoes",
      "sentiment": "positive"
    }
  ]
}
'
{
  "error": {
    "message": "Invalid request body: signals must contain at least 1 element(s)"
  }
}

Documentation Index

Fetch the complete documentation index at: https://developer.zeroclick.ai/docs/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

x-zc-api-key
string
header
required

Tenant API key for authentication. Obtain from https://developer.zeroclick.ai/ under API Keys in the Organization API Keys tab. Ensure the key has the required scope (e.g., developer:data:read for analytics endpoints). This is a private key and must be stored securely, never expose it in client-side code.

Headers

x-zc-llm-model
string

The LLM model used to parse signals (if any) For consistency, we recommend using the model identifiers listed by Vercel (https://vercel.com/ai-gateway/models).

Maximum string length: 64

Body

application/json
signals
object[]
required

Array of real-time signals about the user's current context or intent. These signals are stored for future offer matching and personalization.

Required array length: 1 - 10 elements
ipAddress
string | null

Client IP address. Forward the end user IP address for user matching and personalization.

userAgent
string | null

Client User-Agent string.

userId
string | null

Tenant-defined user ID for analytics and personalization

userSessionId
string | null

Tenant-defined session ID for session-level tracking

userLocale
string | null

User locale/language code (e.g., "en-US", "es-MX")

userEmailSha256
string | null

SHA-256 hash of user email address for identity matching (lowercase, trimmed before hashing)

userPhoneNumberSha256
string | null

SHA-256 hash of user phone number for identity matching (E.164 format before hashing)

groupingId
string | null

Tenant-defined grouping ID for analytics segmentation

Response

Signals stored successfully (no content returned)