---
title: "Update an existing policy exception."
method: PUT
path: "/smart-policies/v1/exceptions/{exceptionId}"
tags: ["Smart Policy Exceptions"]
---

# Update an existing policy exception.

`PUT /smart-policies/v1/exceptions/{exceptionId}`

## Request

- Base URL: `https://api.cloudbeds.com`
- URL: `https://api.cloudbeds.com/smart-policies/v1/exceptions/{exceptionId}`
- Auth: OAuth 2
  - Authorization code: `https://api.cloudbeds.com/auth/oauth/authorize`
  - Token URL: `https://api.cloudbeds.com/auth/oauth/token` scopes: `write:rate`

## Path parameters

- `exceptionId` ExceptionId, required (unresolved $ref)

## Headers

- `x-property-id` string, required

## Request body

- UpdatePolicyExceptionRequestSchema
  - `exceptionId` string, required: Policy exception ID.
  - `policyRootId` integer, required: Smart policy root ID.
  - `intervals` PolicyExceptionIntervalSchema[], required: List of date intervals for this exception.
    - `startDate` string, date, required: Start date of the interval.
    - `endDate` string, date, required: End date of the interval.
    - `day0` boolean: Sunday (day 0) -- apply exception on this day of the week.
    - `day1` boolean: Monday (day 1) -- apply exception on this day of the week.
    - `day2` boolean: Tuesday (day 2) -- apply exception on this day of the week.
    - `day3` boolean: Wednesday (day 3) -- apply exception on this day of the week.
    - `day4` boolean: Thursday (day 4) -- apply exception on this day of the week.
    - `day5` boolean: Friday (day 5) -- apply exception on this day of the week.
    - `day6` boolean: Saturday (day 6) -- apply exception on this day of the week.
  - `rates` PolicyExceptionRateSchema[], required: List of rates this exception applies to.
    - `packageId` integer, required: Package/rate plan ID. Use 0 for base rate.
    - `roomTypeId` integer, nullable: Room type ID. Required when packageId is 0 (base rate).
  - `name` string, required: Internal name for this exception.
  - `enabled` boolean, nullable: Whether the exception is enabled. Omit to preserve current value.

## Response `200`

Updated policy exception.

- PolicyExceptionResponseSchema
  - `id` string
  - `propertyId` string
  - `name` string
  - `policyRootId` string
  - `enabled` boolean
  - `createdBy` string
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `intervals` PolicyExceptionIntervalResponseSchema[]
    - `startDate` string, date
    - `endDate` string, date
    - `day0` boolean: Sunday (day 0) -- apply exception on this day of the week.
    - `day1` boolean: Monday (day 1) -- apply exception on this day of the week.
    - `day2` boolean: Tuesday (day 2) -- apply exception on this day of the week.
    - `day3` boolean: Wednesday (day 3) -- apply exception on this day of the week.
    - `day4` boolean: Thursday (day 4) -- apply exception on this day of the week.
    - `day5` boolean: Friday (day 5) -- apply exception on this day of the week.
    - `day6` boolean: Saturday (day 6) -- apply exception on this day of the week.
  - `rates` PolicyExceptionRateResponseSchema[]
    - `packageId` string: Package/rate plan ID. 0 = base rate.
    - `roomTypeId` string, nullable: Room type ID.

## Other responses

- `400`: Bad request response.
- `403`: Forbidden response.
- `404`: Not found response.
- `409`: Conflict response (exception overlaps with existing exception).
- `500`: Internal server error.

---

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