curl --request POST \
--url https://api.meetingkit.com/api/v1/workspaces \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812",
"old_key": ""
}
}
'import requests
url = "https://api.meetingkit.com/api/v1/workspaces"
payload = {
"name": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812",
"old_key": ""
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', metadata: {gurusup_user_id: 'usr_8812', old_key: ''}})
};
fetch('https://api.meetingkit.com/api/v1/workspaces', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetingkit.com/api/v1/workspaces",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'metadata' => [
'gurusup_user_id' => 'usr_8812',
'old_key' => ''
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetingkit.com/api/v1/workspaces"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetingkit.com/api/v1/workspaces")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/workspaces")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"name": "Acme Corp",
"role": "owner",
"created_at": "2024-01-15T10:30:00.000Z",
"updated_at": "2024-02-01T14:20:00.000Z",
"metadata": {
"gurusup_org_id": "org_42"
},
"owner_email": "integrations@gurusup.com",
"members_count": 12,
"is_human_transcription_allowed": true,
"is_human_translation_allowed": true,
"email_domains": [],
"idp_company_names": [],
"currency": "eur",
"settings": {
"recording": {
"enabled": false,
"methods": {
"bot": {
"start": "on_join",
"mode": "audio_and_video",
"silence_detection": {
"alert": true
}
}
}
},
"transcription": {
"language": "auto"
},
"summary": {
"template": "general_meeting_notes",
"language": "same_as_transcript"
},
"branding": {
"brand_kit_id": "none"
},
"sources": {
"recording.enabled": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"recording.methods.bot.start": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"recording.methods.bot.mode": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"recording.methods.bot.silence_detection.alert": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"transcription.language": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"summary.template": {
"assignment_id": null,
"reason": "happyscribe_default"
},
"summary.language": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"branding.brand_kit_id": {
"assignment_id": "asg_01k6a0wks00000000000000000"
}
},
"assignments": [
{
"id": "asg_01k6a3ext00000000000000000",
"settings_id": "set_01k6rec00000000000000000000",
"scope": [
"workspace:wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"meetings:external"
],
"own": true
},
{
"id": "asg_01k6a0wks00000000000000000",
"settings_id": "set_01k6wks00000000000000000000",
"scope": [
"workspace:wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
],
"own": true
}
]
}
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}Create a workspace
Creates a workspace with the caller as its owner. The new workspace has every feature on, nothing is billed, and its speakers are identified from its first meeting.
curl --request POST \
--url https://api.meetingkit.com/api/v1/workspaces \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"name": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812",
"old_key": ""
}
}
'import requests
url = "https://api.meetingkit.com/api/v1/workspaces"
payload = {
"name": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812",
"old_key": ""
}
}
headers = {
"Authorization": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({name: '<string>', metadata: {gurusup_user_id: 'usr_8812', old_key: ''}})
};
fetch('https://api.meetingkit.com/api/v1/workspaces', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.meetingkit.com/api/v1/workspaces",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'name' => '<string>',
'metadata' => [
'gurusup_user_id' => 'usr_8812',
'old_key' => ''
]
]),
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.meetingkit.com/api/v1/workspaces"
payload := strings.NewReader("{\n \"name\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "<api-key>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.meetingkit.com/api/v1/workspaces")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"name\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/workspaces")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"name\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"name": "Acme Corp",
"role": "owner",
"created_at": "2024-01-15T10:30:00.000Z",
"updated_at": "2024-02-01T14:20:00.000Z",
"metadata": {
"gurusup_org_id": "org_42"
},
"owner_email": "integrations@gurusup.com",
"members_count": 12,
"is_human_transcription_allowed": true,
"is_human_translation_allowed": true,
"email_domains": [],
"idp_company_names": [],
"currency": "eur",
"settings": {
"recording": {
"enabled": false,
"methods": {
"bot": {
"start": "on_join",
"mode": "audio_and_video",
"silence_detection": {
"alert": true
}
}
}
},
"transcription": {
"language": "auto"
},
"summary": {
"template": "general_meeting_notes",
"language": "same_as_transcript"
},
"branding": {
"brand_kit_id": "none"
},
"sources": {
"recording.enabled": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"recording.methods.bot.start": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"recording.methods.bot.mode": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"recording.methods.bot.silence_detection.alert": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"transcription.language": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"summary.template": {
"assignment_id": null,
"reason": "happyscribe_default"
},
"summary.language": {
"assignment_id": "asg_01k6a0wks00000000000000000"
},
"branding.brand_kit_id": {
"assignment_id": "asg_01k6a0wks00000000000000000"
}
},
"assignments": [
{
"id": "asg_01k6a3ext00000000000000000",
"settings_id": "set_01k6rec00000000000000000000",
"scope": [
"workspace:wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"meetings:external"
],
"own": true
},
{
"id": "asg_01k6a0wks00000000000000000",
"settings_id": "set_01k6wks00000000000000000000",
"scope": [
"workspace:wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
],
"own": true
}
]
}
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}Authorizations
Your API key, sent bare. See Authentication.
Body
Name of the workspace.
100Merged into the object's metadata: the keys you send are added or overwritten and the
others kept. "" as a value removes that key; metadata: "" removes every key. Numbers and
booleans are stored as their text; objects, arrays and null are refused.
Show child attributes
Show child attributes
{
"gurusup_user_id": "usr_8812",
"old_key": ""
}
Response
The created workspace.
Workspace ID, beginning with wks_. Treat it as an opaque string.
The workspace name, shown to its members in MeetingKit.
The authenticated user's role in this workspace.
owner: owns the workspace.admin: manages the workspace.member: records and reads their own meetings.guest: sees only what is shared with them.
owner, admin, member, guest When it was created, in ISO 8601.
When it last changed, in ISO 8601.
(staff only) Email address of the workspace owner.
(staff only) Number of members, excluding guests and deleted users.
(staff only) Whether the workspace may order human transcription.
(staff only) Whether the workspace may order human translation.
(staff only) Domains that auto-join the workspace at sign-up.
(staff only) IdP company names configured for SSO.
(staff only) Billing currency code, e.g. usd, eur, gbp.
(staff only) Your key-value pairs.
Show child attributes
Show child attributes
{ "gurusup_user_id": "usr_8812" }
(staff only) What applies to the workspace's meetings that no member, category or meeting decides. On
List workspaces, only with include=settings.
Show child attributes
Show child attributes
{
"recording": {
"enabled": true,
"methods": {
"bot": {
"start": "on_join",
"mode": "audio_only",
"silence_detection": { "alert": true }
}
}
},
"transcription": { "language": "ca" },
"summary": {
"template": "discovery_call",
"language": "same_as_transcript"
},
"branding": {
"brand_kit_id": "brk_01k6acme00000000000000000"
},
"sources": {
"recording.enabled": {
"assignment_id": "asg_01k6a3ext00000000000000000"
},
"recording.methods.bot.start": {
"assignment_id": "asg_01k6a1ana00000000000000000"
},
"recording.methods.bot.mode": {
"assignment_id": "asg_01k6a1ana00000000000000000"
},
"recording.methods.bot.silence_detection.alert": {
"assignment_id": "asg_01k6a1ana00000000000000000"
},
"transcription.language": {
"assignment_id": "asg_01k6a1ana00000000000000000"
},
"summary.template": {
"assignment_id": "asg_01k6a1ana00000000000000000"
},
"summary.language": {
"assignment_id": "asg_01k6a1ana00000000000000000"
},
"branding.brand_kit_id": {
"assignment_id": "asg_01k6a0wks00000000000000000"
}
},
"assignments": [
{
"id": "asg_01k6a3ext00000000000000000",
"settings_id": "set_01k6rec00000000000000000000",
"scope": [
"member:mem_01k69x9s8x7c2dvq3m5n6p4ab",
"meetings:external"
],
"own": false
},
{
"id": "asg_01k6a1ana00000000000000000",
"settings_id": "set_01k6sa1es0000000000000000a",
"scope": ["member:mem_01k69x9s8x7c2dvq3m5n6p4ab"],
"own": false
},
{
"id": "asg_01k6a0wks00000000000000000",
"settings_id": "set_01k6wks00000000000000000000",
"scope": ["workspace:wks_01k6a2r9s8x7c2dvq3m5n6p4ab"],
"own": false
}
]
}