Saltearse al contenido

Meetings

Esta página aún no está disponible en tu idioma.

The Meetings API exposes scheduled, completed, and cancelled meetings created via graph8’s booking surface (calendar widget + sequence-driven calendar links). Each meeting carries attendees, recording link, AI transcript, and post-call analysis.

30-second start

List recent completed meetings:

Terminal window
curl 'https://be.graph8.com/api/v1/inbox/meetings?status=completed&limit=10' \
-H "Authorization: Bearer $G8_API_KEY"

Quick reference

EndpointMethodPurpose
/inbox/meetingsGETList meetings with filters
/inbox/meetings/{meeting_id}GETFull meeting detail (attendees, transcript, recording, analysis)

Meeting shape

{
id: "mtg_abc123",
status: "scheduled" | "completed" | "cancelled" | "no_show",
event_type: "demo-30min",
scheduled_at: "2026-05-30T15:00:00Z",
duration_minutes: 30,
attendees: [
{ name: "Jane Smith", email: "[email protected]", role: "prospect", contact_id: 5028106 },
{ name: "Thomas (graph8)", email: "[email protected]", role: "host" }
],
conferencing: {
provider: "google_meet" | "whereby" | "roam" | "calcom",
join_url: "https://meet.google.com/abc-defg-hij"
},
recording_url: "https://recordings.graph8.com/mtg_abc123.mp4",
transcript: [
{ speaker: "Jane Smith", text: "We've been looking at...", timestamp: 0 },
{ speaker: "Thomas", text: "Got it — let me show you...", timestamp: 8 }
],
analysis: {
sentiment: "positive",
summary: "Prospect is evaluating against ZoomInfo and Apollo...",
next_steps: ["Send pricing doc", "Schedule technical demo with Eng"],
objections: ["Concerned about data freshness"],
talk_listen_ratio: 0.62
},
created_at: "2026-05-23T10:15:00Z"
}

List

Terminal window
GET /api/v1/inbox/meetings?status=completed&date_from=2026-05-01&attendee_id=user_jane&page=1&limit=25

Filterable params: status, date_from, date_to, attendee_id, event_type, contact_id, page, limit.

Returns a paginated list of meeting summaries (without the full transcript — fetch that via GET /{id}).

Get

Terminal window
GET /api/v1/inbox/meetings/{meeting_id}

Returns the full record including transcript and AI analysis. The transcript is available once the recording has been transcribed (typically 1-5 minutes after the call ends).

Webhooks

The meeting.booked event fires when a new meeting is created via the booking widget. Subsequent events (meeting.started, meeting.completed, meeting.cancelled, meeting.transcribed) fire as the meeting progresses. See Webhooks for subscription mechanics.

Credit costs

OperationCredits
List + getFree
Booked meeting (when one is created)20 per booking
Recording + transcriptFree (storage included)
AI analysisFree (bundled with the meeting booking cost)

The 20-credit booked-meeting charge fires once, at the moment of booking. Subsequent reads / re-analysis are free.

Errors

StatusCauseFix
401Missing or invalid Authorization: Bearer headerGet a key
402Out of credits (waterfall enrichment, AI generation, voice minutes)Top up in Settings → Billing, or switch to Platform
404Resource ID doesn’t existList first to verify the ID
422Validation error in request bodyInspect error.message + error.field in the response
429Rate limit (5 rps per org)Backoff per Retry-After header. See Rate Limits
5xxgraph8 errorRetry with exponential backoff (5s → 30s → 120s)

The full error envelope shape: { "error": { "code": "...", "message": "...", "field": "...", "request_id": "..." } }. Include the request_id in any support ticket. See Errors for the canonical reference.

See also