stable · event · 0.2.0
Notification Delivery outcome
The authoritative current state of an email, FCM, APNs, LINE, or Web Push Delivery.
Capability Domain: notifications
Reference identifier: notification-delivery-outcome
Schema ID: https://minicenter.otus.tw/events/notifications.delivery.outcome.v1.schema.json
Delivery: Delivered at least once. Deduplicate by envelope id and apply only outcomes newer than the local occurrence time; reconcile uncertainty with GET /notification-deliveries/{deliveryId}.
Event schema
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"$id": "https://minicenter.otus.tw/events/notifications.delivery.outcome.v1.schema.json",
"title": "Notification Delivery outcome",
"description": "The authoritative current state of an email, FCM, APNs, LINE, or Web Push Delivery.",
"type": "object",
"additionalProperties": false,
"required": [
"delivery_id",
"channel",
"status",
"attempts",
"provider_status",
"last_error_code",
"occurred_at"
],
"properties": {
"delivery_id": {
"type": "string",
"format": "uuid"
},
"channel": {
"type": "string",
"enum": [
"email",
"fcm",
"apns",
"line",
"web_push"
]
},
"status": {
"type": "string",
"enum": [
"pending",
"retry",
"accepted",
"sent",
"delivered",
"rejected",
"suppressed",
"unavailable",
"bounced",
"complained",
"unknown",
"failed"
]
},
"attempts": {
"type": "integer",
"minimum": 0
},
"provider_status": {
"type": [
"string",
"null"
]
},
"last_error_code": {
"type": [
"string",
"null"
]
},
"occurred_at": {
"type": "string",
"format": "date-time"
}
},
"x-documentation": true,
"x-reference-id": "notification-delivery-outcome",
"x-domain": "notifications",
"x-stability": "stable",
"x-delivery": "Delivered at least once. Deduplicate by envelope id and apply only outcomes newer than the local occurrence time; reconcile uncertainty with GET /notification-deliveries/{deliveryId}.",
"example": {
"delivery_id": "85000000-0000-4000-8000-000000000002",
"channel": "fcm",
"status": "sent",
"attempts": 1,
"provider_status": "accepted",
"last_error_code": null,
"occurred_at": "2026-09-02T02:30:00Z"
}
}
Example
{
"delivery_id": "85000000-0000-4000-8000-000000000002",
"channel": "fcm",
"status": "sent",
"attempts": 1,
"provider_status": "accepted",
"last_error_code": null,
"occurred_at": "2026-09-02T02:30:00Z"
}