403 on a write.200 with the time frame, except a type conversion, which answers 202 as soon as it is published.timeframe-type with a type other than the current one. Converting to custom keeps every entry; converting an always time frame to custom removes its all-day range, so it starts empty. Converting to any other type deletes every entry; send the new type's array in the same request to fill it. A custom time frame cannot be converted, and the request is treated as an update.update-only=yes with the entries to change, each with its timeframe-id. An entry without an ID is created. Nothing is deleted. For a holiday, only its hours, observance options, workweek, and recurrence change; delete it and add the new one to change the holiday itself.update-only, every entry you do not list by timeframe-id is deleted, including every entry of a kind whose array you leave out. Listed entries are updated, and entries without an ID are created.400.timeframe-type=always to one does nothing and answers 202.400 changes nothing. An ID that does not exist, or that belongs to another owner than the path, returns 404. A holiday date that has already passed returns 400.Authorization: Bearer ********************curl --location --request PUT 'https://awqacore01.crexendocloud.com/ns-api/v2/domains/example.com/timeframes/94d4b86a0e8bedd0bb61feaa0aa0a4db' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"timeframe-type": "custom"
}'{
"timeframe-id": "94d4b86a0e8bedd0bb61feaa0aa0a4db",
"timeframe-name": "Business Hours",
"user": "*",
"domain": "example.com",
"timeframe-type": "days-of-week",
"timeframe-days-of-week-array": [
{
"timeframe-id": "66f6c1a2b3d4e",
"ordinal-order": 0,
"timeframe-weekly-sunday-begin-time-1": "",
"timeframe-weekly-sunday-end-time-1": "",
"timeframe-weekly-sunday-begin-time-2": "",
"timeframe-weekly-sunday-end-time-2": "",
"timeframe-weekly-monday-begin-time-1": "0800",
"timeframe-weekly-monday-end-time-1": "1700",
"timeframe-weekly-monday-begin-time-2": "",
"timeframe-weekly-monday-end-time-2": "",
"timeframe-weekly-tuesday-begin-time-1": "0800",
"timeframe-weekly-tuesday-end-time-1": "1700",
"timeframe-weekly-tuesday-begin-time-2": "",
"timeframe-weekly-tuesday-end-time-2": "",
"timeframe-weekly-wednesday-begin-time-1": "0800",
"timeframe-weekly-wednesday-end-time-1": "1700",
"timeframe-weekly-wednesday-begin-time-2": "",
"timeframe-weekly-wednesday-end-time-2": "",
"timeframe-weekly-thursday-begin-time-1": "0800",
"timeframe-weekly-thursday-end-time-1": "1700",
"timeframe-weekly-thursday-begin-time-2": "",
"timeframe-weekly-thursday-end-time-2": "",
"timeframe-weekly-friday-begin-time-1": "0800",
"timeframe-weekly-friday-end-time-1": "1500",
"timeframe-weekly-friday-begin-time-2": "",
"timeframe-weekly-friday-end-time-2": "",
"timeframe-weekly-saturday-begin-time-1": "",
"timeframe-weekly-saturday-end-time-1": "",
"timeframe-weekly-saturday-begin-time-2": "",
"timeframe-weekly-saturday-end-time-2": "",
"timeframe-recurrence-type": "weekly",
"timeframe-recurrence-begin-date": "20260901",
"timeframe-recurrence-custom-interval": "",
"timeframe-recurrence-custom-interval-count": "",
"timeframe-recurrence-custom-interval-option": "",
"timeframe-recurrence-end-option": "never",
"timeframe-recurrence-end-date": "",
"domain": "example.com",
"timeframe-next-observance-datetime": [
1790467200,
1791072000,
1791676800,
1792281600,
1792886400
],
"timeframe-next-observance-datetime-array": [
"2026-09-27T00:00:00+00:00",
"2026-10-04T00:00:00+00:00",
"2026-10-11T00:00:00+00:00",
"2026-10-18T00:00:00+00:00",
"2026-10-25T00:00:00+00:00"
],
"timeframe-expiry-datetime-utc": null
}
],
"end_on": "",
"timeframe-end-date": null
}