What the three calls do
job_id.Booking a meeting
Zoom, Microsoft Teams, Webex and Google Meet. A link Weaver cannot drive is refused when you book it rather than at join time, so you find out while somebody can still do something about it.
| Field | What it is |
|---|---|
tenant_id | The account your API key belongs to. Required. |
meeting_url | The joining link from the invitation. Required. |
scheduled_start | When the meeting starts, as a timestamp. Required. |
scheduled_end | Optional. Defaults to one hour after the start. |
title | Optional. Shown on the notes. |
organizer_email | Optional. Who called the meeting. |
external_event_id | Optional, and worth sending. Your own id for this meeting. |
Moving a meeting
Book it again with the same external_event_id and a new start time. That moves the booking rather than making a second one, so rescheduling and booking are the same call and you do not have to cancel anything first.
Reading the notes
Both read calls return the same shape. A meeting produces its write-up after it ends, so a job_id read too early returns an empty list rather than an error.
| Field | What it is |
|---|---|
content | The notes. Empty once the retention period has passed. |
redacted | True when retention has cleared the text. |
meeting_title | From the invitation. |
attended_meeting | Whether Weaver was actually in the room. |
confidence | How well supported the notes are, or null if nothing measured it. |
evidence, citations | What the notes were drawn from. |
created_at | When the write-up was produced. |
What your key can reach
job_id from another workspace returns an empty list, so this cannot be used to find out whether a meeting exists.When a booking is refused
| Status | What it means |
|---|---|
400 | Something in the request cannot be acted on: a platform Weaver cannot join, a link it could not read, or an end time before the start. |
402 | The account cannot book meetings right now — no active subscription, past due, suspended, or waiting for approval. The request is fine. The same call works once the account is settled. |
429 | Your plan includes a number of meetings each month and that month is full. The response carries the limit, how many are used, and which month. |
422 | The body carried a field that is not part of the request, such as an account id. |
Booking a meeting
Create a workspace API key
In API access. The key names the workspace the meetings belong to.POST the joining link and the start time
With anIdempotency-Keyheader and your ownexternal_event_id. Keep thejob_idthat comes back.Let it run
Weaver joins shortly before the start. Nothing else is needed from you.Read the notes after it ends
GET /v1/meetings/{job_id}. An empty list means the write-up is not finished yet.