{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "WebhookResumeGap",
"description": "The window a resume just closed. Nothing is buffered while a rule is paused, so this describes what was missed rather than replaying it.",
"type": "object",
"required": [
"counted",
"note",
"paused_at",
"replay_window",
"resumed_at"
],
"properties": {
"counted": {
"description": "Whether anything inside the window was counted. False means the count is null because nothing was looked at, not because nothing happened.",
"type": "boolean",
"example": true
},
"note": {
"description": "What can and cannot be recovered for the window, and how.",
"type": "string"
},
"pause_message": {
"description": "The cause in plain words.",
"type": "string",
"nullable": true
},
"paused_at": {
"description": "Start of the gap.",
"type": "string",
"format": "date-time",
"nullable": true
},
"reason": {
"description": "Cause of the pause that was cleared. Null on a bulk resume whose rules were paused for more than one reason; each rule then carries its own.",
"type": "string",
"nullable": true,
"example": "deliveries_per_day_cap"
},
"reasons": {
"description": "Distinct causes across the resumed rules. Present on a bulk resume only.",
"type": "array",
"items": {
"type": "string"
}
},
"replay_window": {
"description": "The gap as a window to re-read for yourself.",
"type": "object",
"properties": {
"end": {
"description": "Window end.",
"type": "string",
"format": "date-time",
"nullable": true
},
"start": {
"description": "Window start.",
"type": "string",
"format": "date-time",
"nullable": true
}
}
},
"resumed_at": {
"description": "End of the gap.",
"type": "string",
"format": "date-time",
"nullable": true
},
"suppressed_count": {
"description": "Matches suppressed inside the window. Null when the rules were address scoped, because a paused address scoped rule is left out of the scan entirely and its occurrences were never looked at.",
"type": "integer",
"format": "int64",
"nullable": true,
"example": 0
},
"suppressed_first_at": {
"description": "First suppressed match inside the window.",
"type": "string",
"format": "date-time",
"nullable": true
},
"suppressed_last_at": {
"description": "Most recent suppressed match inside the window.",
"type": "string",
"format": "date-time",
"nullable": true
},
"uncounted_subscriptions": {
"description": "How many of the resumed rules were address scoped, and therefore not counted. Present on a bulk resume only.",
"type": "integer",
"example": 0
}
}
}