Get a service's SLA report
One calendar month in UTC, the current one by default (measured up to
now, complete: false). The targets are the service's tier as it
read at the end of the month, with the service's own overrides.
Availability is summed over the Uptime monitors tied to the service;
response and resolution come from the On-Call alerts raised by the
integrations and monitors tied to it, per severity.
Each part says measured, not_connected or unavailable; one
part that cannot be measured never fails the report. Measurement runs
around the clock: support hours are shown but not applied yet.
Requires the catalog:component:read scope.
Authorization
Parameters
Path parameters
refstring requiredThe service's ID (cmp_…) or its slug.
Query parameters
monthstringYYYY-MM, from 2020-01 to the current month.
Responses
200
The report.
dataSLAReportShow SLAReport properties
component_idstringmonthstringfromstringtostringcompletebooleanFalse for the current month, measured up to now.tierobject | nullidstringnamestringversioninteger
targetsSLATargetsShow SLATargets properties
availabilitynumberA percentage above 0 and at most 100, up to 3 decimals.responseobjectMinutes to acknowledge, per On-Call severity (critical,high,medium,low,info), 1 to 525600.resolutionobjectMinutes to resolve, per severity.support_hoursobjectkindstring requiredtimezonestringdaysarray of integerISO weekdays, 1 is Monday.fromstringtostring
max_unowned_daysinteger
availabilityobjectstatusMeasureStatustargetnumber | nulluptimenumber | nulltotal_checksintegerup_checksintegermetboolean | nullmonitorsarray of objectidstringnamestringtotal_checksintegerup_checksintegeruptimenumber | null
alertsobjectstatusMeasureStatusseveritiesarray of objectseveritystringalertsintegeracknowledgedintegerresolvedintegeropenintegerresponse_targetinteger | nullresolution_targetinteger | nullack_p50_snumber | nullack_p90_snumber | nullresolve_p50_snumber | nullresolve_p90_snumber | nullack_breachesintegerresolve_breachesintegerresponse_metboolean | nullresolution_metboolean | null
400
The request is not valid: a field or filter value is wrong
(VALIDATION_ERROR, with a sentence saying what), the body is not
the expected JSON or carries an unknown field (INVALID_BODY), the
cursor is not one this list gave (INVALID_CURSOR), a binding names
a service that does not exist (UNKNOWN_COMPONENT), or a PATCH
tries to change a slug (SLUG_IMMUTABLE).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
401
No API key was sent, or it is unknown, revoked or expired (UNAUTHORIZED).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
403
The key lacks a scope this endpoint needs (FORBIDDEN).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
404
Nothing with this ID (or slug) exists in the organization (NOT_FOUND).
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
429
Too many requests (RATE_LIMITED). Wait for Retry-After seconds.
Retry-AfterintegerSeconds to wait before retrying.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
500
Something went wrong on EvoHub's side (INTERNAL_ERROR). Retry later.
errorobject requiredcodestring requiredmessagestring requiredrequest_idstring
Example request
curl -X GET 'https://evohub.io/api/v1/catalog/components/payments-api/sla-report' \
-H 'Authorization: Bearer <TOKEN>'
