---
title: "Update Resources Bulk"
method: PUT
path: "/setup/v1/resources/bulk"
tags: ["Resources"]
---

# Update Resources Bulk

`PUT /setup/v1/resources/bulk`

Use this endpoint to **Bulk Update** resources. Valid **resource id's** are required. The list of resources cannot exceed 100 resource objects per transaction for performance purposes.

Required Fields: **Email Address** and **Name**

Providing a single or many serviceId(s) in the service array will result the resource explicitly being available to provide those services only. While passing in an empty array will result in all services being available to the resources. This includes all company and business scoped services. See the _POST ​/setup​/v1​/resources​/{id}​/services_ endpoint for details about explicitly linking services.

Set the resource availability type by using the **recurringAvailability** flag. Set recurringAvailability to **True** for **Weekly Availability** or **False** for **Resource Allocations**.

## Query parameters

- `googleAuthReturnUrl` string
- `outlookAuthReturnUrl` string

## Request body

- ResourcesUpdateModel
  - `resources` ResourceBulkUpdateModel[], nullable
    - `id` string, nullable
    - `name` string, nullable
    - `email` string, nullable
    - `description` string, nullable
    - `groupId` string, nullable
    - `timezoneId` string, nullable
    - `recurringAvailability` boolean, nullable
    - `serviceIds` string[], nullable
    - `address` AddressUpdateModel
      - `addressLine1` string, nullable
      - `addressLine2` string, nullable
      - `city` string, nullable
      - `state` string, nullable
      - `country` string, nullable
      - `postalCode` string, nullable
    - `contact` ContactUpdateModel
      - `preferredPhoneType` string, nullable
      - `homePhone` string, nullable
      - `mobilePhone` string, nullable
      - `businessPhone` string, nullable
      - `businessPhoneExt` string, nullable
      - `skypeUsername` string, nullable
      - `conferenceInfo` string, nullable
    - `availability` AvailabilityInputModel
      - `sun` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
      - `mon` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
      - `tue` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
      - `wed` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
      - `thu` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
      - `fri` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
      - `sat` WeekDayInputModel
        - `startTime` integer
        - `endTime` integer
    - `options` ResourceOptionsUpdateModel
      - `effectiveDate` string, date-time, nullable
      - `notificationType` integer, nullable — 0 = None, 1=Online Bookings 2=All Bookings.
      - `displayColor` string, nullable
      - `googleCalendarId` string, nullable
      - `outlookCalendarId` string, nullable
      - `ignoreBusinessHours` boolean, nullable
      - `gender` string, nullable
      - `hourly` number, double, nullable
      - `calendarAvailability` integer, nullable — 0 = OnSched Availability, 1 = Google Calendar, 2 = Outlook Calendar
      - `bookingNotification` integer, nullable
      - `sortKey` integer, nullable
      - `bioLink` string, nullable
    - `customFields` CustomFieldUpdateModel
      - `field1` string, nullable
      - `field2` string, nullable
      - `field3` string, nullable
      - `field4` string, nullable
      - `field5` string, nullable
      - `field6` string, nullable
      - `field7` string, nullable
      - `field8` string, nullable
      - `field9` string, nullable
      - `field10` string, nullable

## Response `200`

Success

- ResourceViewModel[]
  - `object` string, nullable
  - `id` string, nullable
  - `locationId` string, nullable
  - `name` string, nullable
  - `email` string, nullable
  - `groupId` integer, nullable
  - `description` string, nullable
  - `imageUrl` string, nullable
  - `deletedStatus` boolean
  - `deletedTime` string, date-time, nullable
  - `notificationType` integer
  - `bookingNotification` integer
  - `googleCalendarId` string, nullable
  - `googleCalendarAuthorized` boolean
  - `googleCalendarAuthUrl` string, nullable
  - `outlookCalendarId` string, nullable
  - `outlookCalendarAuthUrl` string, nullable
  - `outlookCalendarAuthorized` boolean
  - `ignoreBusinessHours` boolean
  - `gender` string, nullable
  - `recurringAvailability` boolean, nullable
  - `hourly` number, double, nullable
  - `calendarAvailability` integer
  - `sortKey` integer
  - `skypeName` string, nullable
  - `bioLink` string, nullable
  - `timezoneOffset` integer, nullable
  - `timezoneId` string, nullable
  - `timezoneIana` string, nullable
  - `effectiveDate` string, date-time, nullable
  - `contact` ContactViewModel
    - `phoneType` string, nullable
    - `homePhone` string, nullable
    - `mobilePhone` string, nullable
    - `businessPhone` string, nullable
    - `businessPhoneExt` string, nullable
    - `skypeUsername` string, nullable
    - `conferenceInfo` string, nullable
  - `phone` PhoneViewModel
    - `phoneType` string, nullable
    - `homePhone` string, nullable
    - `mobilePhone` string, nullable
    - `businessPhone` string, nullable
    - `businessPhoneExt` string, nullable
  - `address` AddressViewModel
    - `addressLine1` string, nullable
    - `addressLine2` string, nullable
    - `city` string, nullable
    - `state` string, nullable
    - `country` string, nullable
    - `postalCode` string, nullable
  - `availability` ResourceHoursViewModel
    - `mon` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
    - `tue` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
    - `wed` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
    - `thu` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
    - `fri` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
    - `sat` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
    - `sun` ResourceHourViewModel
      - `startTime` integer
      - `endTime` integer
  - `options` ResourceOptionsInputModel — Options for the new resource
    - `effectiveDate` string, date-time, nullable
    - `notificationType` integer, nullable — 0 = None, 1=Online Bookings 2=All Bookings.
    - `displayColor` string, nullable
    - `googleCalendarId` string, nullable
    - `outlookCalendarId` string, nullable
    - `ignoreBusinessHours` boolean, nullable
    - `gender` string, nullable
    - `hourly` number, double, nullable
    - `calendarAvailability` integer, nullable — 0 = OnSched Availability, 1 = Google Calendar, 2 = Outlook Calendar
    - `bookingNotification` integer, nullable
    - `sortKey` integer, nullable
    - `bioLink` string, nullable
  - `services` ResourceServiceViewModel[], nullable
    - `object` string, nullable
    - `serviceId` integer
    - `serviceName` string, nullable
  - `customFields` CustomFieldInputModel
    - `field1` string, nullable
    - `field2` string, nullable
    - `field3` string, nullable
    - `field4` string, nullable
    - `field5` string, nullable
    - `field6` string, nullable
    - `field7` string, nullable
    - `field8` string, nullable
    - `field9` string, nullable
    - `field10` 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)
