> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meetingkit.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Quickstart: your first recorded meeting

> Connect your own calendar, see your meetings, record a call and read its transcript and summary, with curl, in ten minutes.

This runs the whole flow with your own account: you play both your backend and your user.

## 1. Pick a workspace

Copy your key from [API settings](https://api.meetingkit.com/settings/personal/api) and
list the workspaces it manages:

```bash theme={null}
export MEETINGKIT_API_KEY='your_api_key'

curl "https://api.meetingkit.com/api/v1/workspaces" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12"
```

Keep the `id` of the one you test with. In production you create
[one per customer](/meetingkit/setup#a-workspace-per-customer).

```bash theme={null}
export WORKSPACE_ID=wks_01k6a2r9s8x7c2dvq3m5n6p4ab
```

## 2. Register a webhook endpoint

Optional here: you can skip it and read the meeting instead in step 6. To receive webhooks on
your machine, see [Test locally](/api-reference/webhooks#test-locally).

```bash theme={null}
curl -X POST "https://api.meetingkit.com/api/v1/webhook_endpoints" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "'"$WORKSPACE_ID"'",
    "url": "https://your-tunnel.example.com/webhooks",
    "enabled_events": ["calendar_connection.connected", "meeting.created", "meeting.updated", "meeting.finished"]
  }'
```

## 3. Connect your calendar

You own this workspace, so you already are one of its members. Find your `mem_` id:

```bash theme={null}
curl -G "https://api.meetingkit.com/api/v1/members" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12" \
  -d workspace_id=$WORKSPACE_ID \
  -d email=you@example.com
```

```bash theme={null}
export MEMBER_ID=mem_01k69x9s8x7c2dvq3m5n6p4ab
```

Create a connect link for yourself as your backend would, then open its `url` in your
browser:

```bash theme={null}
curl -X POST "https://api.meetingkit.com/api/v1/calendar_connect_links" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "'"$WORKSPACE_ID"'",
    "member_id": "'"$MEMBER_ID"'",
    "provider": "google",
    "return_url": "https://example.com/connected"
  }'
```

Approve access with the Google account whose calendar you want to test. Your users will go through
the same link with `member_data` instead of `member_id`: see
[Connect calendars](/meetingkit/calendar-connection). A link without `member_id` never
connects a workspace owner or admin.

## 4. See your meetings

Give the calendar a minute to sync, then:

```bash theme={null}
curl -G "https://api.meetingkit.com/api/v1/meetings" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12" \
  -d workspace_id=$WORKSPACE_ID \
  -d member_id=$MEMBER_ID \
  -d phase=upcoming \
  -d include=settings
```

Each meeting says whether the notetaker will join, in `settings.recording.enabled`.

## 5. Record a call

Open [meet.new](https://meet.new), then send the notetaker to it:

```bash theme={null}
curl -X POST "https://api.meetingkit.com/api/v1/bots" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12" \
  -H "Content-Type: application/json" \
  -d '{
    "workspace_id": "'"$WORKSPACE_ID"'",
    "member_id": "'"$MEMBER_ID"'",
    "meeting_url": "https://meet.google.com/abc-defg-hij"
  }'
```

Keep the `meeting_id` from the response. Admit the notetaker when it asks to join, talk for
a minute or two, then leave the call.

```bash theme={null}
export MEETING_ID=mtg_01k6b1r9s8x7c2dvq3m5n6p4ab
```

## 6. Read the results

Your endpoint receives `meeting.finished` a few minutes after the call. Without one, read the
meeting every 30 seconds or so until `results.status` is `ready` or `failed`:

```bash theme={null}
curl "https://api.meetingkit.com/api/v1/meetings/$MEETING_ID" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12"
```

Then:

```bash theme={null}
curl "https://api.meetingkit.com/api/v1/meetings/$MEETING_ID/results" \
  -H "Authorization: $MEETINGKIT_API_KEY" \
  -H "Happyscribe-Version: 2026-10-12"
```

You get the transcript as speaker turns, the speakers, the summary with its action items,
and the audio. [A finished meeting](/meetingkit/results) explains every field.

## Next

Build the screens: start with [Connect calendar](/meetingkit/calendar-connection).
