Meetings

Schedule, move, cancel and list meetings. They reach calendars and invite attendees.

#List meetings

GET/api/v1/meetings

Operation list_meetings · needs scope meetings:read

Soonest first for upcoming, most recent first for past. Not pageable: pagination.hasMore says whether more exist beyond limit.

ParameterInTypeNotes
windowqueryupcoming | past | all
limitqueryinteger
bash
curl https://synconone.com/api/v1/meetings \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
json
{
  "data": [
    {
      "id": "pr_1a2b3c4d5e6f7a8b",
      "object": "string",
      "title": "Annual plan renewal",
      "status": "string",
      "source": "agent",
      "starts_at": "2026-11-05T10:00:00Z",
      "ends_at": "2026-11-05T10:00:00Z",
      "time_zone": "Australia/Sydney",
      "location": "string",
      "meeting_url": "https://example.com"
    }
  ],
  "pagination": {
    "nextCursor": null,
    "hasMore": false
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Schedule a meeting

POST/api/v1/meetings

Operation create_meeting · needs scope meetings:write

Lands on the owner's connected calendar and invites the attendees, as in the app. Send notify: false to save it without telling anyone.

Body fieldTypeNotes
title requiredstring
starts_at requireddatetime
ends_atdatetimeDefaults to starts_at plus duration_minutes.
duration_minutesinteger
time_zonestring
meeting_urlstring
locationstring
descriptionstring
ownerstringMember user id. Defaults to the key's creator.
personstring
companystring
leadstring
opportunitystring
attendeeslist of object
notifybooleanPut it on the owner's calendar and invite the attendees. False saves it quietly.
bash
curl -X POST https://synconone.com/api/v1/meetings \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Annual plan renewal","starts_at":"2026-11-05T10:00:00Z","ends_at":"2026-11-05T10:00:00Z","duration_minutes":30,"time_zone":"UTC"}'
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "title": "Annual plan renewal",
    "status": "string",
    "source": "agent",
    "starts_at": "2026-11-05T10:00:00Z",
    "ends_at": "2026-11-05T10:00:00Z",
    "time_zone": "Australia/Sydney",
    "location": "string",
    "meeting_url": "https://example.com"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 409: Conflict, approval required, or idempotent request in progress. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Get a meeting

GET/api/v1/meetings/{id}

Operation get_meeting · needs scope meetings:read

ParameterInTypeNotes
id requiredpathstringPublic id of the meeting.
bash
curl https://synconone.com/api/v1/meetings/pr_1a2b3c4d5e6f7a8b \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "title": "Annual plan renewal",
    "status": "string",
    "source": "agent",
    "starts_at": "2026-11-05T10:00:00Z",
    "ends_at": "2026-11-05T10:00:00Z",
    "time_zone": "Australia/Sydney",
    "location": "string",
    "meeting_url": "https://example.com"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Change a meeting

PATCH/api/v1/meetings/{id}

Operation update_meeting · needs scope meetings:write

Only the keys sent change. Moving it or changing the attendees tells them, unless notify is false. A cancelled meeting cannot be changed.

ParameterInTypeNotes
id requiredpathstringPublic id of the meeting.
Body fieldTypeNotes
titlestring
starts_atdatetime
ends_atdatetime
time_zonestring
meeting_urlstring
locationstring
descriptionstring
ownerstring
attendeeslist of objectReplaces the whole list.
notifyboolean
bash
curl -X PATCH https://synconone.com/api/v1/meetings/pr_1a2b3c4d5e6f7a8b \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"title":"Annual plan renewal","starts_at":"2026-11-05T10:00:00Z","ends_at":"2026-11-05T10:00:00Z","time_zone":"Australia/Sydney","meeting_url":"https://example.com"}'
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "title": "Annual plan renewal",
    "status": "string",
    "source": "agent",
    "starts_at": "2026-11-05T10:00:00Z",
    "ends_at": "2026-11-05T10:00:00Z",
    "time_zone": "Australia/Sydney",
    "location": "string",
    "meeting_url": "https://example.com"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 409: Conflict, approval required, or idempotent request in progress. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Delete a meeting

DELETE/api/v1/meetings/{id}

Operation delete_meeting · needs scope meetings:write

Removes it from every list and timeline. A meeting the AI agent booked with a visitor can be cancelled but not deleted.

ParameterInTypeNotes
id requiredpathstringPublic id of the meeting.
notifyquerytrue | falseTell the attendees it is off. Only a meeting a teammate made can be deleted.
bash
curl -X DELETE https://synconone.com/api/v1/meetings/pr_1a2b3c4d5e6f7a8b \
  -H "Authorization: Bearer sk_live_YOUR_KEY"
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "deleted": true,
    "notice": "string"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.

#Cancel a meeting

POST/api/v1/meetings/{id}/cancel

Operation cancel_meeting · needs scope meetings:write

The meeting stays on the record, marked cancelled. Cancelling twice changes nothing.

ParameterInTypeNotes
id requiredpathstringPublic id of the meeting.
Body fieldTypeNotes
notifybooleanTell the attendees it is off.
bash
curl -X POST https://synconone.com/api/v1/meetings/pr_1a2b3c4d5e6f7a8b/cancel \
  -H "Authorization: Bearer sk_live_YOUR_KEY" \
  -H "Content-Type: application/json" \
  -d '{"notify":true}'
json
{
  "data": {
    "id": "pr_1a2b3c4d5e6f7a8b",
    "object": "string",
    "title": "Annual plan renewal",
    "status": "string",
    "source": "agent",
    "starts_at": "2026-11-05T10:00:00Z",
    "ends_at": "2026-11-05T10:00:00Z",
    "time_zone": "Australia/Sydney",
    "location": "string",
    "meeting_url": "https://example.com"
  }
}

Errors: 401: Missing, invalid, revoked or expired API key. · 403: The key lacks the scope, or its role cannot do this. · 404: Not found, or not visible to this key. · 422: Validation failed. · 429: Rate limited. Honour Retry-After.. See errors.