Skip to content
Closed
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
15 changes: 13 additions & 2 deletions src/hyperping/models/_oncall_models.py
Original file line number Diff line number Diff line change
Expand Up @@ -6,11 +6,22 @@


class OnCallSchedule(BaseModel):
"""On-call rotation schedule."""
"""On-call rotation schedule.

.. note::
This model has not been validated against a real API response. Neither
the production nor the test account had any on-call schedules configured
as of 2026-06-13 (re-probed via MCP). The declared fields are inferred
from the MCP tool description. Additional fields (rotation config,
linked escalation policies) may exist in the actual response and will
land in ``model_extra`` due to ``extra="allow"``. Re-run the MCP probe
after creating at least one schedule and reconcile this model against
the real response shape (ticket #333911).
"""

model_config = ConfigDict(extra="allow", populate_by_name=True, frozen=True)

uuid: str = Field(..., description="Schedule UUID")
uuid: str = Field(..., description="Schedule UUID (format: \"sch_...\")")
name: str = Field(..., description="Schedule name")
current_on_call: str | None = Field(
default=None, alias="currentOnCall", description="Current on-call person"
Expand Down