PUT
https://app.evoriqa.com/api/v1/chatbots/{chatbotId}/business-hoursSave business hours
Replaces the chatbot business hours. The whole week is replaced on every save — a day missing from `schedule` becomes closed. Day keys outside `mon`-`sun` are dropped silently rather than rejected, so a schedule keyed by full day names saves as an empty week.
Requires scope chatbots:write
Warning:
Access is gated — enable it before your first call
The API is off by default. A request succeeds only when all three switches are on: the platform master switch (off by default), your organisation’s API toggle, and your plan or client entitlement. Any one off returns 403 API access is not enabled for this workspace.
Parameters
| Name | In | Type | Required | Default | Description |
|---|---|---|---|---|---|
| chatbotId | path | string uuid | Required | — | The chatbot's id. |
Request body
Content type: application/json
| Field | Type | Required | Description |
|---|---|---|---|
| enabled | boolean | Required | Whether business hours apply. |
| timezone | string 1–64 chars | Required | IANA timezone the schedule is read in. Rejected unless the runtime recognises it (Unknown timezone.). |
| awayMessage | string up to 500 chars, or null | Optional | Message shown outside opening hours. |
| schedule | object | Required | The week, keyed by three-letter day. Any other key — monday, a typo — is silently DROPPED on save, not rejected. A day you omit is treated as closed. |
| schedule.mon | object or null | Optional | Opening hours for Monday, or null when closed. |
| schedule.tue | object or null | Optional | Opening hours for Tuesday, or null when closed. |
| schedule.wed | object or null | Optional | Opening hours for Wednesday, or null when closed. |
| schedule.thu | object or null | Optional | Opening hours for Thursday, or null when closed. |
| schedule.fri | object or null | Optional | Opening hours for Friday, or null when closed. |
| schedule.sat | object or null | Optional | Opening hours for Saturday, or null when closed. |
| schedule.sun | object or null | Optional | Opening hours for Sunday, or null when closed. |
Request
curl
curl -X PUT "https://app.evoriqa.com/api/v1/chatbots/{chatbotId}/business-hours" \
-H "x-api-key: $EVORIQA_API_KEY" \
-H "Content-Type: application/json" \
-d '{ "enabled": true, "timezone": "Europe/Berlin", "awayMessage": "We reply on the next working day.", "schedule": { "mon": { "open": "09:00", "close": "17:00" }, "tue": { "open": "09:00", "close": "17:00" }, "sat": null, "sun": null } }'Node.js
const res = await fetch("https://app.evoriqa.com/api/v1/chatbots/{chatbotId}/business-hours", {
method: "PUT",
headers: {
Authorization: `Bearer ${process.env.EVORIQA_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
"enabled": true,
"timezone": "Europe/Berlin",
"awayMessage": "We reply on the next working day.",
"schedule": {
"mon": {
"open": "09:00",
"close": "17:00"
},
"tue": {
"open": "09:00",
"close": "17:00"
},
"sat": null,
"sun": null
}
}),
});
const responseBody = await res.json();Python
import os
import requests
res = requests.put(
"https://app.evoriqa.com/api/v1/chatbots/{chatbotId}/business-hours",
headers={"Authorization": f"Bearer {os.environ['EVORIQA_API_KEY']}"},
json={
"enabled": True,
"timezone": "Europe/Berlin",
"awayMessage": "We reply on the next working day.",
"schedule": {
"mon": {
"open": "09:00",
"close": "17:00"
},
"tue": {
"open": "09:00",
"close": "17:00"
},
"sat": None,
"sun": None
}
},
)
body = res.json()Response
200 OK
{
"success": true,
"data": {
"saved": true
}
}