Skip to content

Send the Speak AI meeting assistant into your calls

Schedule the Speak AI meeting assistant to join a call, list your scheduled and past meeting events, and remove or delete an assistant booking.

Updated View as MarkdownAsk ClaudeOpen in ChatGPTllms.txt

The Speak AI API exposes 4 meeting assistant endpoints under the base URL https://api.speakai.co/v1. Every request needs the x-speakai-key and x-access-token headers described in Authentication.

Manage Meeting Assistant Events.

Fetch all your scheduled, complete or pending meeting assistant events.

What can you do with the meeting assistant endpoints?

Speak AI groups these 4 endpoints under the meeting assistant resource. Each entry below links to the full reference for that endpoint further down this page.

Events List

GET/meeting-assistant/events

Get All the Meeting Assistants Events.

You can have more flexibily by passing query params.

page - Page number. Default is 0.

pageSize - Total records per page. Default is 25.

platformType - Default value is ""

Please ensure to pass the correct platformType from the list below:

googleMeet
zoom
microsoftTeams
webex

meetingStatus - Default value is ""

Please ensure to pass the correct meetingStatus from the list below:

willJoin
scheduled
cancelled
ready
joiningCall
inCallRecording
callEnded

Parameters

Parameter In Type Required Description
platformType query string No
meetingStatus query string No
page query integer No
pageSize query integer No
Example request
curl -X GET 'https://api.speakai.co/v1/meeting-assistant/events?page=0&pageSize=25' \
  -H 'x-speakai-key: sk_test_speak_0000000000000000' \
  -H 'x-access-token: eyJhbGciOiJIUzI1NiJ9.test-access-token.0000000000'
Response

200 OK

Response body, application/json.

Field Type
status string
data object
data.totalCount integer
data.events object[]

Deeper nested fields are not listed. See the example response below for the full shape.

Example response (Events List), application/json. Arrays are shortened to one entry and long strings are cut.

{
  "status": "success",
  "data": {
    "totalCount": 1,
    "events": [
      {
        "source": "instant",
        "_id": "64d2633e0d3c560cd10c73fd",
        "currentStatus": "callEnded",
        "companyId": "5e21xxxxx772xxxxxxx",
        "userId": "5d0xxxxxxbca272xxxxxx",
        "platform": "zoom",
        "title": "Speak Ai Test Meeting",
        "meetingURL": "ZOOM_MEETING_LINK",
        "startTime": "2023-08-08T15:45:41.629Z",
        "meetingAssistantEventId": "84f8f7d1cb13",
        "attendees": [],
        "history": [
          {
            "status": "joiningCall",
            "createdAt": "2023-08-08T15:46:10.004Z"
          }
        ],
        "createdAt": "2023-08-08T15:46:06.570Z",
        "updatedAt": "2023-08-08T16:31:15.046Z",
        "__v": 0
      }
    ]
  }
}

Delete Scheduled Assistant

DELETE/meeting-assistant/events

Delete scheduled assistant for an event.

Parameters

Parameter In Type Required Description
meetingAssistantEventId query string Yes required field
Example request
curl -X DELETE 'https://api.speakai.co/v1/meeting-assistant/events?meetingAssistantEventId=7c583b090b1f' \
  -H 'x-speakai-key: sk_test_speak_0000000000000000' \
  -H 'x-access-token: eyJhbGciOiJIUzI1NiJ9.test-access-token.0000000000'
Response

200 OK

Response body, application/json.

Field Type
status string
data object
data.status string
data.data string

Example response (Delete a Scheduled Meeting Assistant), application/json.

{
  "status": "success",
  "data": {
    "status": "success",
    "data": "Event Deleted Successfully"
  }
}

Remove Assistant from Meeting

POST/meeting-assistant/events/remove

Remove the assistant from a meeting. POST with meetingAssistantEventId in the JSON body.

Request body

Fields marked required are the ones the server rejects the request without. Anything conditional, where a field becomes required only alongside another, is described under Request rules above rather than marked here.

Field Type Description
meetingAssistantEventId string, required The ID of the meeting assistant event you want the assistant removed from. Required.
Example request
curl -X POST 'https://api.speakai.co/v1/meeting-assistant/events/remove' \
  -H 'x-speakai-key: sk_test_speak_0000000000000000' \
  -H 'x-access-token: eyJhbGciOiJIUzI1NiJ9.test-access-token.0000000000' \
  -H 'Content-Type: application/json' \
  -d '{
  "meetingAssistantEventId": "your_event_id_here"
}'
Response

200 OK

Response body, application/json.

Field Type
status string
data object
data.status string
data.data string

Example response (Remove a Assistant From Meeting), application/json.

{
  "status": "success",
  "data": {
    "status": "success",
    "data": "Meeting Assistant Removed Successfully"
  }
}

Schedule Event

POST/meeting-assistant/events/schedule

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

Fields marked required are the ones the server rejects the request without. Anything conditional, where a field becomes required only alongside another, is described under Request rules above rather than marked here.

Field Type Description
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.
Example request
curl -X POST 'https://api.speakai.co/v1/meeting-assistant/events/schedule' \
  -H 'x-speakai-key: sk_test_speak_0000000000000000' \
  -H 'x-access-token: eyJhbGciOiJIUzI1NiJ9.test-access-token.0000000000' \
  -H 'Content-Type: application/json' \
  -d '{
  "title": "Team Standup",
  "meetingURL": "https://meet.google.com/abc-defg-hij",
  "meetingLanguage": "en-US",
  "meetingDate": "2026-06-01T10:00:00.000Z"
}'
Response

200 OK

Response body, application/json.

Field Type
status string
data object
data.companyId string
data.userId string
data.platform string
data.source string
data.meetingURL string
data.startTime string (date-time)
data.title string
data.meetingLanguage string
data.currentStatus string
data._id string
data.meetingAssistantEventId string
data.attendees any[]
data.history any[]
data.createdAt string (date-time)
data.updatedAt string (date-time)
data.__v integer
data.message string

Example response (Schedule Event), application/json.

{
  "status": "success",
  "data": {
    "companyId": "5e28dd2d77242c222222222",
    "userId": "5d03a9d225d42a272e9c229",
    "platform": "googleMeet",
    "source": "instant",
    "meetingURL": "https://meet.google.com/ctg-wcqv-xxxx",
    "startTime": "2023-12-19T20:20:06.823Z",
    "title": "Meeting Title",
    "meetingLanguage": "en-US",
    "currentStatus": "scheduled",
    "_id": "6581faf3e7435ce0e78ad6b0",
    "meetingAssistantEventId": "89c69e5afcc3",
    "attendees": [],
    "history": [],
    "createdAt": "2023-12-19T20:20:03.208Z",
    "updatedAt": "2023-12-19T20:20:03.208Z",
    "__v": 0,
    "message": "Meeting scheduled Successfully"
  }
}

Get an API key on the Speak AI developer page.

Navigation

Type to search…

↑↓ navigate↵ selectEsc close