Creates an SLA policy for the authenticated organization.
/api/sla/policiesCreates an SLA policy for the authenticated organization. Admin access is required. Omitted optional fields use the defaults defined in the request schema.
Bearer API key or X-API-Key header.sla:writeautomation_api)application/json
TypeScript Definitions
Use the request body type in TypeScript.
Request body accepted by this operation.
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
application/json
{
"id": "77777777-7777-4777-8777-777777777777",
"name": "Priority support",
"firstResponseTime": 15,
"nextResponseTime": 60,
"resolutionTime": 480,
"enabled": true,
"priority": 10,
"businessHoursOnly": false,
"departments": [
"support"
],
"tags": [
"priority"
],
"createdAt": "2026-06-23T09:00:00.000Z",
"updatedAt": "2026-06-23T09:00:00.000Z"
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}{
"error": {
"code": "UNAUTHORIZED",
"message": "Authentication is required.",
"correlationId": "req_01K0MANAGEMENT401"
}
}{
"error": {
"code": "INTEGRATION_MODULE_REQUIRED",
"message": "The automation API module is required.",
"details": {
"module": "automation_api",
"feature": "public_api"
},
"correlationId": "req_01K0MANAGEMENT402"
}
}{
"error": {
"code": "FORBIDDEN",
"message": "The caller lacks the required role or API-key scope.",
"correlationId": "req_01K0MANAGEMENT403"
}
}{
"error": {
"code": "NOT_FOUND",
"message": "The requested resource was not found.",
"correlationId": "req_01K0MANAGEMENT404"
}
}{
"error": {
"code": "CONFLICT",
"message": "The requested change conflicts with current resource state.",
"correlationId": "req_01K0MANAGEMENT409"
}
}{
"error": {
"code": "VALIDATION_ERROR",
"message": "The request payload is invalid.",
"details": {
"field": "name"
},
"correlationId": "req_01K0MANAGEMENT422"
}
}{
"error": {
"code": "RATE_LIMITED",
"message": "Too many requests.",
"correlationId": "req_01K0MANAGEMENT429"
}
}{
"error": {
"code": "string",
"message": "string",
"fields": {
"property1": "string",
"property2": "string"
},
"details": {},
"correlationId": "string"
}
}curl --request POST \
'https://api.convor.io/api/sla/policies' \
--header 'Accept: application/json' \
--header 'Authorization: Bearer convor_sk_...' \
--header 'Content-Type: application/json' \
--data '{
"name": "Priority support",
"firstResponseTime": 15,
"nextResponseTime": 60,
"resolutionTime": 480,
"enabled": true,
"priority": 10,
"businessHoursOnly": false,
"departments": [
"support"
],
"tags": [
"priority"
]
}'const response = await fetch("https://api.convor.io/api/sla/policies", {
method: "POST",
headers: {
"Accept": "application/json",
"Authorization": "Bearer convor_sk_...",
"Content-Type": "application/json"
},
body: JSON.stringify({
"name": "Priority support",
"firstResponseTime": 15,
"nextResponseTime": 60,
"resolutionTime": 480,
"enabled": true,
"priority": 10,
"businessHoursOnly": false,
"departments": [
"support"
],
"tags": [
"priority"
]
}),
});
const contentType = response.headers.get("content-type") ?? "";
const data = response.status === 204
? null
: contentType.includes("json")
? await response.json()
: contentType.startsWith("text/")
? await response.text()
: await response.blob();
if (!response.ok) {
const message = typeof data === "object" && data !== null
&& "error" in data && typeof data.error === "object"
&& data.error !== null && "message" in data.error
? String(data.error.message)
: "Convor API request failed (" + response.status + ")";
throw new Error(message);
}
console.log(data);Was this page helpful?
Human-readable name.
Value of firstResponseTime.
Value of nextResponseTime.
Value of resolutionTime.
Whether this feature is enabled.
Priority assigned to the resource.
Boolean value stored in businessHoursOnly.
Department records.
Tags assigned to this resource.