POST
/
admin
/
v0
/
calendar_events
Create a calendar event
curl --request POST \
  --url https://api.tightknit.ai/admin/v0/calendar_events \
  --header 'Authorization: Bearer <token>' \
  --header 'content-type: <content-type>' \
  --data '{
  "allow_public_guest_list": false,
  "description": {
    "blocks": [
      {
        "type": "rich_text",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              {
                "text": "This is the Slack message content.",
                "type": "text"
              }
            ]
          }
        ]
      }
    ],
    "text": "This is the event description."
  },
  "enable_registration_button": false,
  "end_date": "2025-01-07T15:00:00-07:00",
  "external_speakers": "John Doe, Jane Doe",
  "is_unlisted": false,
  "link": "https://example.com/my-event",
  "location": "1 Market Street, San Francisco, CA",
  "luma_event_id": "https://lu.ma/event/evt-6pGPLeDBObis0G4",
  "publish_to_site": true,
  "triggers_webhooks": false,
  "recap": {
    "blocks": [
      {
        "type": "rich_text",
        "elements": [
          {
            "type": "rich_text_section",
            "elements": [
              {
                "text": "This is the Slack message content.",
                "type": "text"
              }
            ]
          }
        ]
      }
    ],
    "text": "This is the event recap."
  },
  "recording_link": "https://www.youtube.com/watch?v=abc123",
  "webhook_custom_metadata": "third-party-event-id",
  "show_end_date": true,
  "slug": "my-event",
  "start_date": "2025-01-07T15:00:00-07:00",
  "status": "published",
  "title": "My Event",
  "use_registration_btn_as_link": false,
  "publish_to_slack_channels": [
    "<string>"
  ],
  "hosts": {
    "slack_user_ids": [
      "U1234567A"
    ]
  },
  "speakers": {
    "slack_user_ids": [
      "U1234567A"
    ]
  },
  "cover_image_file_id": "97d5c5d6-d036-4223-9bd3-876a0cf47751"
}'
{
  "success": true,
  "data": {
    "calendar_event_id": "<string>"
  }
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Headers

content-type
enum<string>
required
Available options:
application/json

Body

application/json
description
object
required

The event description in Slack message content format.

Examples:
{ "text": "This is the event description." }
{
"blocks": [
{
"type": "rich_text",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"text": "This is the event description.",
"type": "text"
}
]
}
]
}
]
}
end_date
string<date-time>
required

An ISO 8601 date and time, with optional timezone offset

Example:

"2025-01-07T15:00:00-07:00"

start_date
string<date-time>
required

An ISO 8601 date and time, with optional timezone offset

Example:

"2025-01-07T15:00:00-07:00"

title
string
required
Required string length: 3 - 70
Example:

"My Event"

publish_to_slack_channels
string[]
required

The Slack channel(s) that the event announcements are posted to when published.

Required array length: 1 - 10 elements
allow_public_guest_list
boolean
default:false
enable_registration_button
boolean
default:false
external_speakers
string | null
Example:

"John Doe, Jane Doe"

is_unlisted
boolean
default:false
Example:

"https://example.com/my-event"

location
string | null
Example:

"1 Market Street, San Francisco, CA"

luma_event_id
string | null
Example:

"https://lu.ma/event/evt-6pGPLeDBObis0G4"

publish_to_site
boolean
default:true
triggers_webhooks
boolean
default:false
recap

The event recap in Slack message content format.

Examples:
{ "text": "This is the event recap." }
{
"blocks": [
{
"type": "rich_text",
"elements": [
{
"type": "rich_text_section",
"elements": [
{
"text": "This is the event recap.",
"type": "text"
}
]
}
]
}
]
}
Example:

"https://www.youtube.com/watch?v=abc123"

webhook_custom_metadata
string | null
Example:

"third-party-event-id"

show_end_date
boolean
default:true
slug
string | null

The URL slug for the event. If not provided, one will be generated based off the title.

Required string length: 3 - 70
Example:

"my-event"

status
enum<string>
default:published

The event status. Events created with "published" status will immediately be published to the specified Slack channel(s) and possibly to the site. Events created with "needs_approval" status will be submitted for admin approval. Events cannot be created with "draft" status from the API.

Available options:
needs_approval,
published
Example:

"published"

hosts

The user(s) featured as a host for the event, which must be one of the following: Slack user IDs, emails, or Tightknit profile IDs

speakers

The user(s) featured as a speaker for the event, which must be one of the following: Slack user IDs, emails, or Tightknit profile IDs

cover_image_file_id
string<uuid>

The id of the File to use as the cover image for the event

Example:

"97d5c5d6-d036-4223-9bd3-876a0cf47751"

Response

Creates the calendar event

success
boolean
required
data
object
required