Navigation

Create Event

Create a calendar event with attendees, video meeting, and invite notifications

POST /public/calendar/createEvent

Creates a calendar event with full attendee management. For video meetings, Zyntro auto-provisions a Google Meet space (if the member has Google Meet connected). Sends iCal invite emails to all attendees with reschedule and cancel links. Event times are converted to UTC for storage.

Requires a valid `api_key` in the JSON request body

Parameters

Name In Type Required Description
api_key body string Yes Your Zyntro API key
org_id body string Yes Your organization UUID
member_id body string Yes The member UUID (event organizer)
contact_id body string Yes The primary contact UUID for the event
event_data body object Yes Event details object. See Event Data Fields below.

Request Body

Content-Type: application/json

Example

json
{
    "org_id": "YOUR_ORG_ID",
    "api_key": "YOUR_API_KEY",
    "member_id": "YOUR_MEMBER_ID",
    "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "event_data": {
        "calendar_id": "3d21426f-9042-40d9-a0b2-94037f551d51",
        "event_title": "Discovery Call",
        "attendee_data": [
            {
                "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                "contact_role": "participant",
                "contact_email": "[email protected]",
                "contact_fname": "Jane",
                "contact_lname": "Smith",
                "contact_timezone": "America/New_York"
            }
        ],
        "location_type": "video",
        "event_end_time": "2026-04-07 10:30:00",
        "event_timezone": "America/New_York",
        "event_start_time": "2026-04-07 10:00:00",
        "event_description": "Initial discovery call to discuss requirements."
    }
}

Code Samples

bash
curl -X POST https://app.zyntrohq.com/public/calendar/createEvent \
  -H "Content-Type: application/json" \
  -d '{
    "api_key": "YOUR_API_KEY",
    "org_id": "YOUR_ORG_ID",
    "member_id": "YOUR_MEMBER_ID",
    "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
    "event_data": {
      "calendar_id": "3d21426f-9042-40d9-a0b2-94037f551d51",
      "event_title": "Discovery Call",
      "event_start_time": "2026-04-07 10:00:00",
      "event_end_time": "2026-04-07 10:30:00",
      "event_timezone": "America/New_York",
      "location_type": "video",
      "attendee_data": [{
        "contact_email": "[email protected]",
        "contact_fname": "Jane",
        "contact_lname": "Smith",
        "contact_timezone": "America/New_York",
        "contact_role": "participant"
      }]
    }
  }'

Response

200 Event created with video meeting
json
{
    "data": {
        "event_id": "e7f8a9b0-c1d2-3456-e7f8-a9b0c1d23456",
        "attendees": [
            {
                "contact_id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
                "contact_email": "[email protected]",
                "contact_fname": "Jane",
                "contact_lname": "Smith"
            }
        ],
        "meeting_data": {
            "cancel_url": "https://app.zyntrohq.com/public/calendar/cancel/32/e7f8a9b0-c1d2-3456-e7f8-a9b0c1d23456",
            "meeting_id": "m1n2o3p4-q5r6-7890-stuv-wx1234567890",
            "meeting_url": "https://meet.google.com/abc-defg-hij",
            "meeting_type": "google_meet",
            "reschedule_url": "https://app.zyntrohq.com/public/calendar/reschedule/32/e7f8a9b0-c1d2-3456-e7f8-a9b0c1d23456"
        }
    },
    "status": "success"
}
200 Error
json
{
    "data": [
        "Missing event start time"
    ],
    "status": "error"
}
Info: For video events, the response includes `meeting_data` with the Google Meet URL, meeting ID, and reschedule/cancel URLs. The member must have Google Meet connected in **Settings > Integrations** for auto-provisioning to work. If not connected, an error is returned.
Tip: Event times in the request should be in the `event_timezone`. Zyntro converts them to UTC for storage. The iCal invites sent to attendees are converted back to the event's original timezone. Each attendee's notification email shows the time in their own timezone if `contact_timezone` is provided.

Errors

Code Message Resolution
MISSING_API_KEY Missing service instance
The api_key is missing.
Include your API key.
INVALID_API_KEY Invalid API Key
No active user matches.
Verify your key.
MISSING_FIELDS Missing organization/member/contact ID or event data
Required fields are missing.
Include all required fields.
MISSING_EVENT_FIELDS Missing calendar ID / event start time / event end time
Required event_data fields are missing.
Include calendar_id, event_start_time, and event_end_time.
MEMBER_NOT_FOUND Member not found
The member_id does not exist.
Use a valid member ID from Fetch Members.
NO_MEET_INTEGRATION No Google Meet integration found for this member
Video event requested but member has no Google Meet connected.
Connect Google Meet in **Settings > Integrations**, or set location_type to `in_person`.
INSERT_FAILED Error inserting event
Database insert failed.
Check the error details and retry.

Was this article helpful?

NotebookLM Overviews