---
title: "Add Exception to Door Exception Calendar"
method: POST
path: "/access/v1/door/exception_calendar/{calendar_id}/exception"
tags: ["Access Door Exception Calendars"]
---

# Add Exception to Door Exception Calendar

`POST /access/v1/door/exception_calendar/{calendar_id}/exception`

## Request

- Base URL: `https://api.verkada.com`
- URL: `https://api.verkada.com/access/v1/door/exception_calendar/{calendar_id}/exception`
- Auth: one of:
  - API key in header `x-verkada-auth`
  - API key in header `x-api-key`

## Path parameters

- `calendar_id` string, required

## Request body

- PostDoorExceptionBodyV1: Request schema for POST /access/v1/door/exception_calendar/<calendar_id>/exception.
  - `all_day_default` boolean: Bool value specifying if Exception is an All Day Default. If <code>TRUE</code>, then: - <code>door_status</code> must be set to <code>access_controlled</code> - <code>start_time</code> and <code>end_time</code> will automatically be set to <code>00:00:00</code> and <code>23:59:59</code>, respectively. Different values should not be provided. - <code>first_person_in</code> and <code>double_badge</code> must be <code>FALSE</code>
  - `date` string, required: Date of the Door Exception formatted as <code>YYYY-MM-DD</code> (according to ISO 8601).
  - `door_status` 'locked' | 'card_and_code' | 'access_controlled' | 'unlocked': An enumeration.
  - `double_badge` boolean: Bool value specifying if the Double Badge setting should be enabled for relevant doors. If <code>TRUE</code>, <code>door_status</code> must be set to <code>access_controlled</code>. By default, all users with access to relevant doors will be allowed to double badge.
  - `double_badge_group_ids` string[]: List of IDs for Access Groups that users must be a member of to be allowed to double badge on relevant doors. <code>double_badge</code> must also be set to <code>TRUE</code> if value is provided.
  - `end_time` string, time, required: End time of the Door Exception formatted as <code>hh:mm</code> (according to ISO 8601).
  - `first_person_in` boolean: Bool value specifying if the First Person In setting should be enabled for relevant doors. If <code>TRUE</code>, <code>door_status</code> must be set to <code>card_and_code</code>, <code>access_controlled</code>, or <code>unlocked</code>.
  - `first_person_in_group_ids` string[]: List of IDs for Access Groups including supervisors used for First Person In mode. <code>first_person_in</code> must also be set to <code>TRUE</code> if this value is provided.
  - `recurrence_rule` RecurrenceRule: A recurrence rule object specifying when the exception should repeat.
    - `by_day` WeekdayEnum[]: For recurrences where <code>frequency</code> is <code>WEEKLY</code>, <code>MONTHLY</code>, or <code>YEARLY</code>. List of weekdays that the recurrence should include every week (see <code>BYDAY</code> in RFC 5545). Supported values are: <code>'SU'</code>, <code>'MO'</code>, <code>'TU'</code>, <code>'WE'</code>, <code>'TH'</code>, <code>'FR'</code>, <code>'SA'</code>. <b>Note:</b> Required if <code>frequency</code> is <code>WEEKLY</code>, and can include one or more values. If <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code>, only allowed if <code>by_set_pos</code> is not null and can only include a single value. Not supported otherwise.
    - `by_month` integer: For recurrences where <code>frequency</code> is <code>YEARLY</code>. The number of the month that the recurrence should include every year (see <code>BYMONTH</code> in RFC 5545). Supported values are integers from 1-12. <b>Note:</b> Required if <code>frequency</code> is <code>YEARLY</code>, not supported otherwise.
    - `by_month_day` integer: For recurrences where <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code>. The day of the month that the recurrence should include every month or year (see <code>BYMONTHDAY</code> in RFC 5545). Supported values are integers from 1-31. If the value is set to 29-31 and a month does not include a day with that value, the recurrence will be ignored for that month. <b>Note:</b> Either <code>by_month_day</code> or <code>by_set_pos</code> is required if <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code> (only one is allowed), not supported otherwise.
    - `by_set_pos` integer: For recurrences where <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code>. The position of the weekday specified in <code>by_day</code> in the month that the recurrence should include every month or year (see <code>BYMONTHDAY</code> in RFC 5545). For example, <code>by_set_pos</code> would be set to 3 and <code>by_day</code> set to <code>'TU'</code>, to specify the 3rd Tuesday of a month. Supported values are integers from 1-5. If value is set to 5 and the month does not include a 5th instance of the weekday in <code>by_day</code>, the recurrence will be ignored for that month. <b>Note:</b> Either <code>by_month_day</code> or <code>by_set_pos</code> is required if <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code> (only one is allowed). Not supported otherwise.
    - `count` integer: The total number of times that the recurrence should repeat before ending (see <code>COUNT</code> in RFC 5545). <b>Note:</b> Only one of <code>count</code> or <code>until</code> is allowed, but not both.
    - `excluded_dates` string[]: A list of dates to exclude for recurrence, formatted as <code>YYYY-MM-DD</code> (according to ISO 8601). Also see <code>EXDATE</code> in RFC 5545.
    - `frequency` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY', required: An enumeration.
    - `interval` integer, required: Interval at which the recurrence should repeat according to the frequency type (see <code>INTERVAL</code> in RFC 5545).
    - `until` string: The final date on which the recurrence should occur before ending, formatted as <code>YYYY-MM-DD</code> (according to ISO 8601). Also see <code>UNTIL</code> in RFC 5545. <b>Note:</b> Only one of <code>count</code> or <code>until</code> is allowed, but not both.
  - `start_time` string, time, required: Start time of the Door Exception formatted as <code>hh:mm</code> (according to ISO 8601).

## Response `200`

OK

- DoorExceptionV1: Schema for the Door Exception.
  - `all_day_default` boolean: Bool value specifying if Exception is an All Day Default. If <code>TRUE</code>, then: - <code>door_status</code> must be set to <code>access_controlled</code> - <code>start_time</code> and <code>end_time</code> will automatically be set to <code>00:00:00</code> and <code>23:59:59</code>, respectively. Different values should not be provided. - <code>first_person_in</code> and <code>double_badge</code> must be <code>FALSE</code>
  - `calendar_id` string: Unique ID of the Door Exception Calendar that this Exception belongs to.
  - `date` string, required: Date of the Door Exception formatted as <code>YYYY-MM-DD</code> (according to ISO 8601).
  - `door_exception_id` string: The unique ID of the Door Exception.
  - `door_status` 'locked' | 'card_and_code' | 'access_controlled' | 'unlocked': An enumeration.
  - `double_badge` boolean: Bool value specifying if the Double Badge setting should be enabled for relevant doors. If <code>TRUE</code>, <code>door_status</code> must be set to <code>access_controlled</code>. By default, all users with access to relevant doors will be allowed to double badge.
  - `double_badge_group_ids` string[]: List of IDs for Access Groups that users must be a member of to be allowed to double badge on relevant doors. <code>double_badge</code> must also be set to <code>TRUE</code> if value is provided.
  - `end_time` string, time, required: End time of the Door Exception formatted as <code>hh:mm</code> (according to ISO 8601).
  - `first_person_in` boolean: Bool value specifying if the First Person In setting should be enabled for relevant doors. If <code>TRUE</code>, <code>door_status</code> must be set to <code>card_and_code</code>, <code>access_controlled</code>, or <code>unlocked</code>.
  - `first_person_in_group_ids` string[]: List of IDs for Access Groups including supervisors used for First Person In mode. <code>first_person_in</code> must also be set to <code>TRUE</code> if this value is provided.
  - `recurrence_rule` RecurrenceRule: A recurrence rule object specifying when the exception should repeat.
    - `by_day` WeekdayEnum[]: For recurrences where <code>frequency</code> is <code>WEEKLY</code>, <code>MONTHLY</code>, or <code>YEARLY</code>. List of weekdays that the recurrence should include every week (see <code>BYDAY</code> in RFC 5545). Supported values are: <code>'SU'</code>, <code>'MO'</code>, <code>'TU'</code>, <code>'WE'</code>, <code>'TH'</code>, <code>'FR'</code>, <code>'SA'</code>. <b>Note:</b> Required if <code>frequency</code> is <code>WEEKLY</code>, and can include one or more values. If <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code>, only allowed if <code>by_set_pos</code> is not null and can only include a single value. Not supported otherwise.
    - `by_month` integer: For recurrences where <code>frequency</code> is <code>YEARLY</code>. The number of the month that the recurrence should include every year (see <code>BYMONTH</code> in RFC 5545). Supported values are integers from 1-12. <b>Note:</b> Required if <code>frequency</code> is <code>YEARLY</code>, not supported otherwise.
    - `by_month_day` integer: For recurrences where <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code>. The day of the month that the recurrence should include every month or year (see <code>BYMONTHDAY</code> in RFC 5545). Supported values are integers from 1-31. If the value is set to 29-31 and a month does not include a day with that value, the recurrence will be ignored for that month. <b>Note:</b> Either <code>by_month_day</code> or <code>by_set_pos</code> is required if <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code> (only one is allowed), not supported otherwise.
    - `by_set_pos` integer: For recurrences where <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code>. The position of the weekday specified in <code>by_day</code> in the month that the recurrence should include every month or year (see <code>BYMONTHDAY</code> in RFC 5545). For example, <code>by_set_pos</code> would be set to 3 and <code>by_day</code> set to <code>'TU'</code>, to specify the 3rd Tuesday of a month. Supported values are integers from 1-5. If value is set to 5 and the month does not include a 5th instance of the weekday in <code>by_day</code>, the recurrence will be ignored for that month. <b>Note:</b> Either <code>by_month_day</code> or <code>by_set_pos</code> is required if <code>frequency</code> is <code>MONTHLY</code> or <code>YEARLY</code> (only one is allowed). Not supported otherwise.
    - `count` integer: The total number of times that the recurrence should repeat before ending (see <code>COUNT</code> in RFC 5545). <b>Note:</b> Only one of <code>count</code> or <code>until</code> is allowed, but not both.
    - `excluded_dates` string[]: A list of dates to exclude for recurrence, formatted as <code>YYYY-MM-DD</code> (according to ISO 8601). Also see <code>EXDATE</code> in RFC 5545.
    - `frequency` 'DAILY' | 'WEEKLY' | 'MONTHLY' | 'YEARLY', required: An enumeration.
    - `interval` integer, required: Interval at which the recurrence should repeat according to the frequency type (see <code>INTERVAL</code> in RFC 5545).
    - `until` string: The final date on which the recurrence should occur before ending, formatted as <code>YYYY-MM-DD</code> (according to ISO 8601). Also see <code>UNTIL</code> in RFC 5545. <b>Note:</b> Only one of <code>count</code> or <code>until</code> is allowed, but not both.
  - `start_time` string, time, required: Start time of the Door Exception formatted as <code>hh:mm</code> (according to ISO 8601).

---

[API](https://skmtc.dev/verkada/apis/access-api.md) - [All operations](https://skmtc.dev/verkada/apis/access-api/llms.txt) - [OpenAPI document](https://skmtc.dev/verkada/apis/access-api/revisions/11a8c69fd17f?raw)
