Skip to main content
POST
/
v2.0
/
calendar
Create Calendar Event
curl --request POST \
  --url https://api.lofty.com/v2.0/calendar \
  --header 'Authorization: <authorization>' \
  --header 'Content-Type: <content-type>' \
  --data '
{
  "type": "TASK",
  "content": "Follow up with client about property",
  "leadId": 563172647619608,
  "timeZoneCode": "America/Los_Angeles",
  "startAt": "2026-03-01T14:00:00-08:00",
  "endAt": "2026-03-01T15:00:00-08:00",
  "startAtMs": 1740866400000,
  "endAtMs": 1740870000000,
  "taskWay": "Call",
  "assignedRole": "Agent",
  "address": "123 Main St, Los Angeles, CA"
}
'
{
  "data": {
    "id": "12345-task",
    "type": "TASK",
    "message": "<string>"
  }
}

Documentation Index

Fetch the complete documentation index at: https://developer.lofty.com/llms.txt

Use this file to discover all available pages before exploring further.

Headers

Authorization
string
required

Bearer [access_token]

Content-Type
string
required

application/json

Body

application/json

Calendar payload. type decides whether a Task or Appointment is created.

type
string
required

Calendar type: TASK or APPOINTMENT

Example:

"TASK"

content
string
required

Content/Description of the calendar event

Example:

"Follow up with client about property"

leadId
integer<int64>
required

Lead ID associated with this calendar event

Example:

563172647619608

timeZoneCode
string
required

Timezone code

Example:

"America/Los_Angeles"

startAt
string

Start time in ISO8601 format with timezone. Preferred over startAtMs when both are provided.

Example:

"2026-03-01T14:00:00-08:00"

endAt
string

End time in ISO8601 format. Preferred over endAtMs when both are provided.

Example:

"2026-03-01T15:00:00-08:00"

startAtMs
integer<int64>

Start time as Unix timestamp in milliseconds. Used when startAt is not provided.

Example:

1740866400000

endAtMs
integer<int64>

End time as Unix timestamp in milliseconds. Used when endAt is not provided.

Example:

1740870000000

taskWay
string

Task way type: Call, Email, Text, Other (only for TASK)

Example:

"Call"

assignedRole
string

Assigned role: Agent or Assistant (only for TASK)

Example:

"Agent"

address
string

Location/Address (only for APPOINTMENT)

Example:

"123 Main St, Los Angeles, CA"

Response

Calendar created. The response wraps CalendarCreateResult under the 'data' key.

Calendar creation response envelope

data
object

Calendar creation result