---
title: "Create a new policy exception."
method: POST
path: "/smart-policies/v1/exceptions"
tags: ["Smart Policy Exceptions"]
---

# Create a new policy exception.

`POST /smart-policies/v1/exceptions`

## Headers

- `x-property-id` string, required

## Request body

- CreatePolicyExceptionRequestSchema
  - `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 — Whether the exception is enabled.

## Response `201`

Created 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.
- `409` — Conflict response (exception overlaps with existing exception).
- `500` — Internal server error.

---

[API](https://skmtc.net/cloudbeds/apis/cloudbeds-api.md) · [All operations](https://skmtc.net/cloudbeds/apis/cloudbeds-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/cloudbeds/cloudbeds-api/revisions/2faa857793e8/schema)
