Business Hours

GET
/v1/business-hours/schedules

List business hours schedules in an organization with pagination.

Authorization

ApiKeyAuth
headerAuthorization<token>

Response Body

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/business-hours/schedules' \  -H 'Authorization: <API token>'
{
"data": {
"schedules": [
{
"name": "Schedule 1",
"id": "b462107a-0a67-19f6-bfc0-207012e0190f"
},
{
"name": "Schedule 2",
"id": "f462107a-0a57-66f6-dac0-207012e01255"
},
{
"name": "Schedule 3",
"id": "e462107a-0f23-44f6-48b3-207012e0184e"
}
]
}
}
GET
/v1/business-hours/schedules/{scheduleId}/definition

Get a business hours schedule definition in an organization by providing its ID.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

scheduleId*string
Formatuuid

Response Body

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/business-hours/schedules/{scheduleId}/definition' \  -H 'Authorization: <API token>'
{
"data": {
"schedule": {
"id": "a0d559bf-cdf8-4088-841d-f3807b93272e",
"name": "Schedule 1",
"timezone": "Europe/Copenhagen",
"businessHours": [
{
"name": "Monday",
"dayOfWeek": 1,
"businessHourType": "Regular",
"status": "Open",
"intervals": [
{
"startTime": "08:00",
"endTime": "16:00"
}
],
"startDate": "2026-01-05"
},
{
"name": "Tuesday",
"dayOfWeek": 2,
"businessHourType": "Regular",
"status": "Open",
"intervals": [
{
"startTime": "08:00",
"endTime": "16:00"
}
],
"startDate": "2026-01-06"
}
],
"exceptions": [
{
"name": "New Year",
"businessHourType": "Holiday",
"status": "Closed",
"intervals": [],
"recurring": {
"dayOfMonth": 1,
"monthOfYear": 1
},
"startDate": "2026-01-01"
}
]
}
}
}
GET
/v1/business-hours/schedules/{scheduleId}/upcoming

Get the resolved business hours schedule for the next number of days, applying recurring rules and exceptions. Each entry in businessHours describes one upcoming day (see its nextDate). An entry with status: Open lists the intervals during which the business is open on that day; between and outside those intervals it is closed. An entry with status: Closed is a day explicitly configured as closed and has no intervals. Days without any configured business hours are omitted from the response entirely, so businessHours can be empty when no day in the requested window has configured hours. In short: the business is open only during the intervals of status: Open entries, and closed at all other times.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

scheduleId*string
Formatuuid

Query Parameters

days?integer

Number of upcoming days to include in the response. Must be between 1 and 90.

Formatint32
Range1 <= value <= 90
Default7

Response Body

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/business-hours/schedules/{scheduleId}/upcoming' \  -H 'Authorization: <API token>'
{
"data": {
"schedule": {
"id": "a0d559bf-cdf8-4088-841d-f3807b93272e",
"name": "Schedule 1",
"timezone": "Europe/Copenhagen",
"businessHours": [
{
"name": "Monday",
"dayOfWeek": 1,
"businessHourType": "Regular",
"status": "Open",
"intervals": [
{
"startTime": "08:00",
"endTime": "16:00"
}
],
"startDate": "2026-01-05",
"nextDate": "2026-05-25"
},
{
"name": "Tuesday",
"dayOfWeek": 2,
"businessHourType": "Regular",
"status": "Open",
"intervals": [
{
"startTime": "08:00",
"endTime": "16:00"
}
],
"startDate": "2026-01-06",
"nextDate": "2026-05-26"
}
]
}
}
}
GET
/v1/business-hours/schedules/{scheduleId}/status

Check if a business is open either right now or at the specified timestamp. When the business is open, closesAt holds the end of the current open interval and opensAt is null. When it is closed, opensAt holds the start of the next open interval — if there is one within the next year — and closesAt is null.

Authorization

ApiKeyAuth
headerAuthorization<token>

Path Parameters

scheduleId*string

Query Parameters

timestamp?string

An optional timestamp in ISO-8601 format: yyyy-MM-dd'T'HH:mm:ss'Z' to check if the business is open at a specific time. If not specified, the current time is used.

Formatdate-time

Response Body

The business hours status

application/json
  1. response
data*
Example Request
curl -X GET 'https://dev.dixa.io/v1/business-hours/schedules/{scheduleId}/status' \  -H 'Authorization: <API token>'
{
"data": {
"isOpen": true,
"timestamp": "2025-01-08T08:31:25Z",
"closesAt": "2025-01-08T17:00:00Z"
}
}