SentinelPro API Documentation

Complete guide to integrating with the SentinelPro Analytics API

Overview

The SentinelPro API provides programmatic access to your analytics data. Use it to build custom dashboards, automate reports, or integrate analytics into your applications.

Base Configuration

  • Base URL: https://{AccountName}.sentinelpro.com/api/v1/
  • Authorization: API Key (passed via SENTINEL-API-KEY header)
  • Content-Type: JSON (via data query parameter, URL-encoded)
  • Rate limit: 1 request per second
  • API Version: v1

Authentication

Include your API key in the request headers for all API calls:

SENTINEL-API-KEY: your_api_key_here

Endpoints

1. Events Endpoint

Fetch aggregated event data based on dimensions, metrics, and filters.

Method GET
Endpoint /api/v1/events/
Query Param data=<url_encoded_json>

Example Request (cURL):

curl -G "https://{AccountName}.sentinelpro.com/api/v1/events/" \
--data-urlencode 'data={
 "filters": {
   "date": {"gt": "2025-04-29 21:00:00", "lt": "2025-05-02 23:00:00"},
   "device": {"in": ["Mobile", "Desktop"]},
   "propertyId": {"in": ["www.domain1.com", "www.domain2.com"]},
   "eventName": {"eq": "loadedLandingPage"},
   "intent": {"in": ["Evergreen", "Feed"]}
 },
 "metrics": ["events"],
 "dimensions": ["date", "device"],
 "granularity": "hourly",
 "orderBy": {"date": "asc"},
 "pagination": {
   "pageSize": 1000,
   "pageNumber": 1
 }
}' \
-H "SENTINEL-API-KEY: your_api_key_here"

2. Traffic Endpoint

Retrieve traffic insights like sessions, visits, page views, and engagement metrics.

Method GET
Endpoint /api/v1/traffic/
Query Param data=<url_encoded_json>

Common Request Body Structure:

{
 "filters": {
   "dimension": {
     "operator": "value"
   }
 },
 "metrics": ["metric1", "metric2"],
 "dimensions": ["dimension1", "dimension2"],
 "granularity": "hourly|daily",
 "orderBy": {
   "dimensionOrMetric": "asc|desc"
 },
 "pagination": {
   "pageSize": 100,
   "pageNumber": 1
 }
}

Supported Metrics

Events Endpoint

Metric Description
events Total event count

Traffic Endpoint

Metric Description
sessions Total session count
visits Total visits
views Total pageviews
pagesPerSession Views divided by sessions
averageEngagedDuration Avg engaged time (seconds)
averageEngagedDepth Avg scroll depth (%)
averageConnectionSpeed Avg connection speed (Mbps)

Supported Dimensions

Common Dimensions

  • date
  • propertyId
  • pagePath (Traffic Endpoint only)
  • geo
  • device
  • referrer
  • os
  • browser
  • plan
  • loginStatus
  • utmCampaign
  • utmMedium
  • utmSource
  • subdomain
  • {Custom dimensions}

Events-specific Dimensions

  • eventCategory
  • eventName
  • eventValue

Supported Granularity

  • hourly
  • daily
  • fiveMinutes

Filter Operators

Operator Description
eq Equals
neq Not equals
in In list
notIn Not in list
gt Greater than
gte Greater than or equal
lt Less than
lte Less than or equal
contains Substring match
startsWith Begins with
endsWith Ends with

Example PHP Request

<?php

$json = '{
 "filters": {
   "date": {"gt": "2025-01-01 00:00:00", "lt": "2025-02-01 00:00:00"},
   "device": {"in": ["Mobile", "Desktop"]}
 },
 "granularity": "hourly",
 "metrics": ["events"],
 "dimensions": ["date", "device", "eventName"],
 "orderBy": {"date": "asc", "events": "asc"},
 "pagination": {
   "pageSize": 100,
   "pageNumber": 1
 }
}';

$encodedData = urlencode($json);

$curl = curl_init();

curl_setopt_array($curl, [
   CURLOPT_URL => "https://{AccountName}.sentinelpro.com/api/v1/events/?data=" . $encodedData,
   CURLOPT_RETURNTRANSFER => true,
   CURLOPT_HTTPHEADER => [
       "SENTINEL-API-KEY: your_api_key_here"
   ],
]);

$response = curl_exec($curl);
curl_close($curl);

echo $response;

Response Structure

{
 "totalCount": 146,
 "totalPage": 1,
 "currentPage": 1,
 "extraData": [],
 "totals": [],
 "data": [
   {
     "date": "2025-04-29 22:00:00",
     "device": "Desktop",
     "events": "53"
   },
   ...
 ]
}

Response Fields:

Field Description
totalCount Total rows matching the query
totalPage Total number of pages available
currentPage Current page number
data Array of metric breakdowns by dimensions
totals Reserved for future total aggregations
extraData Reserved for additional metadata

Quick Navigation