notification.requests
Purpose
The notification.requests
dataset captures each incoming notification request, covering request metadata (timestamps, IDs, entity type/subtype, team), encrypted template context, routing inputs and rule evaluations (including counts and matching types), and the final outcome with reasons and internal timing—to enable traceability, deduplication, routing analytics, and downstream delivery correlation.
Schema description
Full JSON path | Field data type | Field data example | description |
---|---|---|---|
request | Object | { ... } | Container for inbound notification request metadata. |
request.requestTimestamp | String (Date) | "2025-08-10T14:20:00Z" | When the notification request was received. |
request.notificationId | String (UUID) | "6fa459ea-ee8a-3ca4-894e-db77e160355e" | Unique identifier for the notification instance. |
request.requestDeduplicationId | String (UUID) | "3f2504e0-4f89-11d3-9a0c-0305e82c3301" | Identifier used to deduplicate identical requests. |
request.entityType | String | "alert" | High-level entity type related to the request. |
request.entitySubType | String | "threshold" | Subtype/category of the entity. |
request.encryptedTemplateContext | String | "gAAAAABm...==" | Encrypted (opaque) template context payload. |
request.teamName | String | "SRE" | Human-readable team name. |
request.teamId | Number | 42 | Internal numeric team identifier. |
outcome | Object | { ... } | Final outcome of request processing. |
outcome.timestamp | String (Date) | "2025-08-10T14:20:05Z" | When the request’s outcome was finalized. |
outcome.status | Enum | "Success" | Final status: Success | Failure | Rejected . |
outcome.statusReason | Object | { "type":"validation_error", "message":"Missing required destination" } | Reason object explaining the final status. |
outcome.statusReason.type | String | "validation_error" | Machine-friendly reason/category. |
outcome.statusReason.message | String | "Missing required destination" | Human-readable explanation. |
routing | Object | { ... } | Router inputs, counts, and rule matches. |
routing.routerInfo | Object | { "id":"router-01","name":"Primary Notifications Router","evaluationMode":"Sequential" } | Router identification and evaluation mode. |
routing.routerInfo.id | String | "router-01" | Router ID used during evaluation. |
routing.routerInfo.name | String | "Primary Notifications Router" | Display name of the router. |
routing.routerInfo.evaluationMode | Enum | "Sequential" | Router evaluation strategy: Sequential | Parallel . |
routing.targetsCount | Number | 3 | Number of configured targets considered. |
routing.analyzedConditionsCount | Number | 7 | Count of conditions evaluated during routing. |
routing.matchingRuleType | Enum | "RuleMatched" | Whether a rule matched or fallback was used: RuleMatched | FallbackUsed . |
routing.matchingRules | Array/object | [{"name":"pagerduty-high","condition":"severity >= 3"}] | Rules that matched (name + condition). |
routing.matchingRules.name | String | "pagerduty-high" | Name of a matching rule. |
routing.matchingRules.condition | String | "severity >= 3" | Condition/expression for the rule. |
__internal__ | Object | { ... } | Internal processing/timing details. |
__internal__.requestDurationMs | Number | 512 | Processing time for the request (ms). |
__internal__.privateRouter | Object | { "id":"pr-abc123", "matchingRuleType":"FallbackUsed", "matchingRule":{...} } | Private/internal router evaluation details (if used). |
__internal__.privateRouter.id | String | "pr-abc123" | Internal/private router identifier. |
__internal__.privateRouter.matchingRuleType | Enum | "FallbackUsed" | Internal matching result: RuleMatched | FallbackUsed . |
__internal__.privateRouter.matchingRule | Object | { "name":"default", "condition":"default" } | The rule applied by the private router. |
__internal__.privateRouter.matchingRule.name | String (optional) | "default" | Name of the applied rule (may be absent). |
__internal__.privateRouter.matchingRule.condition | String | "default" | Condition of the applied rule. |
How the data in this dataset can be used
Track request volume and failure/rejection rates
Quickly spot spikes in failed or rejected requests and investigate.
source system/notification.requests
| groupby outcome.status
aggregate count() as requests
| sortby requests desc
Measure deduplication effectiveness
Identify how often the same requestDeduplicationId
appears more than once.
source system/notification.requests
| groupby request.requestDeduplicationId
aggregate count() as occurrences
| filter occurrences > 1
| sortby occurrences desc
Analyze routing behavior and rule hit rates
See how frequently rules match vs. fallbacks, and which rules fire most.
-- Match vs. Fallback
source system/notification.requests
| groupby routing.matchingRuleType
aggregate count() as requests
| sortby requests desc
-- Top matching rules
source system/notification.requests
| explode routing.matchingRules into rule
| groupby rule.name
aggregate count() as matches
| sortby matches desc
Latency and performance monitoring
Track central tendency of request processing time and find outliers.
source system/notification.requests
| groupby 1
aggregate
avg(__internal__.requestDurationMs) as avg_ms,
percentile(__internal__.requestDurationMs, 50) as p50_ms,
percentile(__internal__.requestDurationMs, 95) as p95_ms
Audit trails and team-level insights
Break down outcomes by team to find misconfigurations or noisy sources.
source system/notification.requests
| groupby request.teamId, request.teamName, outcome.status
aggregate count() as requests
| sortby requests desc
notification.requests
schema
request
requestTimestamp
type: string
(format: date-time
)
Timestamp of the notification request. (required)
notificationId
type: string
(format: uuid
)
Unique identifier for the notification. (required)
requestDeduplicationId
type: string
(format: uuid
)
Deduplication ID for the request. (required)
entityType
type: string
Type of the entity. (required)
entitySubType
type: string
Subtype of the entity. (required)
encryptedTemplateContext
type: string
Encrypted template context data. (required)
teamName
type: string
Name of the team. (required)
teamId
type: number
Unique identifier for the team. (required)
outcome
timestamp
type: string
(format: date-time
)
Timestamp of the outcome. (required)
status
Enum: Success
, Failure
, Rejected
Status of the notification request. (required)
statusReason
type
type: string
Type of status reason. (required)
message
type: string
Detailed status reason message. (required)
routing
routerInfo
id
type: string
Router ID. (required)
name
type: string
Router name. (required)
evaluationMode
Enum: Sequential
, Parallel
Evaluation mode for the router. (required)
targetsCount
type: number
Number of targets. Minimum: 0
. (required)
analyzedConditionsCount
type: number
Number of analyzed conditions. Minimum: 0
. (required)
matchingRuleType
Enum: RuleMatched
, FallbackUsed
Type of matching rule. (optional)
matchingRules
type: array
List of matching rules.
name
type: string
Rule name. (required)
condition
type: string
Rule condition. (required)
__internal__
requestDurationMs
type: number
Request duration in milliseconds. Minimum: 0
. (required)
privateRouter
id
type: string
Private router ID. (required)
matchingRuleType
Enum: RuleMatched
, FallbackUsed
Type of matching rule. (optional)
matchingRule
name
type: string
Rule name. (optional)
condition
type: string
Rule condition. (required)