Skip to main content
Update a calendar event

Authorizations

Authorization
string
header
required

A Tightknit admin API key, sent as Authorization: Bearer <key>.

Path Parameters

event_id
string
required

The calendar event's id.

Pattern: ^cevt_[a-zA-Z0-9]{12}$

Body

application/json
title
string

The event title.

Required string length: 1 - 200
start_date
string<date-time>

When the event starts.

end_date
string<date-time>

When the event ends. Must be at or after start_date.

status
enum<string>

Moves the event through its life cycle. One of:

  • draft: returns it to a draft. Slack announcements already posted stay up.
  • needs_approval: submits it for an admin to approve before it is published.
  • published: makes it live, announced in its Slack channels and shown on the community site when publish_to_site is on.
Available options:
draft,
needs_approval,
published
description
string | null

The event description, as plain text. Read back as a rich text document. null removes it.

Minimum string length: 1
recap
string | null

A recap written after the event, as plain text. Read back as a rich text document. null removes it.

Minimum string length: 1
location
string | null

Where the event takes place, as free text. null removes it.

Required string length: 1 - 400

The event's http(s) URL, such as a video-call or registration link. null removes it.

Maximum string length: 1000

An http(s) link to the event's recording. null removes it.

Maximum string length: 1000
cover_image_file_id
string | null

The id of a file uploaded with file_category calendar-event-cover, to use as the cover image. null removes it.

Pattern: ^file_[a-zA-Z0-9]{12}$
host_profile_ids
string[]

Replaces the hosts. [] removes them all.

Maximum array length: 10
Pattern: ^prof_[a-zA-Z0-9]{12}$
speaker_profile_ids
string[]

Replaces the speakers. [] removes them all.

Maximum array length: 10
Pattern: ^prof_[a-zA-Z0-9]{12}$
external_speakers
string | null

Speakers who are not community members, as free text displayed with the event. null removes it.

Required string length: 1 - 500
show_end_date
boolean

Whether the end date is displayed beside the start date in Slack and on the community site.

is_unlisted
boolean

Whether the event is hidden from event listings. An unlisted event with publish_to_site on is refused.

publish_to_site
boolean

Set to false when the event becomes unlisted.

allow_public_guest_list
boolean

Whether the attendee list and registrant count are shown to members who are neither admins nor the event owner.

enable_registration_button
boolean

Whether the event shows a registration button members click to sign up in Tightknit.

Whether the registration button sends members to the event link instead of registering them in Tightknit. Requires enable_registration_button and a link.

triggers_webhooks
boolean

Whether the event sends payloads to the community's subscribed webhooks when it is published, when it ends, and as members register and unregister.

webhook_custom_metadata
string | null

Passed through as custom_metadata on the calendar_event.published, calendar_event.user_registered and calendar_event.user_unregistered webhook payloads so the receiver can match it to its own record. Reaches a receiver only while triggers_webhooks is on. null removes it.

Required string length: 1 - 250
reminders_config
object[]

Replaces the reminders.

Maximum array length: 5
integrations
object

How the event connects to Slack and Luma. Each key left out stays as it is.

Response

Success

object
enum<string>
required

Always event.

Available options:
event
id
string
required

Unique identifier for the object.

Example:

"cevt_4h2o89z6qlpw"

created_at
string<date-time>
required

When the object was created.

updated_at
string<date-time>
required

When the object was last changed.

title
string
required

The event title.

slug
string
required

The URL segment of the event's page on the community site.

status
enum<string>
required

Where the event is in its life cycle. One of:

  • draft: saved but not live. A published event moved back to draft keeps the Slack announcements it already had.
  • needs_approval: submitted and waiting for an admin to approve it. Visible only to its creator and admins.
  • published: live: announced in its Slack channels and, when publish_to_site is on, shown on the community site.
  • cancelled: called off. Visible only to its creator and admins.
Available options:
draft,
needs_approval,
published,
cancelled
start_date
string<date-time>
required

When the event starts.

end_date
string<date-time>
required

When the event ends.

show_end_date
boolean
required

Whether the end date is displayed beside the start date in Slack and on the community site. A hidden end date still ends the event.

description
object
required

The event description as a rich text document. Rendered on the events endpoints only; null when the event is nested under another object.

description_html
string | null
required

The event description as sanitized HTML. Rendered on the events endpoints only; null when the event is nested under another object.

recap
object
required

A recap written after the event, as a rich text document. Rendered on the events endpoints only; null when the event is nested under another object.

recap_html
string | null
required

The recap as sanitized HTML. Rendered on the events endpoints only; null when the event is nested under another object.

location
string | null
required

Where the event takes place, as free text. Null when not set.

The event's URL, such as a video-call or registration link. Null when not set.

A link to the event's recording. Null when not set.

external_speakers
string | null
required

Speakers who are not community members, as free text displayed with the event. Null when there are none.

webhook_custom_metadata
string | null
required

Passed through as custom_metadata on the calendar_event.published, calendar_event.user_registered and calendar_event.user_unregistered webhook payloads so the receiver can match it to its own record. Null when not set.

cover_image_file_id
string | null
required

The id of the event's cover image file. Null when the event has no cover image.

Example:

"file_2b3c4d5e6f7g"

is_unlisted
boolean
required

Whether the event is hidden from event listings.

publish_to_site
boolean
required

Whether the event shows on the community site. The site only shows published events, so on a draft this records where it goes once published.

allow_public_guest_list
boolean
required

Whether the attendee list and registrant count are shown to members who are neither admins nor the event owner, on the community site and in Slack.

enable_registration_button
boolean
required

Whether the event shows a registration button members click to sign up, with their attendance tracked in Tightknit.

Whether the registration button sends members to the event link instead of registering them in Tightknit, for sign-ups handled elsewhere.

triggers_webhooks
boolean
required

Whether the event sends payloads to the community's subscribed webhooks when it is published, when it ends, and as members register and unregister.

reminders_config
object[]
required

The reminders sent as Slack direct messages to the event's hosts, speakers and registrants. Only a published event sends them.

created_by_id
string | null
required

The id of the member who created the event. Null when no member is recorded as its creator.

Example:

"prof_5Yq7tVz2Hm3n"

integrations
object
required

What the event looks like in the services it is connected to.

cover_image_file
object | null

The cover image file. Present only when cover_image_file is expanded.

created_by
object | null

The member who created the event. Present only when created_by is expanded.

The tags on the event. Present only when tag_links is expanded.