Practical Examples
This section provides copy-paste examples for common workflows.
All examples use the same generic event schema so behavior is easy to compare.
Shared Generic Schema
notification_schema:
extreme_event:
topic:
base: extreme_event
key_order: [region, run_time, severity, anomaly]
identifier:
region:
description: "Geographic region label."
type: EnumHandler
values: ["north", "south", "east", "west"]
required: true
run_time:
type: TimeHandler
required: true
severity:
description: "Severity level from 1 to 7."
type: IntHandler
range: [1, 7]
required: true
anomaly:
type: FloatHandler
range: [0.0, 100.0]
required: false
polygon:
type: PolygonHandler
required: false
payload:
required: false
Shared Assumptions
- Base URL:
http://127.0.0.1:8000 - Content type:
application/json - Replay examples use
from_idorfrom_dateexplicitly.
Identifier Value Style
The examples in this section send scalar identifier values as JSON strings,
including numeric ones ("severity":"4", "anomaly":"42.5"). The server
canonicalizes scalar values to strings. JSON numbers are accepted and produce
the same result. Constraint arguments ({"gte":5}, {"between":[3,7]}) use
JSON numbers because they are typed comparison operands.
Notify Identifier Rule
POST /api/v1/notification requires every identifier key declared in the
schema, whether it has required: true or required: false. Every value must
pass its handler validation.
The flag matters on watch and replay. A missing key marked
required: true returns 400. A missing key marked required: false becomes a
wildcard. Provided values and constraint objects still pass through handler
validation.
The shared schema above declares five keys, so notify examples on the following pages include all five.
Next: