curl --request POST \
--url https://api.meetingkit.com/api/v1/members \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812",
"old_key": ""
}
}
'import requests
url = "https://api.meetingkit.com/api/v1/members"
payload = {
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<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({
workspace_id: 'wks_01k6a2r9s8x7c2dvq3m5n6p4ab',
email: 'jsmith@example.com',
name: '<string>',
client_reference_id: '<string>',
metadata: {gurusup_user_id: 'usr_8812', old_key: ''}
})
};
fetch('https://api.meetingkit.com/api/v1/members', 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/members",
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([
'workspace_id' => 'wks_01k6a2r9s8x7c2dvq3m5n6p4ab',
'email' => 'jsmith@example.com',
'name' => '<string>',
'client_reference_id' => '<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/members"
payload := strings.NewReader("{\n \"workspace_id\": \"wks_01k6a2r9s8x7c2dvq3m5n6p4ab\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\",\n \"client_reference_id\": \"<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/members")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workspace_id\": \"wks_01k6a2r9s8x7c2dvq3m5n6p4ab\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\",\n \"client_reference_id\": \"<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/members")
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 \"workspace_id\": \"wks_01k6a2r9s8x7c2dvq3m5n6p4ab\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\",\n \"client_reference_id\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812"
},
"created_at": "2023-11-07T05:31:56Z",
"settings": {
"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
}
]
}
}{
"id": "<string>",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812"
},
"created_at": "2023-11-07T05:31:56Z",
"settings": {
"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
}
]
}
}{
"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 member
Creates a partner end user inside a workspace. Idempotent on workspace_id and
email: a second call returns the existing member with 200, unchanged (its name
and metadata stay as they are; change them with PATCH /members/{id}). Nothing is emailed,
and the person never hears from MeetingKit: no confirmation, no onboarding, no
summary emails. An email that already belongs to a MeetingKit user is added to
the workspace as it is; such a member’s name is theirs and reads as null.
curl --request POST \
--url https://api.meetingkit.com/api/v1/members \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812",
"old_key": ""
}
}
'import requests
url = "https://api.meetingkit.com/api/v1/members"
payload = {
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<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({
workspace_id: 'wks_01k6a2r9s8x7c2dvq3m5n6p4ab',
email: 'jsmith@example.com',
name: '<string>',
client_reference_id: '<string>',
metadata: {gurusup_user_id: 'usr_8812', old_key: ''}
})
};
fetch('https://api.meetingkit.com/api/v1/members', 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/members",
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([
'workspace_id' => 'wks_01k6a2r9s8x7c2dvq3m5n6p4ab',
'email' => 'jsmith@example.com',
'name' => '<string>',
'client_reference_id' => '<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/members"
payload := strings.NewReader("{\n \"workspace_id\": \"wks_01k6a2r9s8x7c2dvq3m5n6p4ab\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\",\n \"client_reference_id\": \"<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/members")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"workspace_id\": \"wks_01k6a2r9s8x7c2dvq3m5n6p4ab\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\",\n \"client_reference_id\": \"<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/members")
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 \"workspace_id\": \"wks_01k6a2r9s8x7c2dvq3m5n6p4ab\",\n \"email\": \"jsmith@example.com\",\n \"name\": \"<string>\",\n \"client_reference_id\": \"<string>\",\n \"metadata\": {\n \"gurusup_user_id\": \"usr_8812\",\n \"old_key\": \"\"\n }\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812"
},
"created_at": "2023-11-07T05:31:56Z",
"settings": {
"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
}
]
}
}{
"id": "<string>",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"email": "jsmith@example.com",
"name": "<string>",
"client_reference_id": "<string>",
"metadata": {
"gurusup_user_id": "usr_8812"
},
"created_at": "2023-11-07T05:31:56Z",
"settings": {
"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
}
]
}
}{
"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
Workspace ID, beginning with wks_. Treat it as an opaque string. Integer workspace ids are still accepted.
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
The end user's email. Creating a member again with it returns the existing one.
Addresses on disposable-mail domains (such as mailinator.com) and reserved test
domains (such as example.com) are refused with 422 invalid.
255The end user's name.
100Your own id for this person. Stored and returned, never interpreted. Set when the member is created; a second call for the same email keeps the stored one.
255Merged 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 member already existed.
Stable typed member ID beginning with mem_. Treat it as an opaque string.
Always member.
Workspace ID, beginning with wks_. Treat it as an opaque string.
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
The member's email, unique within the workspace.
null for a person who also has workspaces of their own: their name is theirs.
Your own id for this person. Stored and returned, never interpreted. null until you set it.
255Your own key-value pairs, for your ids and context. MeetingKit stores them, returns them on the object and in every webhook that carries it, and never acts on them. Up to 50 keys of up to 40 characters (no square brackets), values up to 500 characters. See metadata.
Show child attributes
Show child attributes
{ "gurusup_user_id": "usr_8812" }
When the member was created, in ISO 8601.
What applies to the member's meetings that no category or meeting decides, and every assignment that reaches
them. On List members, 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
}
]
}