Pular para o conteúdo

Overview daily deliveries​

GET
/v1/apps/{app_id}/overview/deliveries

Delivered and failed counts per local day (App timezone, YYYY-MM-DD), zero-filled, plus the range totals.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"delivered": 0,
  
"failed": 0,
  
"range": "string",
  
"series": [
  
  
{
  
  
  
"date": "string",
  
  
  
"delivered": 0,
  
  
  
"failed": 0
  
  
}
  
]
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview device distribution​

GET
/v1/apps/{app_id}/overview/devices

Active devices (subscribed, not deleted, seen in the last 30 days; not range-scoped) split by platform, country, app version, permission (granted/denied/provisional/not_determined) and OS major version. Country/version/OS keep the top 5 plus "other" (which also holds unknown values; its OS platform is null). below_min_version counts devices on an app version below the App's min_rich_push_version (0 when unset; unknown versions are not counted).

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Respostas​

OK

application/json
JSON
{
  
"active": 0,
  
"below_min_version": 0,
  
"by_app_version": [
  
  
{
  
  
  
"count": 0,
  
  
  
"key": "string"
  
  
}
  
],
  
"by_country": [
  
  
{
  
  
  
"count": 0,
  
  
  
"key": "string"
  
  
}
  
],
  
"by_os": [
  
  
{
  
  
  
"count": 0,
  
  
  
"key": "string",
  
  
  
"platform": "string"
  
  
}
  
],
  
"by_permission": [
  
  
{
  
  
  
"count": 0,
  
  
  
"key": "string"
  
  
}
  
],
  
"min_rich_push_version": "string",
  
"platform": {
  
  
"android": 0,
  
  
"ios": 0
  
}
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview top failure reasons​

GET
/v1/apps/{app_id}/overview/failures

Failed deliveries in the range (total) and the top 6 reason codes parsed from last_error: the APNs reason, the FCM errorCode, worker codes (provider_not_configured, app_disabled, device deleted) as-is, or "unknown".

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"range": "string",
  
"reasons": [
  
  
{
  
  
  
"code": "string",
  
  
  
"count": 0,
  
  
  
"provider": "string"
  
  
}
  
],
  
"total": 0
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview engagement funnel​

GET
/v1/apps/{app_id}/overview/funnel

Sent → delivered → opened → clicked counts for the range, overall and per device platform, with the failed and pending deliveries that sent minus delivered lost. Opened counts a delivered delivery with an opened or clicked event. skipped_plan_limit counts the devices not sent to because the App was over its plan's MAU limit, for notifications created in the range.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"funnel": {
  
  
"all": {
  
  
  
"clicked": 0,
  
  
  
"delivered": 0,
  
  
  
"failed": 0,
  
  
  
"opened": 0,
  
  
  
"pending": 0,
  
  
  
"sent": 0
  
  
},
  
  
"android": {
  
  
  
"clicked": 0,
  
  
  
"delivered": 0,
  
  
  
"failed": 0,
  
  
  
"opened": 0,
  
  
  
"pending": 0,
  
  
  
"sent": 0
  
  
},
  
  
"ios": {
  
  
  
"clicked": 0,
  
  
  
"delivered": 0,
  
  
  
"failed": 0,
  
  
  
"opened": 0,
  
  
  
"pending": 0,
  
  
  
"sent": 0
  
  
}
  
},
  
"range": "string",
  
"skipped_plan_limit": 0
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview engagement heatmap​

GET
/v1/apps/{app_id}/overview/heatmap

168 weekday×hour cells (weekday 0 = Monday, hour 0–23, App timezone), zero-filled. sent = delivered deliveries dispatched in that cell; opened = those with an opened or clicked event; clicked = those with a clicked event.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"cells": [
  
  
{
  
  
  
"clicked": 0,
  
  
  
"hour": 0,
  
  
  
"opened": 0,
  
  
  
"sent": 0,
  
  
  
"weekday": 0
  
  
}
  
],
  
"range": "string",
  
"timezone": "string"
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview In-App engagement​

GET
/v1/apps/{app_id}/overview/in-app

In-App engagement of the whole App over the range and the equal-length window before it (soft-deleted messages included, other Apps never): impressions, reach (distinct devices with an impression) and clicks with their change, CTR and dismiss rate (percentages over (message, device) pairs with an impression, in percentage points), a zero-filled daily series in the App's timezone, the top 10 messages by CTR among those with at least 20 impressions, the top 10 buttons by clicks, the taps on push_permission buttons and the top platform, app version and country of devices that saw a message. has_messages tells an App without messages from one without events in the range. reach_rate is reach over active_devices (subscribed devices seen in the last 30 days), capped at 100, and null when the range is longer than 30 days.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"active_devices": 0,
  
"auto_dismissed": 0,
  
"breakdowns": {
  
  
"app_version": [
  
  
  
{
  
  
  
  
"count": 0,
  
  
  
  
"key": "string"
  
  
  
}
  
  
],
  
  
"country": [
  
  
  
{
  
  
  
  
"count": 0,
  
  
  
  
"key": "string"
  
  
  
}
  
  
],
  
  
"platform": [
  
  
  
{
  
  
  
  
"count": 0,
  
  
  
  
"key": "string"
  
  
  
}
  
  
]
  
},
  
"buttons": [
  
  
{
  
  
  
"action_type": "string",
  
  
  
"button_id": "string",
  
  
  
"clicks": 0,
  
  
  
"label": "string",
  
  
  
"message_id": "string",
  
  
  
"message_name": "string",
  
  
  
"unique_clickers": 0
  
  
}
  
],
  
"clicks": {
  
  
"delta": 0,
  
  
"prev": 0,
  
  
"value": 0
  
},
  
"ctr": {
  
  
"delta": 0,
  
  
"prev": 0,
  
  
"value": 0
  
},
  
"dismiss_rate": {
  
  
"delta": 0,
  
  
"prev": 0,
  
  
"value": 0
  
},
  
"has_messages": true,
  
"impressions": {
  
  
"delta": 0,
  
  
"prev": 0,
  
  
"value": 0
  
},
  
"messages": [
  
  
{
  
  
  
"ctr": 0,
  
  
  
"deleted": true,
  
  
  
"id": "string",
  
  
  
"impressions": 0,
  
  
  
"name": "string",
  
  
  
"reach": 0,
  
  
  
"status": "string"
  
  
}
  
],
  
"push_permission": {
  
  
"clicks": 0,
  
  
"unique_clickers": 0
  
},
  
"range": "string",
  
"reach": {
  
  
"delta": 0,
  
  
"prev": 0,
  
  
"value": 0
  
},
  
"reach_rate": 0,
  
"series": [
  
  
{
  
  
  
"clicks": 0,
  
  
  
"date": "2026-10-17",
  
  
  
"impressions": 0
  
  
}
  
]
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview KPIs​

GET
/v1/apps/{app_id}/overview/kpis

Sent count, delivery rate (delivered/sent), open rate (opened/delivered), CTR (clicked/delivered) and In-App impressions for the range, each with the previous equal-length window, a delta (% for sent, null when prev is 0; percentage points for rates, null when the previous denominator is 0) and a per-day series in the App's timezone. Rates are 0–100 with one decimal.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"kpis": {
  
  
"ctr": {
  
  
  
"delta": 0,
  
  
  
"prev": 0,
  
  
  
"series": [
  
  
  
  
0
  
  
  
],
  
  
  
"value": 0
  
  
},
  
  
"delivery_rate": {
  
  
  
"delta": 0,
  
  
  
"prev": 0,
  
  
  
"series": [
  
  
  
  
0
  
  
  
],
  
  
  
"value": 0
  
  
},
  
  
"in_app_impressions": {
  
  
  
"delta": 0,
  
  
  
"prev": 0,
  
  
  
"series": [
  
  
  
  
0
  
  
  
],
  
  
  
"value": 0
  
  
},
  
  
"open_rate": {
  
  
  
"delta": 0,
  
  
  
"prev": 0,
  
  
  
"series": [
  
  
  
  
0
  
  
  
],
  
  
  
"value": 0
  
  
},
  
  
"sent": {
  
  
  
"delta": 0,
  
  
  
"prev": 0,
  
  
  
"series": [
  
  
  
  
0
  
  
  
],
  
  
  
"value": 0
  
  
}
  
},
  
"range": "string"
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview CTR by template​

GET
/v1/apps/{app_id}/overview/templates

Top 5 templates by CTR (clicked/delivered) among those with at least 100 deliveries in the range, with open rate and the previous window's CTR (null when it had no deliveries). has_more is true when more templates qualify. Ad-hoc notifications are excluded.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Parâmetros de Consulta

range

7d, 14d, 30d, 90d, or custom (default 14d)

Tipo
string
from

Custom range start, YYYY-MM-DD (required when range=custom)

Tipo
string
to

Custom range end (inclusive), YYYY-MM-DD (required when range=custom; from <= to, at most 366 days)

Tipo
string

Respostas​

OK

application/json
JSON
{
  
"has_more": true,
  
"range": "string",
  
"templates": [
  
  
{
  
  
  
"ctr": 0,
  
  
  
"delivered": 0,
  
  
  
"name": "string",
  
  
  
"open_rate": 0,
  
  
  
"prev_ctr": 0,
  
  
  
"template_id": "string"
  
  
}
  
]
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Overview MAU usage​

GET
/v1/apps/{app_id}/overview/usage

The App's rolling 30-day MAU against its Company plan's MAU limit, with the billing cycle (from renewal date and billing interval) and a linear end-of-cycle projection (mau × cycle_days / elapsed_days). plan_is_top_tier is true when the plan has the highest price in the catalog. Over the limit, skipped_users = mau - limit (users outside the push cap) and upgrade_plan_slug is the cheapest plan whose mau_limit covers mau and whose apps/users ceilings cover the Company's current Apps and members (null when within the limit or when no plan covers all three). 404 billing_unavailable on self-hosted deployments; license-server failures surface like the billing endpoints.

Autorizações​

SessionAuth

Admin session cookie set by POST /v1/auth/login. Dashboard-only management.

Tipo
API Key (cookie: notti_session)

Parâmetros​

Parâmetros de Caminho

app_id*

App ID

Tipo
string
Obrigatório

Respostas​

OK

application/json
JSON
{
  
"cycle_days": 0,
  
"limit": 0,
  
"mau": 0,
  
"plan": "string",
  
"plan_is_top_tier": true,
  
"projected_mau": 0,
  
"renews_at": "string",
  
"skipped_users": 0,
  
"thresholds": [
  
  
0
  
],
  
"upgrade_plan_slug": "string"
}

Playground​

Autorização
Variáveis
Chave
Valor

Exemplos​


Desenvolvido por VitePress OpenAPI