---
title: "Create a meeting (calendar event + Meet or Teams link per host provider + email invites)"
method: POST
path: "/api/meetings"
---

# Create a meeting (calendar event + Meet or Teams link per host provider + email invites)

`POST /api/meetings`

## Request

- Base URL: `https://whenmeet.me`
- URL: `https://whenmeet.me/api/meetings`
- Auth: one of:
  - HTTP bearer
  - API key in cookie `__Host-session`

Meet links need a Google host calendar; Teams links need a Teams-enabled Microsoft 365 work/school host (personal Microsoft accounts get none).

## Request body

- object
  - `participants` string[], required: Up to 50 emails.
  - `startsAt` integer, required: unix ms; at most 60 days from now.
  - `endsAt` integer, required: unix ms; after startsAt.
  - `title` string
  - `conference` 'meet' | 'teams', nullable
  - `tz` string

## Response `200`

id, shareUrl (/m/<id>), conferenceUrl, eventLink, provider, invites (per-recipient email delivery results).

## Other responses

- `400`: invalid_participants (more than 50, or an invalid email) | bad_window (endsAt ≤ startsAt, or startsAt more than 60 days ahead) | no_matching_connection (host lacks the provider needed for the requested conference type).
- `401`: unauthenticated (no session or token), or invalid_token (a Bearer token that is malformed, unknown or revoked — never a silent anonymous fallback).

---

[API](https://skmtc.dev/whenmeet/apis/whenmeet-me-api.md) · [All operations](https://skmtc.dev/whenmeet/apis/whenmeet-me-api/llms.txt) · [OpenAPI document](https://skmtc.dev/whenmeet/apis/whenmeet-me-api/revisions/202b80022215?raw)
