---
title: "Calendar event created"
method: POST
path: "calendar_event.created"
tags: ["webhooks"]
---

# Calendar event created

`POST calendar_event.created` (webhook)

Triggered when a new calendar event (time block) is created.

## Payload

- CalendarEventCreatedWebhookPayload
  - `data` object, required
    - `calendar.clinic_id` integer, required: The ID of the clinic this calendar event belongs to.
    - `calendar_resource_ids` integer[]: The IDs of the calendar resources this event is assigned to.
    - `created` string, date-time, required: The datetime this object was created.
    - `deleted` string, date-time, nullable, required: The datetime this record was soft deleted.
    - `description` string, nullable, required: Plain-text description of the event.
    - `duration_minutes` integer, required: Duration of the event in minutes, computed from start and end datetimes.
    - `end_datetime` string, date-time, required: ISO 8601 formatted end datetime of the event in UTC.
    - `id` integer, required: The unique identifier for this calendar event.
    - `is_applicable_to_all_resources` boolean, required: Whether this event applies to all resources on the calendar.
    - `is_deleted` boolean, required: Whether this record is soft deleted or not.
    - `is_recurring` boolean, required: Whether this record follows a recurrence pattern.
    - `kind.slug` string, required: The slug identifier of the calendar event kind.
    - `kind_id` integer, required: The ID of the calendar event kind.
    - `modified` string, date-time, required: The datetime this object was last modified; changes to related entities will not update this field.
    - `recurrence` RecurrenceBreakdownSchema: Structured representation of an RFC 2445 recurrence rule.
      - `days_of_week` string[]: Two-letter day codes. Applicable for WEEKLY and some MONTHLY patterns.
      - `end_after_occurrences` integer, nullable: Total number of occurrences before the recurrence ends, if bounded by count.
      - `end_date` string, date, nullable: ISO 8601 date (YYYY-MM-DD) when the recurrence ends, if bounded by date.
      - `frequency` 'YEARLY' | 'MONTHLY' | 'WEEKLY' | 'DAILY' | 'HOURLY' | 'MINUTELY' | 'SECONDLY', required: The base recurring frequency.
      - `interval` integer, required: The interval between each frequency iteration (e.g., 2 means every 2 weeks for WEEKLY).
    - `recurrence_excluded_datetimes` string[]: Specific datetimes excluded from the recurrence pattern.
    - `recurring_event_id` integer, nullable: If this event is an exception to a recurring series, the ID of the parent recurring event.
    - `rrule` string, nullable: Raw RFC 2445 RRule string, if recurring.
    - `should_block_appointments` boolean, required: Whether this event prevents appointments from being scheduled during its time window.
    - `start_datetime` string, date-time, required: ISO 8601 formatted start datetime of the event in UTC.
  - `type` 'calendar_event.created', required: The event type identifier.

## Acknowledgement `200`

Webhook received

---

[API](https://skmtc.dev/vetcove/apis/ninjaapi.md) - [All operations](https://skmtc.dev/vetcove/apis/ninjaapi/llms.txt) - [OpenAPI document](https://skmtc.dev/vetcove/apis/ninjaapi/revisions/4ceaed956e15?raw)
