LOOMAL
SDK / API ReferenceCalendar

Create Event

Create a new calendar event

Scope: calendar:write

Create a new event on the identity's calendar.

Request

import { Loomal } from "@loomal/sdk";

const loomal = new Loomal({ apiKey: process.env.LOOMAL_API_KEY! });
const event = await loomal.calendar.create({
  title: "Team Sync",
  startAt: "2026-04-07T10:00:00Z",
  endAt: "2026-04-07T11:00:00Z",
  location: "Zoom",
  description: "Weekly standup",
});
import os
from loomal import Loomal

loomal = Loomal(api_key=os.environ["LOOMAL_API_KEY"])
event = loomal.calendar.create(
    title="Team Sync",
    start_at="2026-04-07T10:00:00Z",
    end_at="2026-04-07T11:00:00Z",
    location="Zoom",
    description="Weekly standup",
)
loomal calendar create \
  --title "Team Sync" \
  --start 2026-04-07T10:00:00Z \
  --end 2026-04-07T11:00:00Z \
  --location "Zoom" \
  --description "Weekly standup"
calendar.create(title="Team Sync", start_at="2026-04-07T10:00:00Z", end_at="2026-04-07T11:00:00Z", location="Zoom")

Available through @loomal/mcp — see MCP setup.

curl -X POST https://api.loomal.ai/v0/calendar \
  -H "Authorization: Bearer loid-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "title": "Team Sync",
    "startAt": "2026-04-07T10:00:00Z",
    "endAt": "2026-04-07T11:00:00Z",
    "location": "Zoom",
    "description": "Weekly standup"
  }'

Request Body

FieldTypeRequiredDescription
titlestringYesEvent title
descriptionstringNoEvent description
startAtstringYesStart date/time (ISO 8601)
endAtstringNoEnd date/time (ISO 8601)
isAllDaybooleanNoAll-day event (default: false)
locationstringNoEvent location
metadataobjectNoCustom metadata

Response 201

{
  "eventId": "evt_abc123",
  "title": "Team Sync",
  "description": "Weekly standup",
  "startAt": "2026-04-07T10:00:00.000Z",
  "endAt": "2026-04-07T11:00:00.000Z",
  "isAllDay": false,
  "location": "Zoom",
  "createdAt": "2026-04-06T12:00:00.000Z"
}

On this page