Analytics & logs
Three distinct surfaces: prebuilt statistics, configurable dashboards, and raw logs.
Statistics
The fastest way to get numbers out of LeadX. Each returns an aggregate, no dashboard setup required.
| Endpoint | Covers |
|---|---|
GET /analytics-dashboard/statistics/overview | Headline figures across the account. |
GET /analytics-dashboard/statistics/leads | Lead volume, stage distribution, conversion. |
GET /analytics-dashboard/statistics/contacts | Contact growth and sources. |
GET /analytics-dashboard/statistics/campaigns | Campaign performance. |
GET /analytics-dashboard/statistics/messages | Message volume by channel. |
GET /analytics-dashboard/statistics/team | Per-member and per-team activity. |
GET /analytics-dashboard/statistics/apps | Integration usage. |
GET /analytics-dashboard/statistics/activity | Activity timeline. |
GET /analytics-dashboard/statistics/revenue | Revenue attribution. |
curl -G https://api.leadx.in/api/key/protected/analytics-dashboard/statistics/leads \
-H "apikey: $KEY" \
--data-urlencode 'filters={"stage":"Won"}'
These accept the usual filters and date-range query parameters, so the same endpoint serves "this month" and "last quarter".
:::tip Start here If you are building a reporting integration, try the statistics endpoints before assembling anything from raw lists — they do the aggregation server-side. :::
Analytics dashboards
Saved, configurable dashboards made of widgets.
| Method | Endpoint | Purpose |
|---|---|---|
GET / POST | /analytics-dashboard | List / create dashboards. |
GET / PUT / DELETE | /analytics-dashboard/:id | One dashboard. |
PUT | /analytics-dashboard/reorder | Reorder. |
GET / POST | /analytics-dashboard/widget | List / create widgets. |
GET / PUT / DELETE | /analytics-dashboard/widget/:id | One widget. |
Classic dashboards
The older CRM home-screen dashboards. Still fully supported.
| Method | Endpoint | Purpose |
|---|---|---|
GET / POST / DELETE | /dashboard | Manage dashboards. |
GET / PUT | /dashboard/:id | One dashboard. |
PUT | /dashboard/reorder | Reorder. |
GET | /dashboard/presets | Prebuilt layouts to start from. |
GET / DELETE | /dashboard/widget | List / delete widgets. |
GET | /dashboard/widget/:id | One widget. |
Widget create and update routes are commented out in source — build layouts from /dashboard/presets and configure at the dashboard level.
Message logs
Per-provider delivery records. Every one is a GET and supports the standard pagination and filtering.
| Endpoint | Records |
|---|---|
/logs/smtp | SMTP sends |
/logs/gmail | Gmail sends |
/logs/ses | Amazon SES |
/logs/sendgrid | SendGrid |
/logs/postmark | Postmark |
/logs/brevo | Brevo |
/logs/sparkpost | SparkPost |
/logs/elasticemail | Elastic Email |
/logs/mailchimp | Mailchimp |
/logs/whatsapp | WhatsApp messages |
curl -G https://api.leadx.in/api/key/protected/logs/whatsapp \
-H "apikey: $KEY" \
--data-urlencode 'p=1' --data-urlencode 'n=100' \
--data-urlencode 'sortBy=createdAt' --data-urlencode 'sortOrder=desc'
For campaign-specific results, prefer GET /campaign/:id/recipients — it is the per-recipient report from the send engine and is scoped to one campaign.
Audit and system logs
| Endpoint | Purpose |
|---|---|
GET /logs | Server request log for your company. |
GET /logs/login | Login history. |
GET /logs/invite | Member invitation history. |
GET /logs/report | Generated reports. |
GET /logs is genuinely useful when debugging an integration: every API-key request is logged with the key that made it, so you can confirm what your own code sent.
Website visitor tracking
| Method | Endpoint | Purpose |
|---|---|---|
GET / POST / DELETE | /domain-tracking | Manage tracked domains. |
GET | /domain-tracking/:id | One domain. |
GET | /domain-tracking/:id/activities | Recorded visitor activity. |
Forms
| Method | Endpoint | Purpose |
|---|---|---|
GET / POST / DELETE | /form | Manage forms. |
GET / PUT | /form/:id | One form. |
PUT | /form/:id/status | Publish or unpublish. |
GET | /form/:id/submissions | Submissions. |
Form submissions create leads automatically, so /form/:id/submissions is for auditing what arrived — you do not need to poll it to get the leads.