account

Create an event type

Creates an event type in a team (default: your personal team). Requires admin. Only title and durationMinutes are required. For team scheduling, set kind to round_robin or collective and list hostIds. Round robin, collective and paid event types need the Team plan (402 upgrade_required). Returns the event type with its public url.

post/api/v1/event-types

Request

  • Base URL: https://meettempi.com
  • URL: https://meettempi.com/api/v1/event-types
  • Auth: one of:
    • HTTP bearer
    • API key in cookie tempi_session

Request body

teamstring

the id or slug of a team you belong to

titlestring required

its name, as invitees see it (at most 120 characters, no web addresses)

durationMinutesinteger required

a duration in minutes between 5 and 480

slugstring

the last part of the booking link (<team link>/<slug>): 1-40 lowercase letters, digits or dashes

descriptionstring

what invitees read about it on its booking page (at most 2000 characters)

kind'one_on_one' | 'round_robin' | 'collective'

one_on_one (one host) | round_robin (one free host per booking, load-balanced) | collective (all hosts attend, only when everyone is free)

hostIdsstring[]

the user ids of team members who host it (on create, defaults to you)

locationType'none' | 'google_meet' | 'teams' | 'zoom' | 'custom'

none | google_meet (adds a Meet link when the organizer's booking calendar is Google Calendar) | teams (adds a Microsoft Teams link when the organizer's booking calendar is Outlook with Teams, a work or school account) | zoom (every booking gets the Zoom link in location) | custom (uses location)

locationstring

where it happens, when you write the place yourself: an address, a room or a phone number (at most 500 characters)

minNoticeMinutesinteger

the minimum notice in minutes before a booking can start (0-43200)

maxDaysAheadinteger

how many days ahead invitees can book (1-365)

bufferBeforeMinutesinteger

free minutes to keep before each meeting (0-240)

bufferAfterMinutesinteger

free minutes to keep after each meeting (0-240)

maxPerDayinteger nullable

a number between 1 and 100

maxPerWeekinteger nullable

a number between 1 and 500

maxPerMonthinteger nullable

a number between 1 and 2000

inviteeLimitinteger nullable

a number between 1 and 50

inviteeLimitPeriod'upcoming' | 'week' | 'month'

upcoming (future bookings at one time) | week (per calendar week) | month (per calendar month), in the first host's time zone

inviteeChangeCutoffHoursinteger

how many hours before the start invitees can still cancel or reschedule (0-720, 0 = until it starts, hosts always can)

inviteeCanCancelboolean

false to let invitees reschedule but not cancel (hosts still can)

priceCentsinteger nullable

a number between 50 and 10000000

currencystring

a lowercase ISO 4217 currency code, such as usd

refundWindowHoursinteger

how many hours before the start an invitee can cancel with a full refund (0-720, host cancellations are always refunded)

color'orange' | 'yellow' | 'green' | 'teal' | 'blue' | 'purple' | 'red' | 'gray'

its color in the Tempi app: orange | yellow | green | teal | blue | purple | red | gray (default: one picked for it)

repeatMaxinteger nullable

a number between 2 and 52

requiresApprovalboolean

true: each booking is a request that holds the time until a host approves it (approve_booking) or declines it (decline_booking), and lapses if nobody does before it starts. Not with a price or repeatMax

remindInviteesboolean

true (the default) to email invitees a day and an hour before each booking, false for no reminders

coverstring nullable

a painted cover for the booking page, the confirmation, link previews and the invitee's emails: a cover id from list_covers, "sky" (the sky at the meeting's time of day), "hand", "light" or "still" (a different painting of that family for each booking), or null for none (the default)

Response

Success

Changes

No recorded changes to this operation across all 1 revision of this API.