{
    "components": {
        "schemas": {
            "api.Problem": {
                "properties": {
                    "code": {
                        "type": "string"
                    },
                    "detail": {
                        "type": "string"
                    },
                    "fields": {
                        "additionalProperties": {
                            "type": "string"
                        },
                        "type": "object"
                    },
                    "status": {
                        "type": "integer"
                    },
                    "title": {
                        "type": "string"
                    },
                    "type": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "handler.automationPreviewRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "deadline_seconds": {
                        "maximum": 2592000,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "emergency_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "important_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "enum": [
                            "routine",
                            "important",
                            "emergency"
                        ],
                        "type": "string"
                    },
                    "maximum_prompts": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "enum": [
                            "routine",
                            "important",
                            "emergency"
                        ],
                        "type": "string"
                    },
                    "repeat_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "response_requirement": {
                        "enum": [
                            "inform",
                            "acknowledge",
                            "complete"
                        ],
                        "type": "string"
                    },
                    "schedule": {
                        "$ref": "#/components/schemas/model.ScheduleSpec"
                    }
                },
                "required": [
                    "initial_urgency",
                    "maximum_urgency",
                    "response_requirement",
                    "schedule"
                ],
                "type": "object"
            },
            "handler.automationRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "deadline_seconds": {
                        "type": "integer"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "emergency_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "important_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "enum": [
                            "routine",
                            "important",
                            "emergency"
                        ],
                        "type": "string"
                    },
                    "maximum_prompts": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "enum": [
                            "routine",
                            "important",
                            "emergency"
                        ],
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "overlap_enabled": {
                        "type": "boolean"
                    },
                    "repeat_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "response_requirement": {
                        "enum": [
                            "inform",
                            "acknowledge",
                            "complete"
                        ],
                        "type": "string"
                    },
                    "schedule": {
                        "$ref": "#/components/schemas/model.ScheduleSpec"
                    },
                    "skip_enabled": {
                        "type": "boolean"
                    },
                    "snooze_enabled": {
                        "type": "boolean"
                    },
                    "source_label": {
                        "type": "string"
                    },
                    "source_url": {
                        "type": "string"
                    },
                    "state": {
                        "enum": [
                            "active",
                            "paused"
                        ],
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    }
                },
                "required": [
                    "initial_urgency",
                    "maximum_urgency",
                    "message",
                    "name",
                    "response_requirement",
                    "schedule",
                    "state",
                    "title"
                ],
                "type": "object"
            },
            "handler.automationsListResponse": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/model.Automation"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "limit": {
                        "type": "integer"
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "page_start": {
                        "type": "integer"
                    },
                    "previous_cursor": {
                        "type": "string"
                    },
                    "total_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "handler.birthdayPolicyPatchRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "steps": {
                        "items": {
                            "$ref": "#/components/schemas/model.BirthdayAlertStep"
                        },
                        "maxItems": 20,
                        "minItems": 1,
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "steps"
                ],
                "type": "object"
            },
            "handler.bulkAutomationRequest": {
                "properties": {
                    "action": {
                        "enum": [
                            "pause",
                            "resume",
                            "delete"
                        ],
                        "type": "string"
                    },
                    "automation_ids": {
                        "items": {
                            "type": "string"
                        },
                        "maxItems": 100,
                        "minItems": 1,
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "action",
                    "automation_ids"
                ],
                "type": "object"
            },
            "handler.completeNextAutomationRequest": {
                "properties": {
                    "expected_due_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "handler.expirationPatchRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "date": {
                        "example": "2034-05-17",
                        "type": "string"
                    },
                    "date_precision": {
                        "enum": [
                            "day",
                            "month"
                        ],
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "steps": {
                        "items": {
                            "$ref": "#/components/schemas/model.CalendarAlertStep"
                        },
                        "maxItems": 20,
                        "minItems": 1,
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "handler.expirationRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "date": {
                        "example": "2034-05-17",
                        "type": "string"
                    },
                    "date_precision": {
                        "enum": [
                            "day",
                            "month"
                        ],
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "steps": {
                        "items": {
                            "$ref": "#/components/schemas/model.CalendarAlertStep"
                        },
                        "maxItems": 20,
                        "minItems": 1,
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "required": [
                    "date",
                    "steps"
                ],
                "type": "object"
            },
            "handler.notificationRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "deadline_seconds": {
                        "maximum": 2592000,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "emergency_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "external_reference": {
                        "$ref": "#/components/schemas/model.ExternalReference"
                    },
                    "idempotency_key": {
                        "maxLength": 255,
                        "type": "string"
                    },
                    "important_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "enum": [
                            "routine",
                            "important",
                            "emergency"
                        ],
                        "type": "string"
                    },
                    "maximum_prompts": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "enum": [
                            "routine",
                            "important",
                            "emergency"
                        ],
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "repeat_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "response_requirement": {
                        "enum": [
                            "inform",
                            "acknowledge",
                            "complete"
                        ],
                        "type": "string"
                    },
                    "skip_enabled": {
                        "type": "boolean"
                    },
                    "snooze_enabled": {
                        "type": "boolean"
                    },
                    "source_label": {
                        "type": "string"
                    },
                    "source_url": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    }
                },
                "required": [
                    "idempotency_key",
                    "message",
                    "title"
                ],
                "type": "object"
            },
            "handler.notificationsListResponse": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/model.Notification"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "limit": {
                        "type": "integer"
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "page_start": {
                        "type": "integer"
                    },
                    "previous_cursor": {
                        "type": "string"
                    },
                    "total_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "handler.reminderCreateRequest": {
                "properties": {
                    "birthday": {
                        "$ref": "#/components/schemas/model.BirthdayDate"
                    },
                    "due_at": {
                        "type": "string"
                    },
                    "expiration": {
                        "$ref": "#/components/schemas/handler.expirationRequest"
                    },
                    "idempotency_key": {
                        "maxLength": 200,
                        "type": "string"
                    },
                    "kind": {
                        "enum": [
                            "one_time",
                            "birthday",
                            "expiration"
                        ],
                        "type": "string"
                    },
                    "local_due_at": {
                        "example": "2026-11-02T09:00",
                        "type": "string"
                    },
                    "message": {
                        "maxLength": 1024,
                        "type": "string"
                    },
                    "name": {
                        "maxLength": 250,
                        "type": "string"
                    },
                    "policy": {
                        "$ref": "#/components/schemas/handler.reminderPolicyRequest"
                    },
                    "state": {
                        "enum": [
                            "active",
                            "paused"
                        ],
                        "type": "string"
                    }
                },
                "required": [
                    "idempotency_key",
                    "kind",
                    "name"
                ],
                "type": "object"
            },
            "handler.reminderPatchRequest": {
                "properties": {
                    "birthday": {
                        "$ref": "#/components/schemas/model.BirthdayDate"
                    },
                    "due_at": {
                        "type": "string"
                    },
                    "expiration": {
                        "$ref": "#/components/schemas/handler.expirationPatchRequest"
                    },
                    "local_due_at": {
                        "example": "2026-11-02T09:00",
                        "type": "string"
                    },
                    "message": {
                        "maxLength": 1024,
                        "type": "string"
                    },
                    "name": {
                        "maxLength": 250,
                        "type": "string"
                    },
                    "policy": {
                        "$ref": "#/components/schemas/handler.reminderPolicyRequest"
                    },
                    "state": {
                        "enum": [
                            "active",
                            "paused"
                        ],
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "handler.reminderPolicyRequest": {
                "properties": {
                    "completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "deadline_seconds": {
                        "maximum": 2592000,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "emergency_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "important_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "maximum_prompts": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "repeat_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "response_requirement": {
                        "$ref": "#/components/schemas/model.ResponseRequirement"
                    },
                    "skip_enabled": {
                        "type": "boolean"
                    },
                    "snooze_enabled": {
                        "type": "boolean"
                    }
                },
                "type": "object"
            },
            "handler.remindersListResponse": {
                "properties": {
                    "items": {
                        "items": {
                            "$ref": "#/components/schemas/model.Reminder"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "limit": {
                        "type": "integer"
                    },
                    "next_cursor": {
                        "type": "string"
                    },
                    "previous_cursor": {
                        "type": "string"
                    },
                    "total_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "handler.responseRequest": {
                "properties": {
                    "note": {
                        "type": "string"
                    },
                    "snoozed_until": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "handler.settingsRequest": {
                "properties": {
                    "clear_pushover_credentials": {
                        "type": "boolean"
                    },
                    "default_catch_up_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 0,
                        "type": "integer"
                    },
                    "default_completion_grace_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "default_emergency_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "default_important_escalation_threshold": {
                        "maximum": 100,
                        "minimum": 2,
                        "type": "integer"
                    },
                    "default_maximum_prompts": {
                        "maximum": 100,
                        "minimum": 1,
                        "type": "integer"
                    },
                    "default_repeat_seconds": {
                        "maximum": 86400,
                        "minimum": 60,
                        "type": "integer"
                    },
                    "global_pause_until": {
                        "type": "string"
                    },
                    "home_timezone": {
                        "type": "string"
                    },
                    "pushover_application_token": {
                        "type": "string"
                    },
                    "pushover_user_key": {
                        "type": "string"
                    },
                    "quiet_enabled": {
                        "type": "boolean"
                    },
                    "quiet_end": {
                        "type": "string"
                    },
                    "quiet_start": {
                        "type": "string"
                    }
                },
                "required": [
                    "home_timezone",
                    "quiet_end",
                    "quiet_start"
                ],
                "type": "object"
            },
            "model.AnchorSettings": {
                "properties": {
                    "connection_health": {
                        "$ref": "#/components/schemas/model.ConnectionHealth"
                    },
                    "connection_last_tested_at": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "default_catch_up_grace_seconds": {
                        "type": "integer"
                    },
                    "default_completion_grace_seconds": {
                        "type": "integer"
                    },
                    "default_emergency_escalation_threshold": {
                        "type": "integer"
                    },
                    "default_important_escalation_threshold": {
                        "type": "integer"
                    },
                    "default_maximum_prompts": {
                        "type": "integer"
                    },
                    "default_repeat_seconds": {
                        "type": "integer"
                    },
                    "global_pause_until": {
                        "type": "string"
                    },
                    "has_pushover_credentials": {
                        "type": "boolean"
                    },
                    "home_timezone": {
                        "type": "string"
                    },
                    "quiet_enabled": {
                        "type": "boolean"
                    },
                    "quiet_end": {
                        "type": "string"
                    },
                    "quiet_start": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.Automation": {
                "properties": {
                    "completion_grace_seconds": {
                        "type": "integer"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "deadline_seconds": {
                        "type": "integer"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "emergency_escalation_threshold": {
                        "type": "integer"
                    },
                    "id": {
                        "type": "string"
                    },
                    "important_escalation_threshold": {
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "maximum_prompts": {
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "message": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "next_due_at": {
                        "type": "string"
                    },
                    "overlap_enabled": {
                        "type": "boolean"
                    },
                    "repeat_seconds": {
                        "type": "integer"
                    },
                    "response_requirement": {
                        "$ref": "#/components/schemas/model.ResponseRequirement"
                    },
                    "schedule": {
                        "$ref": "#/components/schemas/model.ScheduleSpec"
                    },
                    "skip_enabled": {
                        "type": "boolean"
                    },
                    "snooze_enabled": {
                        "type": "boolean"
                    },
                    "source_label": {
                        "type": "string"
                    },
                    "source_url": {
                        "type": "string"
                    },
                    "state": {
                        "$ref": "#/components/schemas/model.AutomationState"
                    },
                    "status": {
                        "$ref": "#/components/schemas/model.AutomationStatus"
                    },
                    "title": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.AutomationPreview": {
                "properties": {
                    "due_at": {
                        "type": "string"
                    },
                    "prompts": {
                        "items": {
                            "$ref": "#/components/schemas/model.AutomationPreviewPrompt"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "stopped_at": {
                        "type": "string"
                    },
                    "stopped_by": {
                        "type": "string"
                    },
                    "timezone": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.AutomationPreviewPrompt": {
                "properties": {
                    "delay_reason": {
                        "type": "string"
                    },
                    "deliver_at": {
                        "type": "string"
                    },
                    "final_anchor_delivery": {
                        "type": "boolean"
                    },
                    "prompt_number": {
                        "type": "integer"
                    },
                    "provider_repetition_ends_at": {
                        "type": "string"
                    },
                    "scheduled_at": {
                        "type": "string"
                    },
                    "urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    }
                },
                "type": "object"
            },
            "model.AutomationState": {
                "enum": [
                    "active",
                    "paused"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "AutomationStateActive",
                    "AutomationStatePaused"
                ]
            },
            "model.AutomationStatus": {
                "enum": [
                    "active",
                    "paused",
                    "ended"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "AutomationStatusActive",
                    "AutomationStatusPaused",
                    "AutomationStatusEnded"
                ]
            },
            "model.BirthdayAlertStep": {
                "properties": {
                    "day_offset": {
                        "type": "integer"
                    },
                    "local_time": {
                        "type": "string"
                    },
                    "urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    }
                },
                "type": "object"
            },
            "model.BirthdayDate": {
                "properties": {
                    "day": {
                        "type": "integer"
                    },
                    "month": {
                        "type": "integer"
                    },
                    "year": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.BirthdayPolicyResource": {
                "properties": {
                    "completion_grace_seconds": {
                        "type": "integer"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "revision": {
                        "type": "integer"
                    },
                    "steps": {
                        "items": {
                            "$ref": "#/components/schemas/model.BirthdayAlertStep"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "model.BulkAutomationResponse": {
                "properties": {
                    "failed_count": {
                        "type": "integer"
                    },
                    "results": {
                        "items": {
                            "$ref": "#/components/schemas/model.BulkAutomationResult"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "succeeded_count": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.BulkAutomationResult": {
                "properties": {
                    "automation_id": {
                        "type": "string"
                    },
                    "error_code": {
                        "type": "string"
                    },
                    "message": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.CalendarAlertStep": {
                "properties": {
                    "day_offset": {
                        "type": "integer"
                    },
                    "local_time": {
                        "type": "string"
                    },
                    "urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    }
                },
                "type": "object"
            },
            "model.CompleteNextAutomationResponse": {
                "properties": {
                    "automation": {
                        "$ref": "#/components/schemas/model.Automation"
                    },
                    "notification": {
                        "$ref": "#/components/schemas/model.Notification"
                    }
                },
                "type": "object"
            },
            "model.ConnectionHealth": {
                "enum": [
                    "untested",
                    "healthy",
                    "unhealthy"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ConnectionUntested",
                    "ConnectionHealthy",
                    "ConnectionUnhealthy"
                ]
            },
            "model.DashboardAutomationCounts": {
                "properties": {
                    "active": {
                        "type": "integer"
                    },
                    "ended": {
                        "type": "integer"
                    },
                    "paused": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.DashboardDeliveryCounts": {
                "properties": {
                    "accepted": {
                        "type": "integer"
                    },
                    "failed": {
                        "type": "integer"
                    },
                    "finalized": {
                        "type": "integer"
                    },
                    "notification_failures": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.DashboardNotificationCounts": {
                "properties": {
                    "awaiting_response": {
                        "type": "integer"
                    },
                    "open": {
                        "$ref": "#/components/schemas/model.DashboardOpenNotificationCounts"
                    }
                },
                "type": "object"
            },
            "model.DashboardOpenNotificationCounts": {
                "properties": {
                    "active": {
                        "type": "integer"
                    },
                    "queued": {
                        "type": "integer"
                    },
                    "snoozed": {
                        "type": "integer"
                    },
                    "total": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.DashboardPeriod": {
                "properties": {
                    "bucket_granularity": {
                        "type": "string"
                    },
                    "end_date": {
                        "type": "string"
                    },
                    "preset": {
                        "type": "string"
                    },
                    "start_date": {
                        "type": "string"
                    },
                    "timezone": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.DashboardResponseOutcomeBucket": {
                "properties": {
                    "delivery_failed": {
                        "type": "integer"
                    },
                    "end_date": {
                        "type": "string"
                    },
                    "missed": {
                        "type": "integer"
                    },
                    "resolved_after_snooze": {
                        "type": "integer"
                    },
                    "resolved_without_snooze": {
                        "type": "integer"
                    },
                    "start_date": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.DashboardResponseOutcomes": {
                "properties": {
                    "buckets": {
                        "items": {
                            "$ref": "#/components/schemas/model.DashboardResponseOutcomeBucket"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "median_resolution_seconds": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.DashboardSummary": {
                "properties": {
                    "automations": {
                        "$ref": "#/components/schemas/model.DashboardAutomationCounts"
                    },
                    "delivery": {
                        "$ref": "#/components/schemas/model.DashboardDeliveryCounts"
                    },
                    "notifications": {
                        "$ref": "#/components/schemas/model.DashboardNotificationCounts"
                    },
                    "period": {
                        "$ref": "#/components/schemas/model.DashboardPeriod"
                    },
                    "response_outcomes": {
                        "$ref": "#/components/schemas/model.DashboardResponseOutcomes"
                    }
                },
                "type": "object"
            },
            "model.DeliveryAttemptSummary": {
                "properties": {
                    "attempt_number": {
                        "type": "integer"
                    },
                    "delivery_cycle": {
                        "type": "integer"
                    },
                    "finished_at": {
                        "type": "string"
                    },
                    "http_status": {
                        "type": "integer"
                    },
                    "outcome": {
                        "type": "string"
                    },
                    "safe_error_code": {
                        "type": "string"
                    },
                    "started_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.DeliveryPolicy": {
                "properties": {
                    "completion_grace_seconds": {
                        "type": "integer"
                    },
                    "deadline_seconds": {
                        "type": "integer"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "emergency_escalation_threshold": {
                        "type": "integer"
                    },
                    "important_escalation_threshold": {
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "maximum_prompts": {
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "overlap_enabled": {
                        "type": "boolean"
                    },
                    "repeat_seconds": {
                        "type": "integer"
                    },
                    "response_requirement": {
                        "$ref": "#/components/schemas/model.ResponseRequirement"
                    },
                    "skip_enabled": {
                        "type": "boolean"
                    },
                    "snooze_enabled": {
                        "type": "boolean"
                    },
                    "version": {
                        "type": "integer"
                    }
                },
                "type": "object"
            },
            "model.ExpirationDatePrecision": {
                "enum": [
                    "day",
                    "month"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ExpirationDatePrecisionDay",
                    "ExpirationDatePrecisionMonth"
                ]
            },
            "model.ExpirationReminder": {
                "properties": {
                    "completion_grace_seconds": {
                        "type": "integer"
                    },
                    "date": {
                        "type": "string"
                    },
                    "date_precision": {
                        "$ref": "#/components/schemas/model.ExpirationDatePrecision"
                    },
                    "emergency_escalation_enabled": {
                        "type": "boolean"
                    },
                    "steps": {
                        "items": {
                            "$ref": "#/components/schemas/model.CalendarAlertStep"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "model.ExternalReference": {
                "properties": {
                    "resource_id": {
                        "type": "string"
                    },
                    "resource_type": {
                        "type": "string"
                    },
                    "system": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.JSONExternalReference": {
                "properties": {
                    "reference": {
                        "$ref": "#/components/schemas/model.ExternalReference"
                    }
                },
                "type": "object"
            },
            "model.MeResponse": {
                "properties": {
                    "profile": {
                        "$ref": "#/components/schemas/model.Profile"
                    },
                    "user": {
                        "$ref": "#/components/schemas/model.UserResponse"
                    }
                },
                "type": "object"
            },
            "model.Notification": {
                "properties": {
                    "acknowledged_at": {
                        "type": "string"
                    },
                    "attempt_count": {
                        "type": "integer"
                    },
                    "automatic_reminders_ended_at": {
                        "type": "string"
                    },
                    "automation_id": {
                        "type": "string"
                    },
                    "completed_at": {
                        "type": "string"
                    },
                    "completed_early": {
                        "type": "boolean"
                    },
                    "completion_grace_seconds": {
                        "type": "integer"
                    },
                    "configured_timezone": {
                        "type": "string"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "current_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "deadline_at": {
                        "type": "string"
                    },
                    "delivery_attempts": {
                        "items": {
                            "$ref": "#/components/schemas/model.DeliveryAttemptSummary"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "delivery_retry_expires_at": {
                        "type": "string"
                    },
                    "delivery_window_end": {
                        "type": "string"
                    },
                    "delivery_window_start": {
                        "type": "string"
                    },
                    "due_at": {
                        "type": "string"
                    },
                    "emergency_escalation_threshold": {
                        "type": "integer"
                    },
                    "external_reference": {
                        "$ref": "#/components/schemas/model.JSONExternalReference"
                    },
                    "id": {
                        "type": "string"
                    },
                    "important_escalation_threshold": {
                        "type": "integer"
                    },
                    "initial_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "is_test": {
                        "type": "boolean"
                    },
                    "last_delivery_error_code": {
                        "type": "string"
                    },
                    "maximum_prompts": {
                        "type": "integer"
                    },
                    "maximum_urgency": {
                        "$ref": "#/components/schemas/model.Urgency"
                    },
                    "message": {
                        "type": "string"
                    },
                    "missed_at": {
                        "type": "string"
                    },
                    "next_delivery_attempt_at": {
                        "type": "string"
                    },
                    "next_prompt_at": {
                        "type": "string"
                    },
                    "origin": {
                        "$ref": "#/components/schemas/model.NotificationOrigin"
                    },
                    "prompt_count": {
                        "type": "integer"
                    },
                    "public_id": {
                        "type": "string"
                    },
                    "reminder_id": {
                        "type": "string"
                    },
                    "repeat_seconds": {
                        "type": "integer"
                    },
                    "response_requirement": {
                        "$ref": "#/components/schemas/model.ResponseRequirement"
                    },
                    "skip_enabled": {
                        "type": "boolean"
                    },
                    "skip_note": {
                        "type": "string"
                    },
                    "skipped_at": {
                        "type": "string"
                    },
                    "snooze_enabled": {
                        "type": "boolean"
                    },
                    "snoozed_until": {
                        "type": "string"
                    },
                    "source_label": {
                        "type": "string"
                    },
                    "source_url": {
                        "type": "string"
                    },
                    "state": {
                        "$ref": "#/components/schemas/model.NotificationState"
                    },
                    "state_changed_at": {
                        "type": "string"
                    },
                    "suppressed_at": {
                        "type": "string"
                    },
                    "title": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.NotificationOrigin": {
                "enum": [
                    "automation",
                    "api",
                    "reminder"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "NotificationOriginAutomation",
                    "NotificationOriginAPI",
                    "NotificationOriginReminder"
                ]
            },
            "model.NotificationState": {
                "enum": [
                    "queued",
                    "active",
                    "snoozed",
                    "sent",
                    "acknowledged",
                    "completed",
                    "skipped",
                    "missed",
                    "suppressed",
                    "delivery_failed",
                    "canceled"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "NotificationQueued",
                    "NotificationActive",
                    "NotificationSnoozed",
                    "NotificationSent",
                    "NotificationAcknowledged",
                    "NotificationCompleted",
                    "NotificationSkipped",
                    "NotificationMissed",
                    "NotificationSuppressed",
                    "NotificationDeliveryFailed",
                    "NotificationCanceled"
                ]
            },
            "model.Profile": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "id": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "updated_at": {
                        "type": "string"
                    },
                    "user_id": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.Reminder": {
                "properties": {
                    "birthday": {
                        "$ref": "#/components/schemas/model.BirthdayDate"
                    },
                    "created_at": {
                        "type": "string"
                    },
                    "due_at": {
                        "type": "string"
                    },
                    "expiration": {
                        "$ref": "#/components/schemas/model.ExpirationReminder"
                    },
                    "id": {
                        "type": "string"
                    },
                    "kind": {
                        "$ref": "#/components/schemas/model.ReminderKind"
                    },
                    "message": {
                        "type": "string"
                    },
                    "name": {
                        "type": "string"
                    },
                    "next_due_at": {
                        "type": "string"
                    },
                    "policy": {
                        "$ref": "#/components/schemas/model.DeliveryPolicy"
                    },
                    "state": {
                        "$ref": "#/components/schemas/model.AutomationState"
                    },
                    "status": {
                        "$ref": "#/components/schemas/model.AutomationStatus"
                    },
                    "updated_at": {
                        "type": "string"
                    }
                },
                "type": "object"
            },
            "model.ReminderKind": {
                "enum": [
                    "one_time",
                    "birthday",
                    "expiration"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ReminderKindOneTime",
                    "ReminderKindBirthday",
                    "ReminderKindExpiration"
                ]
            },
            "model.ResponseRequirement": {
                "enum": [
                    "inform",
                    "acknowledge",
                    "complete"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ResponseInform",
                    "ResponseAcknowledge",
                    "ResponseComplete"
                ]
            },
            "model.ScheduleKind": {
                "enum": [
                    "one_time",
                    "daily",
                    "weekly",
                    "monthly",
                    "interval"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "ScheduleOneTime",
                    "ScheduleDaily",
                    "ScheduleWeekly",
                    "ScheduleMonthly",
                    "ScheduleInterval"
                ]
            },
            "model.ScheduleSpec": {
                "properties": {
                    "active_end": {
                        "type": "string"
                    },
                    "active_start": {
                        "type": "string"
                    },
                    "day_of_month": {
                        "type": "integer"
                    },
                    "interval_unit": {
                        "type": "string"
                    },
                    "interval_value": {
                        "type": "integer"
                    },
                    "kind": {
                        "$ref": "#/components/schemas/model.ScheduleKind"
                    },
                    "one_time_at": {
                        "type": "string"
                    },
                    "times": {
                        "items": {
                            "type": "string"
                        },
                        "type": "array",
                        "uniqueItems": false
                    },
                    "version": {
                        "type": "integer"
                    },
                    "weekdays": {
                        "items": {
                            "type": "integer"
                        },
                        "type": "array",
                        "uniqueItems": false
                    }
                },
                "type": "object"
            },
            "model.Urgency": {
                "enum": [
                    "routine",
                    "important",
                    "emergency"
                ],
                "type": "string",
                "x-enum-varnames": [
                    "UrgencyRoutine",
                    "UrgencyImportant",
                    "UrgencyEmergency"
                ]
            },
            "model.UserResponse": {
                "properties": {
                    "created_at": {
                        "type": "string"
                    },
                    "email": {
                        "type": "string"
                    },
                    "has_password": {
                        "type": "boolean"
                    },
                    "id": {
                        "type": "string"
                    },
                    "onboarded_at": {
                        "type": "string"
                    },
                    "pending_email": {
                        "type": "string"
                    }
                },
                "type": "object"
            }
        },
        "securitySchemes": {
            "BearerAPIKey": {
                "bearerFormat": "opaque",
                "description": "Account-owned server-to-server API key.",
                "scheme": "bearer",
                "type": "http"
            },
            "CSRFToken": {
                "description": "CSRF token returned by GET /v1/session.",
                "in": "header",
                "name": "X-CSRF-Token",
                "type": "apiKey"
            },
            "SessionCookie": {
                "description": "Opaque browser session cookie.",
                "in": "cookie",
                "name": "session_id",
                "type": "apiKey"
            }
        }
    },
    "externalDocs": {
        "description": "",
        "url": ""
    },
    "info": {
        "description": "Private notification orchestration and accountability API.",
        "title": "Anchor API",
        "version": "1.0.0"
    },
    "openapi": "3.1.0",
    "paths": {
        "/v1/anchor-settings": {
            "get": {
                "description": "Returns sanitized Anchor settings. API keys require the anchor:read action.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.AnchorSettings"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get Anchor settings",
                "tags": [
                    "settings"
                ]
            },
            "patch": {
                "description": "Updates Anchor settings, including optional Pushover credentials. Clearing credentials requires no Active Automation with a future scheduled run. Omitted delivery defaults use backend defaults for initial settings and retain saved values afterward. API keys require the anchor:manage action.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.settingsRequest",
                                "description": "Settings",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Settings",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.AnchorSettings"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Bad Request"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "active_automations_require_delivery when credential clearing is blocked"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Update Anchor settings",
                "tags": [
                    "settings"
                ]
            }
        },
        "/v1/anchor-settings/pushover-test": {
            "post": {
                "description": "Sends a Pushover test notification. API keys require the anchor:manage action.",
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "delivery_integration_required when Pushover is not connected"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    },
                    "503": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Service Unavailable"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Test Pushover connection",
                "tags": [
                    "settings"
                ]
            }
        },
        "/v1/automations": {
            "get": {
                "description": "Lists owner-scoped automations. API keys require the anchor:read action.",
                "parameters": [
                    {
                        "description": "Page size: 25, 50, or 100",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "type": "integer"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Case-insensitive name or notification-title search",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Automation state",
                        "in": "query",
                        "name": "state",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Derived schedule status: active, paused, or ended",
                        "in": "query",
                        "name": "status",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Response requirement",
                        "in": "query",
                        "name": "response_requirement",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Initial urgency",
                        "in": "query",
                        "name": "urgency",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Schedule kind",
                        "in": "query",
                        "name": "schedule_kind",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Sort field: next_notification, name, state, or status",
                        "in": "query",
                        "name": "sort",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Sort direction: asc or desc",
                        "in": "query",
                        "name": "direction",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/handler.automationsListResponse"
                                }
                            }
                        },
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "List automations",
                "tags": [
                    "automations"
                ]
            },
            "post": {
                "description": "Creates an owner-scoped scheduled automation. Omitted delivery controls inherit the owner's current backend settings. API keys require the anchor:manage action.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.automationRequest",
                                "description": "Automation",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Automation",
                    "required": true
                },
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Automation"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "delivery_integration_required for an Active Automation without Pushover"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Create automation",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/automations/bulk-actions": {
            "post": {
                "description": "Pauses, resumes, or deletes up to 100 owner-scoped automations. Resume results fail safely when Pushover is not connected. Valid batches return per-item results. API keys require anchor:manage.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.bulkAutomationRequest",
                                "description": "Bulk action",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Bulk action",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.BulkAutomationResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Bulk automation action",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/automations/preview": {
            "post": {
                "description": "Validates an automation schedule and policy without persisting it, then returns the next no-action delivery sequence. API keys require the anchor:manage action.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.automationPreviewRequest",
                                "description": "Automation preview",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Automation preview",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.AutomationPreview"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Preview automation delivery sequence",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/automations/{automation_id}": {
            "delete": {
                "description": "Permanently deletes an automation and its operational state. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Automation ID",
                        "in": "path",
                        "name": "automation_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Delete automation",
                "tags": [
                    "automations"
                ]
            },
            "get": {
                "description": "Returns one owner-scoped automation. API keys require the anchor:read action.",
                "parameters": [
                    {
                        "description": "Automation ID",
                        "in": "path",
                        "name": "automation_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Automation"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get automation",
                "tags": [
                    "automations"
                ]
            },
            "patch": {
                "description": "Updates future automation configuration. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Automation ID",
                        "in": "path",
                        "name": "automation_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/merge-patch+json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.automationRequest"
                            }
                        }
                    },
                    "description": "Automation merge patch",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Automation"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "delivery_integration_required when activating without Pushover"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Update automation",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/automations/{automation_id}/complete-next": {
            "post": {
                "description": "Records the exact next scheduled run as completed without creating delivery work, then advances the Automation schedule. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Automation ID",
                        "in": "path",
                        "name": "automation_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.completeNextAutomationRequest",
                                "description": "Expected next scheduled run",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Expected next scheduled run",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.CompleteNextAutomationResponse"
                                }
                            }
                        },
                        "description": "Idempotent replay"
                    },
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.CompleteNextAutomationResponse"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Run unavailable, already started, or blocked by an open Notification"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Complete next automation run early",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/automations/{automation_id}/duplicate": {
            "post": {
                "description": "Creates a paused copy of an automation. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Automation ID",
                        "in": "path",
                        "name": "automation_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Automation"
                                }
                            }
                        },
                        "description": "Created"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Duplicate automation",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/automations/{automation_id}/trigger": {
            "post": {
                "description": "Creates an immediate test notification from the stored automation. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Automation ID",
                        "in": "path",
                        "name": "automation_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "delivery_integration_required when Pushover is not connected"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Trigger automation now",
                "tags": [
                    "automations"
                ]
            }
        },
        "/v1/birthday-policy": {
            "get": {
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.BirthdayPolicyResource"
                                }
                            }
                        },
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get birthday policy",
                "tags": [
                    "reminders"
                ]
            },
            "patch": {
                "requestBody": {
                    "content": {
                        "application/merge-patch+json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.birthdayPolicyPatchRequest"
                            }
                        }
                    },
                    "description": "Birthday policy merge patch",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.BirthdayPolicyResource"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Update birthday policy",
                "tags": [
                    "reminders"
                ]
            }
        },
        "/v1/dashboard": {
            "get": {
                "description": "Returns point-in-time operational counts and account-timezone response and delivery analytics. API keys require the anchor:read action.",
                "parameters": [
                    {
                        "description": "Analytics period",
                        "in": "query",
                        "name": "period",
                        "schema": {
                            "default": "7d",
                            "enum": [
                                "7d",
                                "30d"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.DashboardSummary"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get Dashboard analytics",
                "tags": [
                    "dashboard"
                ]
            }
        },
        "/v1/me": {
            "get": {
                "description": "Returns stable user and profile data for browser sessions or API keys with account:read access.",
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.MeResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "401": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unauthorized"
                    },
                    "403": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Forbidden"
                    },
                    "500": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Internal Server Error"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get current account",
                "tags": [
                    "account"
                ]
            }
        },
        "/v1/notifications": {
            "get": {
                "description": "Lists owner-scoped notifications with server-side search, filtering, stable sorting, and opaque cursor pagination. Date filters use the account home timezone. API keys require the anchor:read action.",
                "parameters": [
                    {
                        "description": "Page size from 1 to 100",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "default": 25,
                            "type": "integer"
                        }
                    },
                    {
                        "description": "Opaque pagination cursor",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Case-insensitive title and message search",
                        "in": "query",
                        "name": "search",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Lifecycle group",
                        "in": "query",
                        "name": "status_group",
                        "schema": {
                            "enum": [
                                "needs_attention",
                                "history"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Exact Notification state",
                        "in": "query",
                        "name": "state",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Notification origin",
                        "in": "query",
                        "name": "origin",
                        "schema": {
                            "enum": [
                                "automation",
                                "api",
                                "reminder"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Response requirement",
                        "in": "query",
                        "name": "response_requirement",
                        "schema": {
                            "enum": [
                                "inform",
                                "acknowledge",
                                "complete"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Current urgency",
                        "in": "query",
                        "name": "urgency",
                        "schema": {
                            "enum": [
                                "routine",
                                "important",
                                "emergency"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Automation ID",
                        "in": "query",
                        "name": "automation_id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Reminder ID",
                        "in": "query",
                        "name": "reminder_id",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Inclusive due date in YYYY-MM-DD",
                        "in": "query",
                        "name": "due_from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Inclusive due date in YYYY-MM-DD",
                        "in": "query",
                        "name": "due_to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Inclusive resolved date in YYYY-MM-DD",
                        "in": "query",
                        "name": "resolved_from",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Inclusive resolved date in YYYY-MM-DD",
                        "in": "query",
                        "name": "resolved_to",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Sort field",
                        "in": "query",
                        "name": "sort",
                        "schema": {
                            "enum": [
                                "next_action",
                                "resolved_at",
                                "due_at",
                                "title",
                                "state"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Sort direction",
                        "in": "query",
                        "name": "direction",
                        "schema": {
                            "enum": [
                                "asc",
                                "desc"
                            ],
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/handler.notificationsListResponse"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "400": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "invalid_cursor when the cursor does not match the view"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "List notifications",
                "tags": [
                    "notifications"
                ]
            },
            "post": {
                "description": "Creates an immediate notification. Omitted policy fields inherit product and account defaults. API keys require the notifications:create action.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.notificationRequest",
                                "description": "Notification",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Notification",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "delivery_integration_required or idempotency_conflict"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Create notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/notifications/{notification_id}": {
            "get": {
                "description": "Returns one owner-scoped notification. API keys require the anchor:read action.",
                "parameters": [
                    {
                        "description": "Notification ID",
                        "in": "path",
                        "name": "notification_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/notifications/{notification_id}/acknowledge": {
            "post": {
                "description": "Applies an action to an owner-scoped notification. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Notification ID",
                        "in": "path",
                        "name": "notification_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.responseRequest",
                                "description": "Action parameters",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Action parameters"
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Respond to notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/notifications/{notification_id}/cancel": {
            "post": {
                "description": "Applies an action to an owner-scoped notification. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Notification ID",
                        "in": "path",
                        "name": "notification_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.responseRequest",
                                "description": "Action parameters",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Action parameters"
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Respond to notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/notifications/{notification_id}/complete": {
            "post": {
                "description": "Applies an action to an owner-scoped notification. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Notification ID",
                        "in": "path",
                        "name": "notification_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.responseRequest",
                                "description": "Action parameters",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Action parameters"
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Respond to notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/notifications/{notification_id}/skip": {
            "post": {
                "description": "Applies an action to an owner-scoped notification. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Notification ID",
                        "in": "path",
                        "name": "notification_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.responseRequest",
                                "description": "Action parameters",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Action parameters"
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Respond to notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/notifications/{notification_id}/snooze": {
            "post": {
                "description": "Postpones an owner-scoped notification and replays the same escalation step and urgency at the requested time. Explicit snooze times bypass quiet hours and delivery windows but must be in the future and strictly before the fixed deadline. API keys require the anchor:manage action.",
                "parameters": [
                    {
                        "description": "Notification ID",
                        "in": "path",
                        "name": "notification_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.responseRequest",
                                "description": "Snooze parameters",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Snooze parameters",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Notification"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Snooze notification",
                "tags": [
                    "notifications"
                ]
            }
        },
        "/v1/reminders": {
            "get": {
                "parameters": [
                    {
                        "description": "Reminder kind",
                        "in": "query",
                        "name": "kind",
                        "schema": {
                            "enum": [
                                "one_time",
                                "birthday",
                                "expiration"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Derived status",
                        "in": "query",
                        "name": "status",
                        "schema": {
                            "enum": [
                                "active",
                                "paused",
                                "ended"
                            ],
                            "type": "string"
                        }
                    },
                    {
                        "description": "Name search",
                        "in": "query",
                        "name": "q",
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "description": "Page size from 1 to 100",
                        "in": "query",
                        "name": "limit",
                        "schema": {
                            "default": 25,
                            "type": "integer"
                        }
                    },
                    {
                        "description": "Opaque cursor",
                        "in": "query",
                        "name": "cursor",
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/handler.remindersListResponse"
                                }
                            }
                        },
                        "description": "OK"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "List reminders",
                "tags": [
                    "reminders"
                ]
            },
            "post": {
                "description": "Creates an owner-scoped one-time, birthday, or expiration Reminder. Actionable one-time Reminders are snoozable by default unless policy.snooze_enabled is false. Notify-once Reminders remain terminal after delivery and cannot be snoozed. Expiration dates and alert steps use the owner's Anchor home timezone. API keys require the anchor:manage action.",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.reminderCreateRequest",
                                "description": "Reminder",
                                "summary": "request"
                            }
                        }
                    },
                    "description": "Reminder",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Reminder"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "201": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Reminder"
                                }
                            }
                        },
                        "description": "Created"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Create reminder",
                "tags": [
                    "reminders"
                ]
            }
        },
        "/v1/reminders/{reminder_id}": {
            "delete": {
                "parameters": [
                    {
                        "description": "Reminder ID",
                        "in": "path",
                        "name": "reminder_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "204": {
                        "description": "No Content"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Delete reminder",
                "tags": [
                    "reminders"
                ]
            },
            "get": {
                "parameters": [
                    {
                        "description": "Reminder ID",
                        "in": "path",
                        "name": "reminder_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Reminder"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    }
                },
                "security": [
                    {
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Get reminder",
                "tags": [
                    "reminders"
                ]
            },
            "patch": {
                "description": "Updates a Reminder with JSON Merge Patch. For a one-time Reminder, due_at or local_due_at may replace the due time; local_due_at is resolved once in the owner's current Anchor home timezone. Expiration date, precision, and alert-policy changes update an unstarted occurrence or safely supersede an active occurrence while preserving its history. Nonexistent DST wall times are rejected; ambiguous times use the earlier instant.",
                "parameters": [
                    {
                        "description": "Reminder ID",
                        "in": "path",
                        "name": "reminder_id",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "requestBody": {
                    "content": {
                        "application/merge-patch+json": {
                            "schema": {
                                "$ref": "#/components/schemas/handler.reminderPatchRequest"
                            }
                        }
                    },
                    "description": "Reminder merge patch",
                    "required": true
                },
                "responses": {
                    "200": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/model.Reminder"
                                }
                            }
                        },
                        "description": "OK"
                    },
                    "404": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Not Found"
                    },
                    "409": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Conflict"
                    },
                    "422": {
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/api.Problem"
                                }
                            }
                        },
                        "description": "Unprocessable Entity"
                    }
                },
                "security": [
                    {
                        "CSRFToken": [],
                        "SessionCookie": []
                    },
                    {
                        "BearerAPIKey": []
                    }
                ],
                "summary": "Update reminder",
                "tags": [
                    "reminders"
                ]
            }
        }
    },
    "servers": [
        {
            "description": "Local development server",
            "url": "http://localhost:8090/"
        }
    ]
}
