Create a service.
const url = 'https://api.siteqwality.com/service';const options = { method: 'POST', headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'}, body: '{"name":"example","description":"example","escalation_policy_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","incident_creation_mode":"auto","incident_merge_window_minutes":1,"auto_publish_to_status_page_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0","default_incident_severity":"minor","public_incident_template":{"title":"example","message":"example","resolved_message":"example"},"reopen_window_minutes":1,"auto_resolve":"always","owner_team":"example","tags":["example"],"on_call_schedule_id":"2489E9AD-2EE2-8E00-8EC9-32D5F69181C0"}'};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request POST \ --url https://api.siteqwality.com/service \ --header 'Authorization: Bearer <token>' \ --header 'Content-Type: application/json' \ --data '{ "name": "example", "description": "example", "escalation_policy_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "incident_creation_mode": "auto", "incident_merge_window_minutes": 1, "auto_publish_to_status_page_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0", "default_incident_severity": "minor", "public_incident_template": { "title": "example", "message": "example", "resolved_message": "example" }, "reopen_window_minutes": 1, "auto_resolve": "always", "owner_team": "example", "tags": [ "example" ], "on_call_schedule_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0" }'Authorizations
Section titled “Authorizations ”Request Body required
Section titled “Request Body required ”object
Deprecated and unused.
What a service’s incidents say on a status page (services.public_incident_template).
object
The public title; auto-published incidents never show the monitor’s name.
The first public update when the incident is published.
The public “Resolved” update.
0 to 1440; default 30.
At most 256 characters.
At most 20 tags of 256 characters; blanks and repeats are dropped.
An on-call schedule in the account (404 otherwise).
Responses
Section titled “ Responses ”Service created
object
Whether a failing monitor opens an incident on its service.
Deprecated and unused: every failure joins the service’s open auto incident.
A failure this many minutes after a resolved auto incident’s last alert reopens it; 0 never does.
Whether an auto-created incident resolves itself once every monitor recovers.
When the service was switched off; while set its monitors open no auto incidents.
Prefills Publish and words auto-published incidents.
object
The public title; auto-published incidents never show the monitor’s name.
The first public update when the incident is published.
The public “Resolved” update.
The team that owns the service; filter the list with team.
Free-form labels; filter the list with tag.
Who is on call for this service; without it, the escalation policy’s first level.
The roll-up of incidents, monitors, maintenance and on call. On the list and get routes.
object
The worst of incident and monitor state. Maintenance never changes it.
A maintenance window naming this service is running now. It holds paging, never the status.
Linked monitors failing now; paused ones are left out.
When the newest incident on the service opened.
The service’s on-call schedule, else every user and schedule on the policy’s first level.
One person on call for a service right now.
object
The schedule that puts them on call; absent for a user named on the policy directly.
When the schedule hands off; absent for a direct user or past 90 days.
Example
{ "incident_creation_mode": "auto", "auto_resolve": "always", "default_incident_severity": "minor", "health": { "status": "operational" }}Invalid request body
Missing or invalid authentication
Escalation policy, on-call schedule or auto-publish status page not found
The account has as many services as it may (service_limit_reached)
Internal server error