Agendar reunião
Há dois caminhos: marcar a reunião direto (você define o horário e convida as pessoas) ou agendar um horário livre num link de agendamento (como no Calendly).
Marcar direto
POST /v1/meetings cria uma sala com data. Os convidados recebem o convite por e-mail, com o link e um arquivo de calendário. Exige a permissão calendar:write.
curl -X POST https://api.kanutus.com/v1/meetings \
-H "Authorization: Bearer $KANUTUS_API_KEY" \
-H "Idempotency-Key: $(uuidgen)" \
-H "Content-Type: application/json" \
-d '{
"title": "Revisão com Kenji",
"starts_at": "2026-10-12T10:00:00-03:00",
"duration_min": 30,
"invitees": ["kenji@exemplo.com"],
"langs": ["pt", "ja"]
}'starts_atvai em ISO 8601 com o fuso horário.langssão as línguas dos participantes; elas ajudam o Kanutus a se preparar.- A resposta é uma sala com
status: "scheduled"e aurldela.
Para listar, use GET /v1/meetings?from=…&to=…. Para cancelar, use DELETE /v1/meetings/{id}; os convidados são avisados.
Agendar num link de agendamento
- Liste os seus links de agendamento (exige
calendar:read):bashcurl https://api.kanutus.com/v1/event-types -H "Authorization: Bearer $KANUTUS_API_KEY" - Veja os horários livres (em UTC) de um deles:bash
curl "https://api.kanutus.com/v1/event-types/<event_type_id>/slots?from=2026-10-13&to=2026-10-17" \ -H "Authorization: Bearer $KANUTUS_API_KEY" - Agende um horário para o convidado (exige
calendar:write). Ele recebe o convite por e-mail:bashcurl -X POST https://api.kanutus.com/v1/bookings \ -H "Authorization: Bearer $KANUTUS_API_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -H "Content-Type: application/json" \ -d '{"event_type_id": "<event_type_id>", "start": "2026-10-14T13:00:00Z", "guest": {"name": "Lena", "email": "lena@exemplo.com", "speak": "fr", "tz": "Europe/Paris"}}'
Para agendar no link de outra pessoa, mande page e event (os trechos da URL de agendamento dela) em vez de event_type_id. Se o horário tiver sido ocupado nesse meio-tempo, a resposta é 409 slot_taken.
Eventos
meeting.created, meeting.canceled e booking.created chegam aos seus webhooks.
Com um assistente (MCP)
"Ache um horário livre na terça que vem à tarde no meu link de 30 minutos e agende para lena@exemplo.com, ela fala francês." O assistente usa list_booking_links, find_slots e book_slot.