## Retrieve Violation `client.slas.retrieveViolation(stringviolationUrn, SlaRetrieveViolationParamsparams, RequestOptionsoptions?): SlaRetrieveViolationResponse` **get** `/v1/slas/{sla_urn}/violations/{violation_urn}` Get details on a specific SLA violation ### Parameters - `violationUrn: string` - `params: SlaRetrieveViolationParams` - `sla_urn: string` ### Returns - `SlaRetrieveViolationResponse` - `allowable_downtime_hours: number` The total number of allowable downtime hours during the evaluation period, as defined by the SLA's terms - `data_source: APIStatusPageSlaDataSource | APIMonitorSlaDataSource` The data source used to determine the violation. - `APIStatusPageSlaDataSource` - `excluded_product_tags: Array` A list of incident tags that are excluded from the SLA's calculations - `included_product_tags: Array` A list of incident tags that are included in the SLA's calculations - `urn: string` A unique identifier for the data source - `data_source_type?: "STATUS_PAGE"` The type of the data source - `"STATUS_PAGE"` - `APIMonitorSlaDataSource` - `description: string | null` The monitor's description - `name: string` The monitor's display name - `urn: string` A unique identifier for the data source - `data_source_type?: "MONITOR"` The type of the data source - `"MONITOR"` - `data_source_type: "STATUS_PAGE" | "MONITOR"` The type of data source used to determine the violation. - `"STATUS_PAGE"` - `"MONITOR"` - `data_source_urn: string` The unique identifier of the data source used to determine the violation - `downtime_events: Array` A list of downtime events that occurred during the evaluation period and contributed to the SLA violation - `duration_hours: number` The duration of the downtime event in hours - `end_time: string` The end time of the downtime event - `name: string` The display name of the downtime event - `start_time: string` The start time of the downtime event - `downtime_hours: number` 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: EndMonth` The month in which the SLA violation ended. Null if the violation is ongoing. - `month: number` The month number (1-12) - `year: number` The year of the month - `start_month: StartMonth` The month in which the SLA violation started - `month: number` The month number (1-12) - `year: number` The year of the month - `sla: Sla` The SLA that was violated - `description: string` A description of the SLA - `name: string` The name of the SLA - `urn: string` A unique identifier for the SLA - `vendor_urn: string` A unique identifier for the vendor associated with the SLA - `uptime_percentage: number` The percentage of uptime during the evaluation period - `urn: string` A unique identifier composed of the SLA URN and the evaluation period - `vendor: Vendor` The vendor responsible for the violation - `created_at: string` An ISO-8601-formatted timestamp representing when the vendor was created (UTC) - `description: string | null` The vendor's description - `name: string` The vendor's display name - `urn: string` A unique identifier for the vendor ### Example ```typescript import Clarative from 'clarative'; const client = new Clarative({ apiKey: process.env['CLARATIVE_API_KEY'], // This is the default and can be omitted }); const response = await client.slas.retrieveViolation('violation_urn', { sla_urn: 'sla_urn' }); console.log(response.allowable_downtime_hours); ```