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

# Create Allocation

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

Use this endpoint to **Create** a resource allocation for a resource. A valid **resource id** is required.

Required fields: **startDate, endDate, startTime, endTime** and **reason**. Resource allocations can be set to specific time ranges or for the whole day by setting startTime=0 and endTime=2400. They can repeat 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 allocation repeats. For example, an interval of 2 for a weekly allocation means that the allocation will repeat every 2nd week beginning at the day specified. A daily allocation with an interval of 10 means the allocation will repeat every 10 days. The interval property applies to all repeat frequencies. **If using the repeat functionality an interval value is required**.

**DAILY ALLOCATIONS**: 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 ALLOCATIONS**: 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 allocation date range.

**MONTHLY ALLOCATIONS**: 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 allocated. If monthDay=’15’ this means to allocate 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

- ResourceAllocationInputModel
  - `startDate` string, date, nullable
  - `endDate` string, date, nullable
  - `startTime` integer, nullable
  - `endTime` integer, nullable
  - `reason` string, 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)
