---
title: "Create Block"
method: POST
path: "/setup/v1/resources/{id}/block"
tags: ["Resources"]
---

# Create Block

`POST /setup/v1/resources/{id}/block`

Use this endpoint to **Create** a Resource Block. A valid **resource id** is required.

Required fields: **startDate, endDate, startTime, endTime** and **reason**.

Resource blocks can be set to specific time ranges or for the whole day. Use the **AllDay** setting to create an all-day block. **AllDay** will automatically set startTime to 0 and endTime to 2400.

Resource blocks can be for a specific date range instance or set to repeat at a specified frequency.

**Repeat object: (repeats = true)**

The **frequency** can be set to a value of **D, W or M** for **Day, Week** or **Month** respectively.

Use the **interval** property to specify the interval that the block repeats. For example, an interval of 2 for a weekly block means that the block will repeat every 2nd week beginning at the day specified. A daily block with an interval of 10 means the block will repeat every 10 days. The interval property applies to all repeat frequencies. **If using the repeat functionality an interval value is required**.

**DAILY BLOCKS**: Will repeat for each day of the week for the date range specified for the interval specified. An interval value of “1” repeats every day, and an interval value of “3” is every 3rd day.

**WEEKLY BLOCKS**: Will repeat only on the specified days of the week for the date range specified. For weekly the **frequency** is required and should be set to **“W”**. You must specify the **weekdays** parameter. Weekdays are expressed as a string of digits with each single digit in the string representing a day of the week. The possible values are **0,1,2,3,4,5,6** where **0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday**. For example, a weekly frequency with an interval of “1”, and an entry of weekdays = “24”, will repeat each week on Tuesday and Thursday for the duration of the block date range.

**MONTHLY BLOCKS**: Will repeat either on the day of the month specified in the **monthDay** property or on the day of the week and week of the month specified by the **monthType** property. In both cases **frequency** is required and should be set to **“M”**, monthly, **monthDay** is the day of the month you want blocked. If monthDay=’15’ this means to block the 15th of every month in the date range requested. Using monthDay in conjunction with monthType addresses “day of the week and week of the month” scenario. There are two possible values for monthType: **D for Day of Month** or **W for Week of Month.** For **monthType D**, monthDay value must be between 1 and 31. It is the day of the month to repeat on. For **monthType M**, monthDay value contains 2 digits: day of week (0-6), (0,1,2,3,4,5,6 where 0=Sunday, 1=Monday, 2=Tuesday, 3=Wednesday, 4=Thursday, 5=Friday, 6=Saturday) and week of month (1-5). 1 being the first week, 2 being the second. The third Thursday of the month is depicted as a monthType=”M” and monthDay=”43”.

**Repeats will end on the date specified by the end date.**

## Path parameters

- `id` string, required

## Request body

- ResourceBlockInputModel
  - `startDate` string, date, nullable
  - `endDate` string, date, nullable
  - `startTime` integer, nullable
  - `endTime` integer, nullable
  - `reason` string, nullable
  - `allDay` boolean, nullable
  - `repeats` boolean, nullable
  - `repeat` RepeatInputModel
    - `frequency` string, nullable
    - `interval` integer, nullable
    - `weekdays` string, nullable
    - `monthDay` integer, nullable
    - `monthType` string, nullable

## Response `200`

Success

- ResourceBlockViewModel
  - `object` string, nullable
  - `id` integer
  - `businessId` integer
  - `resourceId` integer
  - `startDate` string, nullable
  - `endDate` string, nullable
  - `startTime` integer
  - `endTime` integer
  - `reason` string, nullable
  - `repeats` boolean
  - `repeat` RepeatViewModel
    - `frequency` string, nullable
    - `interval` integer
    - `weekdays` string, nullable
    - `monthDay` string, nullable
    - `monthType` string, nullable
  - `deletedStatus` boolean
  - `deletedTime` string, nullable

---

[API](https://skmtc.net/onsched/apis/onsched-setup-api.md) · [All operations](https://skmtc.net/onsched/apis/onsched-setup-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/onsched/onsched-setup-api/versions/c5c023458a2f/schema)
