Skip to main content
POST
Log an external meeting
To change a meeting’s outcome later, use the dedicated endpoints: Mark as No-show, Cancel, and Mark as Completed. Lead matching. Leads are matched by email, scoped to your account. If one lead matches it is used; if multiple share the email the most recently updated wins. Pass lead_id directly to skip email matching. If no lead matches, the API returns 200 OK with success: true, skipped: true, and reason: "lead_not_found"; no meeting is saved. Create the lead first with POST /leads before retrying. Times and response status. The endpoint returns 200 OK when it saves or updates a meeting. If timezone is omitted, timestamps without an explicit offset are interpreted in the account’s configured timezone. Offset-aware timestamps retain their stated instant. Idempotency. If you supply both external_calendar_provider and external_event_id, replaying the request updates the existing meeting instead of creating a duplicate. Safe for webhook retries.

Authorizations

X-API-Key
string
header
required

API key for authentication. Keys are prefixed with nxr_live_.

Body

application/json
title
string
required

Meeting title.

starts_at
string
required

ISO 8601. If no offset, interpreted in timezone.

lead_email
string

Matcher. Not required if lead_id is provided.

lead_id
string<uuid>

Bypass email matching.

ends_at
string

ISO 8601. Required unless duration_minutes is given.

duration_minutes
integer

Required unless ends_at is given.

timezone
string

IANA timezone. When omitted, naive timestamps use the authenticated account's configured timezone.

meeting_url
string

Meet / Zoom / Teams link.

location_type
enum<string>
default:video
Available options:
video,
phone,
in_person
location_details
string
description
string
host_email
string

Host user email (must be active in your client).

meeting_type_id
string<uuid>
attendee_name
string

Defaults to lead's full name.

attendee_email
string

Defaults to matched email.

attendee_phone
string

Defaults to lead's phone.

additional_attendees
object[]
external_calendar_provider
string

e.g. ghl, google, calendly.

external_event_id
string

Provider's event id (enables dedup).

status
enum<string>
default:scheduled
Available options:
scheduled,
confirmed

Response

Meeting saved or request skipped without writing

success
enum<boolean>
required
Available options:
true
meeting
object
required
Last modified on September 8, 2026