Skip to main content
Meetings are created/updated as bots run. You can list history, attach metadata (notes), and delete/anonymize artifacts.

GET /meetings

List meetings for the authenticated user.
curl -H "X-API-Key: $API_KEY" \
  "$API_BASE/meetings"
{
  "meetings": [
    {
      "id": 127,
      "user_id": 4,
      "platform": "google_meet",
      "native_meeting_id": "zqe-gfmd-knr",
      "constructed_meeting_url": "https://meet.google.com/zqe-gfmd-knr",
      "status": "completed",
      "bot_container_id": "vexa-bot-127-e76c2a06",
      "start_time": "2026-02-15T09:11:56.052175",
      "end_time": "2026-02-15T09:16:19.607242",
      "data": {
        "completion_reason": "stopped",
        "status_transition": [
          {
            "to": "joining",
            "from": "requested",
            "source": "bot_callback",
            "timestamp": "2026-02-15T09:11:33.852386"
          },
          {
            "to": "active",
            "from": "awaiting_admission",
            "source": "bot_callback",
            "timestamp": "2026-02-15T09:11:56.047736"
          },
          {
            "to": "completed",
            "from": "stopping",
            "source": "user",
            "timestamp": "2026-02-15T09:16:19.601196",
            "completion_reason": "stopped"
          }
        ]
      },
      "created_at": "2026-02-15T09:11:30.287878",
      "updated_at": "2026-02-15T09:16:19.606511"
    }
  ]
}

PATCH /meetings/{platform}/{native_meeting_id}

Update meeting metadata (stored in meeting.data), commonly used for:
  • name
  • participants
  • languages
  • notes
curl -X PATCH "$API_BASE/meetings/google_meet/abc-defg-hij" \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $API_KEY" \
  -d '{
    "data": {
      "name": "Weekly Standup",
      "notes": "Discussed roadmap"
    }
  }'
Returns the updated meeting record.
{
  "id": 129,
  "user_id": 4,
  "platform": "google_meet",
  "native_meeting_id": "zqe-gfmd-knr",
  "constructed_meeting_url": "https://meet.google.com/zqe-gfmd-knr",
  "status": "completed",
  "bot_container_id": "vexa-bot-129-24c9233d",
  "start_time": "2026-02-15T09:20:02.597046",
  "end_time": null,
  "data": {
    "name": "Weekly Standup",
    "notes": "Discussed roadmap",
    "status_transition": [
      {"to": "joining", "from": "requested", "source": "bot_callback", "timestamp": "..."},
      {"to": "active", "from": "awaiting_admission", "source": "bot_callback", "timestamp": "..."}
    ]
  },
  "created_at": "2026-02-15T09:18:52.592330",
  "updated_at": "2026-02-16T17:42:18.455262"
}

DELETE /meetings/{platform}/{native_meeting_id}

Delete transcript data and recording artifacts (best-effort) and anonymize the meeting. Important semantics:
  • Only works for finalized meetings (completed or failed).
  • Safe to retry: calling delete multiple times returns success; repeated calls are a no-op after the meeting is already anonymized.
  • The meeting record remains for telemetry/usage tracking (with PII scrubbed).
  • After deletion, the original native_meeting_id is cleared, so you cannot retry by /{platform}/{native_meeting_id} later.
curl -X DELETE \
  -H "X-API-Key: $API_KEY" \
  "$API_BASE/meetings/google_meet/abc-defg-hij"
If you want to delete just recordings (and keep transcript data), use: Returns a human-readable confirmation message. This operation is safe to retry (idempotent): deleting an already-anonymized meeting returns success.
{
  "message": "Meeting google_meet/abc-defg-hij transcripts and recording artifacts deleted; meeting data anonymized"
}