Skip to main content
GET
/
v1
/
calendar
/
events
List Calendar Events
curl --request GET \
  --url https://api.example.com/v1/calendar/events
{
  "data": {
    "events": [
      {
        "id": "<string>",
        "provider": "<string>",
        "title": "<string>",
        "description": "<string>",
        "location": "<string>",
        "conference_url": "<string>",
        "start_time": "<string>",
        "end_time": "<string>",
        "all_day": true,
        "attendees": [
          {}
        ],
        "organizer_email": "<string>",
        "contact_ids": [
          {}
        ],
        "deal_id": "<string>",
        "status": "<string>"
      }
    ]
  },
  "meta": {}
}

Request

Query Parameters

page
integer
default:"1"
Page number.
per_page
integer
default:"25"
Results per page. Maximum 100.
from_date
string
ISO 8601 lower bound on start_time. Defaults to the beginning of the current day in the workspace’s timezone.
to_date
string
ISO 8601 upper bound on start_time. Defaults to 30 days after from_date.
contact_id
string
Filter to events that include the given contact as an attendee.
deal_id
string
Filter to events linked to the given deal.
attendee_email
string
Filter to events where this email is on the attendee list.

Headers

Authorization: Bearer wbk_your_api_key_here

Response

data
object
meta
object
Pagination metadata: page, per_page, and total.
Responses include X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset, and X-Request-ID.
curl "https://data.leadlex.com/functions/v1/api-gateway/v1/calendar/events?per_page=50" \
  -H "Authorization: Bearer wbk_your_api_key_here"

Example Response

{
  "data": {
    "events": [
      {
        "id": "evt_01HYXYZ123",
        "provider": "google",
        "title": "Intro call with Jane Doe",
        "description": "Discuss Series B counsel",
        "location": "Google Meet",
        "conference_url": "https://meet.google.com/abc-defg-hij",
        "start_time": "2026-04-18T15:00:00Z",
        "end_time": "2026-04-18T15:30:00Z",
        "all_day": false,
        "attendees": [
          { "email": "jane@acme.com", "name": "Jane Doe", "response_status": "accepted" },
          { "email": "team@emasex.de", "name": "EMA Sex", "response_status": "accepted" }
        ],
        "organizer_email": "team@emasex.de",
        "contact_ids": ["123e4567-e89b-12d3-a456-426614174000"],
        "deal_id": null,
        "status": "confirmed"
      }
    ]
  },
  "meta": { "page": 1, "per_page": 50, "total": 14 }
}

Errors

StatusCodeDescription
401invalid_keyInvalid or expired API key
403insufficient_permissionsMissing read:calendar permission or no connected calendar
429rate_limitedRate limit exceeded