Skip to content
Get started

Get details on a specific SLA violation

slas.retrieve_violation(strviolation_urn, SlaRetrieveViolationParams**kwargs) -> SlaRetrieveViolationResponse
GET/v1/slas/{sla_urn}/violations/{violation_urn}

Get details on a specific SLA violation

ParametersExpand Collapse
sla_urn: str
violation_urn: str
ReturnsExpand Collapse
class SlaRetrieveViolationResponse:
allowable_downtime_hours: float

The total number of allowable downtime hours during the evaluation period, as defined by the SLA's terms

data_source: DataSource

The data source used to determine the violation.

Accepts one of the following:
class DataSourceAPIStatusPageSlaDataSource:
excluded_product_tags: List[str]

A list of incident tags that are excluded from the SLA's calculations

included_product_tags: List[str]

A list of incident tags that are included in the SLA's calculations

urn: str

A unique identifier for the data source

data_source_type: Optional[Literal["STATUS_PAGE"]]

The type of the data source

class DataSourceAPIMonitorSlaDataSource:
description: Optional[str]

The monitor's description

name: str

The monitor's display name

urn: str

A unique identifier for the data source

data_source_type: Optional[Literal["MONITOR"]]

The type of the data source

data_source_type: Literal["STATUS_PAGE", "MONITOR"]

The type of data source used to determine the violation.

Accepts one of the following:
"STATUS_PAGE"
"MONITOR"
downtime_events: List[DowntimeEvent]

A list of downtime events that occurred during the evaluation period and contributed to the SLA violation

duration_hours: float

The duration of the downtime event in hours

end_time: datetime

The end time of the downtime event

formatdate-time
name: str

The display name of the downtime event

start_time: datetime

The start time of the downtime event

formatdate-time
downtime_hours: float

The total number of downtime hours during the evaluation period

evaluation_period: EvaluationPeriod

The evaluation period during which the SLA violation occurred. The length of the period is determined by the SLA's configured evaluation window (for example: monthly or quarterly).

end_month: EvaluationPeriodEndMonth

The month in which the SLA violation ended. Null if the violation is ongoing.

month: int

The month number (1-12)

year: int

The year of the month

start_month: EvaluationPeriodStartMonth

The month in which the SLA violation started

month: int

The month number (1-12)

year: int

The year of the month

sla: Sla

The SLA that was violated

description: str

A description of the SLA

name: str

The name of the SLA

urn: str

A unique identifier for the SLA

vendor_urn: str

A unique identifier for the vendor associated with the SLA

uptime_percentage: float

The percentage of uptime during the evaluation period

urn: str

A unique identifier composed of the SLA URN and the evaluation period

vendor: Vendor

The vendor responsible for the violation

created_at: datetime

An ISO-8601-formatted timestamp representing when the vendor was created (UTC)

formatdate-time
description: Optional[str]

The vendor's description

name: str

The vendor's display name

urn: str

A unique identifier for the vendor

Get details on a specific SLA violation

import os
from clarative import Clarative

client = Clarative(
    api_key=os.environ.get("CLARATIVE_API_KEY"),  # This is the default and can be omitted
)
response = client.slas.retrieve_violation(
    violation_urn="violation_urn",
    sla_urn="sla_urn",
)
print(response.allowable_downtime_hours)
{
  "allowable_downtime_hours": 0,
  "data_source": {
    "excluded_product_tags": [
      "string"
    ],
    "included_product_tags": [
      "string"
    ],
    "urn": "urn",
    "data_source_type": "STATUS_PAGE"
  },
  "data_source_type": "STATUS_PAGE",
  "downtime_events": [
    {
      "duration_hours": 0,
      "end_time": "2019-12-27T18:11:19.117Z",
      "name": "name",
      "start_time": "2019-12-27T18:11:19.117Z"
    }
  ],
  "downtime_hours": 0,
  "evaluation_period": {
    "end_month": {
      "month": 0,
      "year": 0
    },
    "start_month": {
      "month": 0,
      "year": 0
    }
  },
  "sla": {
    "description": "description",
    "name": "name",
    "urn": "urn",
    "vendor_urn": "vendor_urn"
  },
  "uptime_percentage": 0,
  "urn": "urn",
  "vendor": {
    "created_at": "2019-12-27T18:11:19.117Z",
    "description": "description",
    "name": "name",
    "urn": "urn"
  }
}
Returns Examples
{
  "allowable_downtime_hours": 0,
  "data_source": {
    "excluded_product_tags": [
      "string"
    ],
    "included_product_tags": [
      "string"
    ],
    "urn": "urn",
    "data_source_type": "STATUS_PAGE"
  },
  "data_source_type": "STATUS_PAGE",
  "downtime_events": [
    {
      "duration_hours": 0,
      "end_time": "2019-12-27T18:11:19.117Z",
      "name": "name",
      "start_time": "2019-12-27T18:11:19.117Z"
    }
  ],
  "downtime_hours": 0,
  "evaluation_period": {
    "end_month": {
      "month": 0,
      "year": 0
    },
    "start_month": {
      "month": 0,
      "year": 0
    }
  },
  "sla": {
    "description": "description",
    "name": "name",
    "urn": "urn",
    "vendor_urn": "vendor_urn"
  },
  "uptime_percentage": 0,
  "urn": "urn",
  "vendor": {
    "created_at": "2019-12-27T18:11:19.117Z",
    "description": "description",
    "name": "name",
    "urn": "urn"
  }
}