Create SLA policy
POST/omnichannel/sla-policies
Creates an SLA policy that defines first-response, escalation, and resolution time targets in minutes. Conditions restrict which conversations the policy applies to. Conversations routed through a channel profile inherit the applicable SLA policy.
Request
Request body
Content type application/json (required).
| Field | Type | Required | Description |
|---|---|---|---|
name | string | Yes | Human-readable SLA policy name. Max length: 180 |
first_response_minutes | integer | No | Maximum minutes allowed before the first agent response. Default: |
resolution_minutes | integer | No | Maximum minutes allowed for full conversation resolution. Default: |
escalation_minutes | integer | No | Minutes after first_response_minutes before auto-escalation triggers. Default: |
is_active | boolean | No | Default: |
conditions_json | string | No | JSON array of conditions restricting which conversations this policy applies to. |
Example
{
"name": "Standard Email SLA",
"first_response_minutes": 60,
"resolution_minutes": 1440,
"escalation_minutes": 30,
"is_active": true,
"conditions_json": "[{\"field\":\"channel\",\"op\":\"eq\",\"value\":\"email\"}]"
}
Responses
201 SLA policy created
422 Validation failed — all minute values must be >= 1
Example request
curl -X POST "https://{tenant}.faciotech.net/api/v1/omnichannel/sla-policies" \
-H "Accept: application/json" \
-H "Content-Type: application/json" \
-d '{"name": "Standard Email SLA", "first_response_minutes": 60, "resolution_minutes": 1440, "escalation_minutes": 30, "is_active": true, "conditions_json": "[{\"field\":\"channel\",\"op\":\"eq\",\"value\":\"email\"}]"}'