Teams let multiple Vennio users share availability. When you query a team's availability, Vennio finds slots where all schedulable members are simultaneously free.
Teams vs hosts. Use a team to find one slot where a group is all free (one meeting, many attendees). To run a roster of independently-bookable people under one account — each booked separately, on their own calendar — use Multi-Host Accounts instead.
| Method | Path | Purpose |
|---|---|---|
| POST | /v1/teams | Create a team |
| GET | /v1/teams | List my teams |
| GET | /v1/teams/:id | Get team + members |
| PATCH | /v1/teams/:id | Update name/description (owner only) |
| DELETE | /v1/teams/:id | Delete team (owner only) |
| POST | /v1/teams/:id/members | Add a member |
| DELETE | /v1/teams/:id/members/:memberId | Remove a member (owner only) |
| GET | /v1/teams/:id/availability | Get mutual free slots |
| POST | /v1/teams/:id/proposals | Create a scheduling proposal |
curl -X POST https://api.vennio.app/v1/teams \
-H "Authorization: Bearer $VENNIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "Engineering Squad",
"description": "Weekly syncs and interviews"
}'
curl "https://api.vennio.app/v1/teams/team_abc123/availability?duration_minutes=30&from=2026-04-07T09:00:00Z&to=2026-04-11T17:00:00Z&timezone=Europe/London&limit=10" \
-H "Authorization: Bearer $VENNIO_API_KEY"
| Parameter | Type | Default | Description |
|---|---|---|---|
duration_minutes |
integer | 30 | Duration of the desired slot |
from |
ISO datetime | — | Required. Window start |
to |
ISO datetime | — | Required. Window end |
timezone |
IANA timezone | UTC | Timezone for slot grouping |
limit |
integer (1–50) | 10 | Maximum slots to return |
A proposal shares a set of candidate slots with invitees and collects their preference:
curl -X POST https://api.vennio.app/v1/teams/team_abc123/proposals \
-H "Authorization: Bearer $VENNIO_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"title": "Q2 Planning Session",
"slots": [
{ "start": "2026-04-08T10:00:00Z", "end": "2026-04-08T10:30:00Z" },
{ "start": "2026-04-09T14:00:00Z", "end": "2026-04-09T14:30:00Z" }
]
}'
| Type | Description |
|---|---|
vennio_user |
A registered Vennio user. Their calendar is checked for availability. |
external_consent |
An external party who must consent before their availability is considered. |
email_only |
Added by email address only. No calendar access — skipped in availability calculations. |
email_only, availability calls will fail — there are no calendars to query.email_only members are skipped in mutual availability calculations. They can still receive proposals.