---
title: "Replace All Date Ranges in Specific Dates Timeframe"
method: PUT
path: "/domains/{domain}/timeframes/{id}"
tags: ["Timeframes/Domain (Shared)/Specific Dates"]
---

# Replace All Date Ranges in Specific Dates Timeframe

`PUT /domains/{domain}/timeframes/{id}`

## Request

- Base URL: `https://ns-api.com/ns-api/v2`
- URL: `https://ns-api.com/ns-api/v2/domains/{domain}/timeframes/{id}`
- Auth: HTTP bearer

If a new array of specific date ranges is supplied in the update request for a Specific Dates timeframe, it will replace all existing specific date ranges in the timeframe, meaning that any existing specific date ranges in that timeframe will be removed. To update individual specific date ranges within a Specific Dates timeframe, refer to "Update Date Ranges within Specific Dates Timeframe." It is not necessary to supply a ```timeframe-id``` for the new date ranges. These ```timeframe-id```s will be generated automatically.

## Path parameters

- `domain` string, required: This is the main organization name. This is used to link resource to its group/tenant/organization/enterprise. Then using in path for GET you can set to "~" to use the domain name linked to your token/key instead of the domain name itself when reading for your own domain.
- `id` string, required

## Request body

- object
  - `timeframe-specific-dates-array` TimeframeSpecificDate[]
    - `timeframe-id` string
    - `timeframe-parent-id` string
    - `ordinal-order` number
    - `timeframe-specific-dates-begin-date` string, required: Start date of the specific date period - format: YYYYMMDD
    - `timeframe-specific-dates-begin-time` string, required: Start time of the specific date period - format: hhmm (24 hour)
    - `timeframe-specific-dates-end-date` string, required: End date of the specific date period - format: YYYYMMDD
    - `timeframe-specific-dates-end-time` string, required: End time of the specific date period - format: hhmm (24 hour)
    - `timeframe-recurrence-type` string, required: ```doesNotRecur```: no recurrence ```monthly-on-last-day```: every month on the last day of the month ```monthly-on-first-last```: monthly on the first or last ordinal weekday, e.g.: the first Friday, the last Thursday - note: this will produce potentially unexpected behavior if used with a date that is not the first or last occurrence of that particular weekday ```monthly-on-ordinal-weekday```: can be used for any ordinal weekday that is NOT the first or last occurrence of that weekday in the given month e.g. the third Friday, the second Monday ```monthly-date```: every month on the same day, e.g.: the 14th day, the 29th day - note: if there are months in which the “day” does not occur, the date will not be active during that month, e.g.: the 31st day of February ```yearly-on-selected-dates```: every year on the exact month and day, e.g.: April 30th, September 4th ```annual-month-day```: functionally identical to ```yearly-on-selected-dates``` ```yearly-first```: every year on the first ordinal weekday of the exact month, e.g.: the first Monday of every June, the first Friday of every August - note: this will produce potentially unexpected behavior if used with a date that is not the first occurrence of that particular weekday ```yearly-last```: every year on the last ordinal weekday of the exact month, e.g.: the last Friday of every July, the last Tuesday of every November - note: this will produce potentially unexpected behavior if used with a date that is not the last occurrence of that particular weekday ```custom```: if this option is selected the fields ```timeframe-recurrence-custom-interval```, ```timeframe-recurrence-custom-interval-option```, and ```timeframe-recurrence-custom-interval-count``` must be set correctly to produce any behavior
    - `timeframe-recurrence-custom-interval` string, required: Must be combined with the field ```timeframe-recurrence-custom-interval-count``` ```days```: recur every ```timeframe-recurrence-custom-interval-count``` days ```weeks```: recur every ```timeframe-recurrence-custom-interval-count``` weeks ```months```: recur every ```timeframe-recurrence-custom-interval-count``` months ```years```: recur every ```timeframe-recurrence-custom-interval-count``` years
    - `timeframe-recurrence-custom-interval-count` string, required: Specifies the recurrence count based on the period specified in ```timeframe-recurrence-custom-interval-count``` e.g. 'every 6 days' or 'every 3 months' If the field ```timeframe-recurrence-custom-interval-count``` is set to ```months``` this field determines the count in combination with the option set in ```timeframe-recurrence-custom-interval-option```, if ```timeframe-recurrence-custom-interval``` is set to ```years``` the count is fixed to a value of 1 and will recur every year according to the option set in ```timeframe-recurrence-custom-interval-option```
    - `timeframe-recurrence-custom-interval-option` string, required: If ```timeframe-recurrence-custom-interval``` is set to ```days``` or ```weeks``` this field is not used. This field is for ```months``` and ```years``` only. For ```timeframe-recurrence-custom-interval``` of ```months```: ```monthly-same-day```: recur on the same day of the month, e.g.: the 14th day, the 29th day - note: if there are months in which the “day” does not occur, the date will not be active during that month, e.g.: the 31st day of February ```monthly-ordinal-weekday```: recur on the same ordinal weekday e.g. the third Friday, the second Monday ```monthly-first-last-weekday```: recur on the first or last instance of the selected weekday in the month, e.g.: the first Wednesday, the last Tuesday - note: this will produce potentially unexpected behavior if used with a date that is not the first or last occurrence of that particular weekday ```monthly-on-last-day```: recur on the last day of the month - note: this will produce potentially unexpected behavior if used with a date that is not the last day of the month For ```timeframe-recurrence-custom-interval``` of ```years```: ```yearly-same-day```: recur on the same day of the same month, e.g.: the 10th of May, the 20th of October ```yearly-ordinal-weekday```: recur on the same ordinal weekday of the same month, e.g.: the second Tuesday of April, the third Thursday of November ```yearly-first-last-weekday```: recur on the first or last weekday of the same month, e.g.: the third Wednesday of August, the first Tuesday of December - note: this will produce potentially unexpected behavior if used with a date that is not the first or last occurrence of that particular weekday
    - `timeframe-recurrence-end-option` string, required: ```never```: recurrence will continue indefinitely ```onADate```: recurrence will end on a date, specified in ```timeframe-recurrence-end-date```
    - `timeframe-recurrence-end-date` string, required: End date of the recurrence - format: YYYYMMDD
    - `timeframe-expiry-datetime` string
    - `domain` string
    - `timeframe-recurrence-rrule` string, nullable: The RRULE string, if recurrence is configured
    - `timeframe-next-observance-datetime` number[]: List of the upcoming occurrences of the specific date if recurrence is configured, formatted as epoch timestamp in seconds
    - `timeframe-is-v1` boolean, nullable: Will be set to ```true``` if the specific date is part of a timeframe created before v44.1

## Response `200`

- object

## Changes

- **2026-11-03** `bce16087d479`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/ns-api/apis/netsapiens-api-v2/changes/domains/:domain/timeframes/:id/put.md)

---

[API](https://skmtc.dev/ns-api/apis/netsapiens-api-v2.md) - [All operations](https://skmtc.dev/ns-api/apis/netsapiens-api-v2/llms.txt) - [OpenAPI document](https://skmtc.dev/ns-api/apis/netsapiens-api-v2/revisions/bce16087d479?raw)
