---
title: "Create a new meeting"
method: POST
path: "/v2/meetings"
tags: ["Meetings"]
---

# Create a new meeting

`POST /v2/meetings`

## Request

- Base URL: `https://app.meet.ps/api`
- URL: `https://app.meet.ps/api/v2/meetings`
- Auth: HTTP bearer

Create a new meeting either from scratch or based on an existing item.

## Request body

- union
  - Meeting: A meeting object, including its lifecycle status and configuration
    - `alias` string: Meeting alias to be used for custom URLs, if available.
    - `caption` string: Short & friendly name for the meeting.
    - `altName` string: Alternative, internal ID-like name for a meeting. Optional and non-unique.
    - `status` 'created' | 'started' | 'closed': A meeting is created by default and is normally not available to participants until it's started. Upon conclusion, meetings are expected to be closed.
    - `settings` MeetingSettings: A set of control properties defining meeting experience. These settings can be provided both at creation time or later through meeting editing.
      - `allowInviteOnly` string: Only allow attendees with an email that's in the meeting attendee list. Implies usage of email verification or SAML2.
      - `anonymize` boolean: Whether participant identity (names & emails) are masked in the meeting. Turning this back off for an active meeting is normally not possible.
      - `attendeeLangs` unknown[]: A list of codes (see `language` prop) for interface language available for attendees to dynamically choose from.
        - unknown
      - `iframe` boolean: Disallow opening the meeting in non-iframed context. Be aware that this is not a security measure.
      - `language` 'en' | 'ar' | 'fr' | 'de' | 'it' | 'ja' | 'pt' | 'es': Code for the language to use in Attendee UI.
      - `password` string: A custom password to be required in order to join the meeting.
      - `multipass` boolean: Set to require meeting participants to provide personal access codes. Implies usage of the Attendee Invite system.
      - `restrict` string: Restrict meeting access to only allow participants who use the given federated auth type.
      - `ssourl` boolean: Only allow attendees with a personal link to a meeting. Said links must be generated by the event manager separately.
      - `template` boolean: Allow using this meeting as a shared template for others to create similar meetings.
      - `timezone` string: Intended timezone for the meeting; affects local dates for things like schedule.
      - `scStartedAt` integer: Millisecond-precise timestamp for when the underlying event is expected to start.
      - `scStartedTime` boolean: Whether the `scStartedAt` value is just a date (false) or a datetime (true) value.
      - `scEndedAt` integer: Millisecond-precise timestamp for when the underlying event is expected to end. Can't be less than 'scStartedAt' if provided.
      - `scEndedTime` boolean: Whether the `scEndedAt` value is just a date (false) or a datetime (true) value.
      - `theme` string: An ID for a visual theme to be used for the meeting when it appears in most views.
      - `themePresenter` unknown
      - `validateEmail` boolean: Require emails to be validated before allowing attendees into the meeting. Enabling this implicitly enables the Registration feature.
      - `wl` string: White label for the meeting where additional meeting defaults can be defined
      - `features` object: Flags and settings specific to meeting modules, also known as meeting features
        - `agenda` boolean: Agenda feature availability
        - `announce` boolean: Announce feature availability
        - `chat` boolean: Chat feature availability
        - `ideas` boolean: Q&A (v2, formerly known as the Ideas module) feature availability
        - `ideasTranslation` boolean: Whether autotranslation of user submissions is enabled
        - `materials` boolean: Materials feature availability
        - `polls` boolean: Polls feature availability
        - `pollsQuizTiming` 'abs' | 'join' | 'start': Preference for measuring time to answer quizzes: relative to meeting start time (abs), participant joining (join) or quiz poll start time (start)
        - `pollsTranslation` boolean: Governs automatic answer translation for eligible poll types (e.g. free text poll)
        - `pollsEndMessage` string: \"Thank you\" message text to show after answering all in-meeting polls. Must be enabled via a separate property.
        - `pollsEndMessageOn` boolean: Whether the "Thank you" message after all in-meeting polls should show or not. Message text is customized via a separate property.
        - `pollsEndMessageLogout` boolean: Whether the attendee session should be refreshed after answering all in-meeting polls. Actual refresh delay is set via another property. Implies 'pollsKioskMode' is also set.
        - `pollsAutoReset` integer: Seconds to wait before force-refreshing the attendee session (i.e. log in as another attendee) after all in-meeting polls have been answered. Related option must be toggled on via another property.
        - `pollsInactivityTimeout` boolean: Whether the attendee session should be refreshed after the user starts voting but becomes idle. An idle warning will pop to give the user a chance to interrupt the process.
        - `pollsKioskMode` boolean: Whether the end slide with the "reset for next voter" button shows after voting on all polls in the Polls module.
        - `pollsTimeoutAutoReset` integer: Max idle time in seconds for the user voting inactivity to cause the idle warning to pop and subsequently switch to a fresh meeting attendee. Related option must be toggled separately.
        - `pollsEndLeaderboard` boolean: Whether to show the quiz leaderboard for attendees after all in-meeting polls have been voted on. Quizzes must be present in the Polls module for the leaderboard to actually show.
        - `pulse` boolean: Pulse feature availability
        - `pulseConfig` object: Pulse configuration for the buttons, colors and emojis
        - `pulseFeedback` boolean: Pulse bubble-up emojis
        - `questions` boolean: Q&A feature availability
        - `raffle` boolean: Raffles feature availability
        - `raffleWinnerInfo` boolean: Whether a raffle winner will be prompted to provide their name and email in case either or both of them are not known yet.
        - `registration` boolean: Registration feature availability
        - `schedule` boolean: Schedule feature availability
        - `selfies` boolean: Photos feature availability
        - `slides` boolean: Slides feature availability
        - `video` boolean: Video feature availability
  - MeetingCopy: Meeting configuration preferences when creating a meeting based on an existing reference.
    - `options` MeetingCloneOpts: Meeting duplication / reset options
      - `caption` string: Friendly meeting descriptor.
      - `clone` boolean: Do a full deep cloning of the source meeting bypassing any selective settings.
      - `persistAttendees` boolean: Carry over old attendee names, if any.
      - `persistPollResponses` boolean: Carry over existing votes for polls.
      - `persistIdeas` boolean: Carry over Q&A contributions and comments.
      - `questions` object
        - `persist` boolean: Carry over old submitted questions. Legacy.
        - `persistAnswered` boolean: When carrying over old questions, include answered/rejected items. Legacy.
    - `parentId` string: Reference meeting string ID to copy data from. Can be owned meeting or a template.
    - `sessionId` string: A string ID of a meeting that's part of a session group to put the new meeting into.
    - `alias` string: Custom meeting reference for nice URLs. Mutually exclusive with sessionId.

## Response `200`

- object
  - `result` object
    - `id` string: ID of the new meeting
    - `aliases` string[]: List of meeting aliases (extra names) associated with the new item.

## Other responses

- `402`: A paid subscription is required to create a meeting with the configuration provided.
- `403`: Meeting failed to created due to a name collision with an existing item that doesn't belong to you.
- `422`: Can't create a meeting with the configuration provided.

---

[API](https://skmtc.dev/meet/apis/meetingpulse-api.md) · [All operations](https://skmtc.dev/meet/apis/meetingpulse-api/llms.txt) · [OpenAPI document](https://skmtc.dev/meet/apis/meetingpulse-api/revisions/dc29466adc0e?raw)
