FeaturesHow it worksPricingDocsBlog
Sign inGet started

Win back the shoppers who almost bought.

Get startedChat on WhatsApp

Product

  • Features
  • How it works
  • Pricing

Resources

  • Docs
  • Blog
  • Recovery guide

Company

  • Careers
  • Support

Legal

  • Privacy
  • Terms
  • Data Deletion

© 2026 Nerja AI · Customer Intent & Retention

support@nerja.ai·+880 1886-157091

Chat on WhatsApp
  • Nerja AI documentation
  • Quick start
  • How Nerja works
  • Install the Nerja Tag
  • Events the tag detects
  • Tag JavaScript API
  • Privacy & consent
  • Mobile SDK overview
  • Get the SDK
  • Android SDK
  • iOS SDK
  • Push notifications setup
  • Push templates
  • Deep links: app or website
  • Connect email (AutoSend, Resend, Amazon SES)
  • Connect SMS (Twilio, BulkSMSBD)
  • Connect WhatsApp (WAAPI, Meta, Twilio)
  • Connect push (Firebase)
  • Campaign types
  • Delivery, open and click tracking
  • Signed user ids
  • Permissions explained
  • API reference
  • Store integrations
  • Troubleshooting
  • FAQ

Reference

API reference

Send events, identify users and register devices directly: authentication, endpoints, limits and examples.

Authentication#

http
Authorization: Bearer nak_pk_live_YOUR_KEY
X-Nerja-App-Id: com.yourshop.app      # mobile apps only
Content-Type: application/json

Browsers send the key from your allowed website (the Origin is checked). Mobile apps send X-Nerja-App-Id, which must be allowed for the key. Server keys (SECRET) skip both checks.

Send an event#

POST /v1/events
curl -X POST https://api.nerja.ai/v1/events \
  -H "Authorization: Bearer $NERJA_KEY" -H "Content-Type: application/json" \
  -d '{
    "id": "7c0f2e9c-5b1d-4b7a-9d61-1e0a6a6f2a10",
    "event": "add_to_cart",
    "timestamp": 1791900000000,
    "user_id": "user_42",
    "properties": { "products": [{ "id": "sku-1", "name": "Amber Oud", "quantity": 1, "price": 249 }], "currency": "SAR" }
  }'
# → 202 Accepted
FieldNotes
idA UUID you generate. The same id is only ever processed once, so retries are safe.
eventAn event name — see the tag's list, or your own custom name.
timestampMilliseconds since epoch.
user_id / anonymous_idAt least one. Send both to link history.
propertiesFree-form; products use id, name, price, quantity, image_url, url.

Send a batch#

POST /v1/events/batch with { "batch": [ …events ] } (up to 100 events). Prefer this from servers and apps.

Identify#

POST /v1/identify
curl -X POST https://api.nerja.ai/v1/identify \
  -H "Authorization: Bearer $NERJA_KEY" -H "Content-Type: application/json" \
  -d '{ "user_id": "user_42", "anonymous_id": "…", "traits": { "email": "sara@example.com", "first_name": "Sara" } }'

Register a device#

POST /v1/devices
curl -X POST https://api.nerja.ai/v1/devices \
  -H "Authorization: Bearer $NERJA_KEY" -H "X-Nerja-App-Id: com.yourshop.app" \
  -H "Content-Type: application/json" \
  -d '{ "fcmToken": "…", "platform": "ANDROID", "userId": "user_42", "anonymousId": "…", "appId": "com.yourshop.app" }'
# DELETE /v1/devices/{fcmToken} on logout or uninstall

Platforms: ANDROID, IOS, WEB. If you use SDKs you never call this yourself.

Push receipts#

http
POST /v1/tracking/push/{executionId}/{delivered|opened|clicked}   → 204
# executionId arrives in the push's data as exec_id (or use the receipt_url field)

No key needed — the execution id is the secret; repeats are ignored.

Limits and errors#

EndpointLimit
POST /v1/events100 / minute
POST /v1/events/batch30 / minute, ≤ 100 events each
POST /v1/identify50 / minute
POST /v1/devices30 / minute
StatusMeaning
202Accepted (events are processed asynchronously)
400Invalid body, e.g. unknown field shape — the response lists the issues
401Missing/invalid key, key revoked, origin or app id not allowed, or a signed user id is required
429Rate limit — retry with backoff

Prefer to talk it through? Book a 30-minute call with the Nerja team.

PreviousPermissions explainedNext Store integrations

Something unclear or missing? Email support@nerja.ai and we will improve this page.

on this page

  • Authentication
  • Send an event
  • Send a batch
  • Identify
  • Register a device
  • Push receipts
  • Limits and errors