# Slas ## List Data Sources **get** `/v1/slas/{sla_urn}/data-sources` List all data sources for an SLA ### Path Parameters - `sla_urn: string` ### Returns - `monitor_data_sources: array of object { description, name, urn, data_source_type }` A list of any monitor data sources associated with the SLA - `description: string` The monitor's description - `name: string` The monitor's display name - `urn: string` A unique identifier for the data source - `data_source_type: optional "MONITOR"` The type of the data source - `"MONITOR"` - `sla_urn: string` A unique identifier for the SLA associated with this data source - `status_page_data_source: object { excluded_product_tags, included_product_tags, urn, data_source_type }` The SLA's data source for incidents pulled from vendor status pages, if applicable - `excluded_product_tags: array of string` A list of incident tags that are excluded from the SLA's calculations - `included_product_tags: array of string` 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: optional "STATUS_PAGE"` The type of the data source - `"STATUS_PAGE"` - `vendor_urn: string` A unique identifier for the vendor associated with this data source ### Example ```http curl https://developer.clarative.ai/v1/slas/$SLA_URN/data-sources \ -H "Authorization: Bearer $CLARATIVE_API_KEY" ``` ## List Violations **get** `/v1/slas/{sla_urn}/violations` List all violations for an SLA ### Path Parameters - `sla_urn: string` ### Query Parameters - `data_source_urn: optional string` An SLA data source's unique identifier - `timeframe_end: optional string` Year and month landing within the last SLA evaluation period to include in the result, in the format YYYY-MM - `timeframe_start: optional string` Year and month landing within the first SLA evaluation period to include in the result, in the format YYYY-MM ### Returns - `allowable_downtime_hours: number` The total number of allowable downtime hours during the evaluation period, as defined by the SLA's terms - `data_source_type: "STATUS_PAGE" or "MONITOR"` The type of data source used to determine the violation. - `"STATUS_PAGE"` - `"MONITOR"` - `downtime_hours: number` The total number of downtime hours during the evaluation period - `evaluation_period: object { end_month, start_month }` 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: object { month, year }` 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: object { month, year }` The month in which the SLA violation started - `month: number` The month number (1-12) - `year: number` The year of the month - `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 ### Example ```http curl https://developer.clarative.ai/v1/slas/$SLA_URN/violations \ -H "Authorization: Bearer $CLARATIVE_API_KEY" ``` ## List **get** `/v1/slas` List all SLAs ### Returns - `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 ### Example ```http curl https://developer.clarative.ai/v1/slas \ -H "Authorization: Bearer $CLARATIVE_API_KEY" ``` ## Retrieve Violation **get** `/v1/slas/{sla_urn}/violations/{violation_urn}` Get details on a specific SLA violation ### Path Parameters - `sla_urn: string` - `violation_urn: string` ### Returns - `allowable_downtime_hours: number` The total number of allowable downtime hours during the evaluation period, as defined by the SLA's terms - `data_source: object { excluded_product_tags, included_product_tags, urn, data_source_type } or object { description, name, urn, data_source_type }` The data source used to determine the violation. - `APIStatusPageSlaDataSource = object { excluded_product_tags, included_product_tags, urn, data_source_type }` - `excluded_product_tags: array of string` A list of incident tags that are excluded from the SLA's calculations - `included_product_tags: array of string` 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: optional "STATUS_PAGE"` The type of the data source - `"STATUS_PAGE"` - `APIMonitorSlaDataSource = object { description, name, urn, data_source_type }` - `description: string` The monitor's description - `name: string` The monitor's display name - `urn: string` A unique identifier for the data source - `data_source_type: optional "MONITOR"` The type of the data source - `"MONITOR"` - `data_source_type: "STATUS_PAGE" or "MONITOR"` The type of data source used to determine the violation. - `"STATUS_PAGE"` - `"MONITOR"` - `downtime_events: array of object { duration_hours, end_time, name, start_time }` 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: object { end_month, start_month }` 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: object { month, year }` 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: object { month, year }` The month in which the SLA violation started - `month: number` The month number (1-12) - `year: number` The year of the month - `sla: object { description, name, urn, vendor_urn }` 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: object { created_at, description, name, urn }` The vendor responsible for the violation - `created_at: string` An ISO-8601-formatted timestamp representing when the vendor was created (UTC) - `description: string` The vendor's description - `name: string` The vendor's display name - `urn: string` A unique identifier for the vendor ### Example ```http curl https://developer.clarative.ai/v1/slas/$SLA_URN/violations/$VIOLATION_URN \ -H "Authorization: Bearer $CLARATIVE_API_KEY" ``` ## Retrieve **get** `/v1/slas/{urn}` Fetch in-depth information about a single SLA ### Path Parameters - `urn: string` ### Returns - `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 ### Example ```http curl https://developer.clarative.ai/v1/slas/$URN \ -H "Authorization: Bearer $CLARATIVE_API_KEY" ``` ## Get Uptime Metrics **get** `/v1/slas/{sla_urn}/data-sources/{data_source_urn}/uptime-metrics` Get uptime metrics for an SLA data source ### Path Parameters - `sla_urn: string` - `data_source_urn: string` ### Query Parameters - `timeframe_end: optional string` Year and month landing within the last SLA evaluation period to include in the result, in the format YYYY-MM - `timeframe_start: optional string` Year and month landing within the first SLA evaluation period to include in the result, in the format YYYY-MM ### Returns - `data_source_urn: string` The unique identifier of the data source - `downtime_events: array of object { duration_hours, end_time, name, start_time }` A list of downtime events that occurred during the timeframe - `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 timeframe - `sla_urn: string` The unique identifier of the SLA - `timeframe: object { end, start }` The timeframe for which the uptime metrics are calculated - `end: string` The ISO-formatted end datetime of the timeframe for which the metrics are calculated - `start: string` The ISO-formatted start datetime of the timeframe for which the metrics are calculated - `uptime_percentage: number` The percentage of uptime during the timeframe - `vendor_urn: string` The unique identifier of the vendor ### Example ```http curl https://developer.clarative.ai/v1/slas/$SLA_URN/data-sources/$DATA_SOURCE_URN/uptime-metrics \ -H "Authorization: Bearer $CLARATIVE_API_KEY" ```