Skip to main content

Event Schema

Send a POST request to your Hardal endpoint for every event.
POST https://signal.<yourcustomdomain>.com/push/hardal
Required header: Content-Type: application/json
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "your_event_name",
      "url": "app://screen-name",
      "title": "Screen Title",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "your_field": "your_value",
        "another_field": 123
      }
    }
  }'
Response codes: 200 Success — 400 Invalid request — 401 Invalid Signal ID
Use consent parameter if you are planning to use Destinations for sending data to consent requiring endpoints; such as Ads channels.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "your_event_name",
      "url": "https://yourdomain.com/page",
      "title": "Page Title",
      "device_type": "desktop",
      "language": "en-US",
      "platform": "web",
      "data": {
        "your_field": "your_value",
        "another_field": 123,
        "consent": true
      }
    }
  }'
Consent is required for Destinations in Marketing category. This requirement might change due to your region and regulations.

Navigate to the related section for recommended events.

Sales Events

Track product views, cart actions, checkout steps, purchases, and refunds

Lead Events

Track form submissions, signups, logins, shares, subscriptions, and trials

Game Events

Track virtual currency, levels, scores, achievements, and tutorials

App Status

Track app installs, opens, and updates

Identify

Link events to known users after login, signup, or consent

Sales

page_view

Fires when a user views a screen.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "page_view",
      "url": "app://home",
      "title": "Home",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "screen_name": "HomeScreen"
      }
    }
  }'

view_item

Fires when a user views a product detail screen.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "view_item",
      "url": "app://product/YOGA-MAT-PRO",
      "title": "ZenFlex Pro Yoga Mat",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 79.99,
        "items": [
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "item_category2": "Yoga",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

view_item_list

Fires when a user views a product list.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "view_item_list",
      "url": "app://discover/top-picks",
      "title": "Top Picks For You",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "item_list_id": "top_picks",
        "item_list_name": "Top Picks For You",
        "items": [
          {
            "item_id": "BOTTLE-INS-32",
            "item_name": "HydroKeep Insulated Bottle 32oz",
            "item_brand": "HydroKeep",
            "item_category": "Sports",
            "item_category2": "Hydration",
            "price": 34.99,
            "quantity": 1,
            "index": 0
          }
        ]
      }
    }
  }'

select_item

Fires when a user taps a product from a list.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "select_item",
      "url": "app://search?q=backpack",
      "title": "Search Results",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "item_list_id": "search_results",
        "item_list_name": "Search Results",
        "items": [
          {
            "item_id": "BAG-TREK-40L",
            "item_name": "SummitPack 40L Hiking Backpack",
            "item_brand": "TrailBound",
            "item_category": "Outdoor",
            "item_category2": "Backpacks",
            "price": 119.00,
            "quantity": 1,
            "index": 3
          }
        ]
      }
    }
  }'

view_promotion

Fires when a user views a promotion.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "view_promotion",
      "url": "app://home",
      "title": "Home",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "promotion_id": "PROMO_SUMMER25",
        "promotion_name": "Summer Splash Sale",
        "creative_name": "summer_splash_hero",
        "creative_slot": "app_home_carousel"
      }
    }
  }'

select_promotion

Fires when a user taps a promotion.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "select_promotion",
      "url": "app://home",
      "title": "Home",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "promotion_id": "PROMO_SUMMER25",
        "promotion_name": "Summer Splash Sale",
        "creative_name": "summer_splash_hero",
        "creative_slot": "app_home_carousel"
      }
    }
  }'

Fires when a user performs an in-app search.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "search",
      "url": "app://search",
      "title": "Search",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "search_term": "noise cancelling headphones"
      }
    }
  }'

add_to_cart

Fires when a user adds an item to their cart.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "add_to_cart",
      "url": "app://product/DRONE-MINI-4K",
      "title": "SkyLens Mini 4K Drone",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 249.00,
        "items": [
          {
            "item_id": "DRONE-MINI-4K",
            "item_name": "SkyLens Mini 4K Drone",
            "item_brand": "SkyLens",
            "item_category": "Electronics",
            "item_category2": "Drones",
            "price": 249.00,
            "quantity": 1
          }
        ]
      }
    }
  }'

remove_from_cart

Fires when a user removes an item from their cart.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "remove_from_cart",
      "url": "app://cart",
      "title": "Cart",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 34.99,
        "items": [
          {
            "item_id": "BOTTLE-INS-32",
            "item_name": "HydroKeep Insulated Bottle 32oz",
            "item_brand": "HydroKeep",
            "item_category": "Sports",
            "item_category2": "Hydration",
            "price": 34.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

add_to_wishlist

Fires when a user adds an item to their wishlist.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "add_to_wishlist",
      "url": "app://product/LAMP-DESK-ARC",
      "title": "ArcLight Desk Lamp",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 189.00,
        "items": [
          {
            "item_id": "LAMP-DESK-ARC",
            "item_name": "ArcLight Adjustable Desk Lamp",
            "item_brand": "LumenCraft",
            "item_category": "Home",
            "item_category2": "Lighting",
            "price": 189.00,
            "quantity": 1
          }
        ]
      }
    }
  }'

view_cart

Fires when a user views their cart.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "view_cart",
      "url": "app://cart",
      "title": "Cart",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 328.99,
        "items": [
          {
            "item_id": "DRONE-MINI-4K",
            "item_name": "SkyLens Mini 4K Drone",
            "item_brand": "SkyLens",
            "item_category": "Electronics",
            "item_category2": "Drones",
            "price": 249.00,
            "quantity": 1
          },
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "item_category2": "Yoga",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

begin_checkout

Fires when a user begins checkout.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "begin_checkout",
      "url": "app://checkout",
      "title": "Checkout",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 328.99,
        "coupon": "APPFIRST",
        "items": [
          {
            "item_id": "DRONE-MINI-4K",
            "item_name": "SkyLens Mini 4K Drone",
            "item_brand": "SkyLens",
            "item_category": "Electronics",
            "item_category2": "Drones",
            "price": 249.00,
            "quantity": 1
          },
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "item_category2": "Yoga",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

add_shipping_info

Fires when a user submits shipping information.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "add_shipping_info",
      "url": "app://checkout/shipping",
      "title": "Shipping",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 328.99,
        "coupon": "APPFIRST",
        "shipping_tier": "Express",
        "items": [
          {
            "item_id": "DRONE-MINI-4K",
            "item_name": "SkyLens Mini 4K Drone",
            "item_brand": "SkyLens",
            "item_category": "Electronics",
            "price": 249.00,
            "quantity": 1
          },
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

add_payment_info

Fires when a user submits payment information.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "add_payment_info",
      "url": "app://checkout/payment",
      "title": "Payment",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "currency": "USD",
        "value": 328.99,
        "coupon": "APPFIRST",
        "payment_type": "Apple Pay",
        "items": [
          {
            "item_id": "DRONE-MINI-4K",
            "item_name": "SkyLens Mini 4K Drone",
            "item_brand": "SkyLens",
            "item_category": "Electronics",
            "price": 249.00,
            "quantity": 1
          },
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

purchase

Fires when a user completes a purchase.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "purchase",
      "url": "app://order/confirmation",
      "title": "Order Confirmed",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "transaction_id": "APP-ORD-20250718-4412",
        "value": 328.99,
        "currency": "USD",
        "tax": 26.32,
        "shipping": 9.99,
        "coupon": "APPFIRST",
        "payment_type": "Apple Pay",
        "items": [
          {
            "item_id": "DRONE-MINI-4K",
            "item_name": "SkyLens Mini 4K Drone",
            "item_brand": "SkyLens",
            "item_category": "Electronics",
            "item_category2": "Drones",
            "price": 249.00,
            "quantity": 1
          },
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "item_category2": "Yoga",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

refund

Fires when a user receives a refund. Include items for item-level reporting.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "refund",
      "url": "app://order/APP-ORD-20250718-4412",
      "title": "Refund",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "transaction_id": "APP-ORD-20250718-4412",
        "value": 79.99,
        "currency": "USD",
        "tax": 6.40,
        "items": [
          {
            "item_id": "YOGA-MAT-PRO",
            "item_name": "ZenFlex Pro Yoga Mat",
            "item_brand": "FlowGear",
            "item_category": "Sports",
            "price": 79.99,
            "quantity": 1
          }
        ]
      }
    }
  }'

Leads

generate_lead

Fires when a user submits a lead form.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "generate_lead",
      "url": "app://contact",
      "title": "Contact",
      "device_type": "mobile",
      "language": "en-IN",
      "platform": "app",
      "data": {
        "lead_id": "LEAD-55021",
        "currency": "USD",
        "value": 750,
        "lead_source": "In-App Banner",
        "name": "Priya Sharma",
        "category": "Small Business",
        "type": "quote_request",
        "label": "Q3 Push Campaign",
        "country": "IN",
        "city": "Mumbai",
        "district": "Maharashtra"
      }
    }
  }'

sign_up

Fires when a user creates an account.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "sign_up",
      "url": "app://register",
      "title": "Sign Up",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "method": "Apple"
      }
    }
  }'

login

Fires when a user logs in.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "login",
      "url": "app://login",
      "title": "Login",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "method": "Biometrics"
      }
    }
  }'

share

Fires when a user shares content.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "share",
      "url": "app://product/DRONE-MINI-4K",
      "title": "Share",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "method": "iMessage",
        "content_type": "product",
        "item_id": "DRONE-MINI-4K"
      }
    }
  }'

subscribe

Fires when a user subscribes to notifications.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "subscribe",
      "url": "app://settings/notifications",
      "title": "Notification Settings",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "list_name": "Deal Alerts",
        "list_id": "PUSH_DEALS"
      }
    }
  }'

trial_start

Fires when a user starts a free trial.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "trial_start",
      "url": "app://premium",
      "title": "Go Pro",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "plan": "pro",
        "trial_days": 7,
        "value": 9.99,
        "currency": "USD"
      }
    }
  }'

Games

earn_virtual_currency

Fires when a user earns virtual currency.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "earn_virtual_currency",
      "url": "app://game/reward",
      "title": "Reward",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "virtual_currency_name": "Crystals",
        "value": 200
      }
    }
  }'

spend_virtual_currency

Fires when a user spends virtual currency.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "spend_virtual_currency",
      "url": "app://game/shop",
      "title": "Shop",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "virtual_currency_name": "Crystals",
        "value": 80,
        "item_name": "Flame Shield"
      }
    }
  }'

tutorial_begin

Fires when a user begins a tutorial. No additional parameters.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "tutorial_begin",
      "url": "app://game/tutorial",
      "title": "Tutorial",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {}
    }
  }'

tutorial_complete

Fires when a user completes a tutorial. No additional parameters.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "tutorial_complete",
      "url": "app://game/tutorial",
      "title": "Tutorial Complete",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {}
    }
  }'

App Status

app_install

Fires when a user opens the app for the first time. No additional parameters.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "app_install",
      "url": "app://launch",
      "title": "First Launch",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {}
    }
  }'

app_open

Fires when a user opens the app (not first time).
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "app_open",
      "url": "app://home",
      "title": "Home",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "from_push": true,
        "deeplink_url": "app://product/DRONE-MINI-4K"
      }
    }
  }'

app_update

Fires when a user updates the app.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "event",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "app_update",
      "url": "app://home",
      "title": "Home",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "previous_version": "3.1.2"
      }
    }
  }'

Identify

distinct

Fires when a user logs in, signs up, or gives consent. Links subsequent events to a known user profile.
curl -X POST https://signal.yourdomain.com/push/hardal \
  -H "Content-Type: application/json" \
  -d '{
    "type": "identify",
    "payload": {
      "website": "YOUR_WEBSITE_ID",
      "name": "distinct",
      "url": "app://account",
      "title": "Account",
      "device_type": "mobile",
      "language": "en-US",
      "platform": "app",
      "data": {
        "email": "[email protected]",
        "firstName": "Priya",
        "lastName": "Sharma",
        "customerId": "USR_78310",
        "phone": 919876543210,
        "birthday": "1992-09-05",
        "gender": "female",
        "city": "Mumbai",
        "state": "MH",
        "zip": "400001",
        "country": "IN"
      }
    }
  }'

Item Object

Used by view_item, view_item_list, select_item, add_to_cart, remove_from_cart, add_to_wishlist, view_cart, begin_checkout, add_shipping_info, add_payment_info, purchase, and refund.
view_item, add_to_cart, and purchase must send the same item details for accurate funnel reporting.