---
title: "Schedule Event"
method: POST
path: "/meeting-assistant/events/schedule"
tags: ["Meeting Assistant Events"]
---

# Schedule Event

`POST /meeting-assistant/events/schedule`

## Request

- Base URL: `https://api.speakai.co/v1`
- URL: `https://api.speakai.co/v1/meeting-assistant/events/schedule`
- Auth: API key in header `x-speakai-key` and API key in header `x-access-token`

### Schedule Meeting Event

This endpoint allows you to schedule a meeting event by providing the meeting details.

**Request Body**

- `meetingDate` (optional): The date and time for the scheduled meeting. If not provided, the meeting will be joined instantly.

- `meetingLanguage` (optional): The language for the meeting. Default is en-US.

- `meetingURL` (required): The URL of the meeting.

- `title` (required): The title of the meeting.

- `tags` (optional): You can pass comma seprated values to store as tags for your media files.


**Response**

- `status`: The status of the response.

- `data`: An object containing details of the scheduled meeting event, including the company ID, user ID, meeting assistant ID, platform, source, meeting URL, start time, title, meeting language, current status, event ID, attendees, history, chat messages, creation and update timestamps, and version.

## Request body

- object
  - `meetingURL` string, required: The URL of the meeting you want the assistant to join. Required. Sent as a plain string. The format is not checked. The controller resolves the meeting platform from this URL and returns 400 with "Invalid meeting url" if it cannot.
  - `title` string: The title you want to give the scheduled meeting and the media it produces. Optional. An empty string or null is treated as absent and the server falls back to "Scheduled Meeting". The title is trimmed before it is stored.
  - `meetingDate` string: The date and time you want the assistant to join the meeting. Optional and nullable. Send an ISO 8601 date-time string. If you omit it, the assistant joins about one second from now.
  - `meetingLanguage` string: The language code you want the meeting transcribed in. Optional and nullable. Must be one of the 137 supported transcription language codes, which include auto and multi. The list is too long to pin as an enum in the spec, so call GET /supported-languages for the current set. If you omit it, the server uses en-US.
  - `folderId` string: The ID of the folder you want the resulting recording filed into. Optional. Empty string and null are both accepted. The folder is only attached when the value is non-empty.

## Response `200`

OK

- object
  - `status` string
  - `data` object
    - `companyId` string
    - `userId` string
    - `platform` string
    - `source` string
    - `meetingURL` string
    - `startTime` string, date-time
    - `title` string
    - `meetingLanguage` string
    - `currentStatus` string
    - `_id` string
    - `meetingAssistantEventId` string
    - `attendees` unknown[]
      - unknown
    - `history` unknown[]
      - unknown
    - `createdAt` string, date-time
    - `updatedAt` string, date-time
    - `__v` integer
    - `message` string

---

[API](https://skmtc.dev/speakai/apis/speak-ai-api.md) · [All operations](https://skmtc.dev/speakai/apis/speak-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/speakai/apis/speak-ai-api/revisions/52d777e6d46e?raw)
