### Install Dependencies and Run Server Source: https://docs.meetstream.ai/guides/websockets/bridge-server-architecture.md Commands to install required packages and start the FastAPI server using Uvicorn. ```bash pip install fastapi uvicorn numpy uvicorn server:app --host 0.0.0.0 --port 8000 ``` -------------------------------- ### Install Dependencies and Start Helper Source: https://docs.meetstream.ai/guides/calendar-integrations/outlook-calendar-setup.md Commands to set up the local Node.js environment and initiate the OAuth flow. ```bash npm install express @azure/msal-node dotenv node server_microsoft.js ``` -------------------------------- ### SDK Integration Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-audio.md Code examples for interacting with the Get Bot Audio endpoint across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/bots/bot_id/get_audio" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/bots/bot_id/get_audio'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/bots/bot_id/get_audio" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/bots/bot_id/get_audio") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/bots/bot_id/get_audio") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/bots/bot_id/get_audio', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/bots/bot_id/get_audio"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/bot_id/get_audio")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Python SDK Example Source: https://docs.meetstream.ai/api-reference/api-endpoints/mia/create-agent-config.md Example demonstrating how to create an agent configuration using the requests library. ```python import requests url = "https://api.meetstream.ai/api/v1/mia" payload = { "agent_name": "New MIA Agent", "mode": "realtime", "model": { "provider": "openai", "model": "gpt-realtime-mini", "system_prompt": "You are a helpful AI meeting assistant. Keep responses concise and natural. Listen actively and provide value to the conversation.", "first_message": "Hey there! I am your AI assistant, ready to help with your meeting.", "temperature": 0.8, "voice": "coral", "modalities": ["text", "audio"], "max_response_output_tokens": 200 }, "voice": None, "transcriber": None, "agent": { "tools": [], "preemptive_generation": False, "user_away_timeout": 15, "interruptions": { "min_duration_seconds": 0.5, "word_threshold": 0 }, "false_interruption_timeout": 2, "enable_interruptions": True, "resume_false_interruption": True, "tools_enabled": False, "vad_threshold": 0.5, "vad_prefix_padding_ms": 0, "vad_silence_duration_ms": 200 }, "audio": { "sample_rate": 24000, "num_channels": 1 }, "wake_word": None } headers = { "Authorization": "", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` -------------------------------- ### SDK Implementation Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-status.md Code examples for interacting with the Get Bot Status endpoint across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/bots/bot_id/status" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/bots/bot_id/status'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/bots/bot_id/status" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/bots/bot_id/status") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/bots/bot_id/status") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/bots/bot_id/status', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/bots/bot_id/status"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/bot_id/status")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### SDK Implementation Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/mia/update-agent-config.md Code examples for updating agent configuration across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/mia" payload = { "agent_config_id": "d3ffa96f-85be-4037-81d0-a8eeb80c4876", "agent": { "interruption_mode": "adaptive", "interruptions": { "min_duration_seconds": 0.8, "word_threshold": 3 } } } headers = { "Authorization": "", "Content-Type": "application/json" } response = requests.put(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/mia'; const options = { method: 'PUT', headers: {Authorization: '', 'Content-Type': 'application/json'}, body: '{"agent_config_id":"d3ffa96f-85be-4037-81d0-a8eeb80c4876","agent":{"interruption_mode":"adaptive","interruptions":{"min_duration_seconds":0.8,"word_threshold":3}}}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/mia" payload := strings.NewReader("{\n \"agent_config_id\": \"d3ffa96f-85be-4037-81d0-a8eeb80c4876\",\n \"agent\": {\n \"interruption_mode\": \"adaptive\",\n \"interruptions\": {\n \"min_duration_seconds\": 0.8,\n \"word_threshold\": 3\n }\n }\n}") req, _ := http.NewRequest("PUT", url, payload) req.Header.Add("Authorization", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/mia") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Put.new(url) request["Authorization"] = '' request["Content-Type"] = 'application/json' request.body = "{\n \"agent_config_id\": \"d3ffa96f-85be-4037-81d0-a8eeb80c4876\",\n \"agent\": {\n \"interruption_mode\": \"adaptive\",\n \"interruptions\": {\n \"min_duration_seconds\": 0.8,\n \"word_threshold\": 3\n }\n }\n}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.put("https://api.meetstream.ai/api/v1/mia") .header("Authorization", "") .header("Content-Type", "application/json") .body("{\n \"agent_config_id\": \"d3ffa96f-85be-4037-81d0-a8eeb80c4876\",\n \"agent\": {\n \"interruption_mode\": \"adaptive\",\n \"interruptions\": {\n \"min_duration_seconds\": 0.8,\n \"word_threshold\": 3\n }\n }\n}") .asString(); ``` ```php request('PUT', 'https://api.meetstream.ai/api/v1/mia', [ 'body' => '{ "agent_config_id": "d3ffa96f-85be-4037-81d0-a8eeb80c4876", "agent": { "interruption_mode": "adaptive", "interruptions": { "min_duration_seconds": 0.8, "word_threshold": 3 } } }', 'headers' => [ 'Authorization' => '', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` -------------------------------- ### Get Raw Transcription SDK Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/transcription/get-transcription.md Implementation examples for retrieving raw transcriptions across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript" querystring = {"raw":"true"} headers = {"Authorization": ""} response = requests.get(url, headers=headers, params=querystring) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/transcript/aa6e41aa-a21b-45ff-8f4d-40226c9eaea8/get_transcript?raw=true")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Enable Auto-Scheduling SDK Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/calendar/setup-cron.md Implementation examples for enabling auto-scheduling using various programming languages and HTTP clients. ```python import requests url = "https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable" payload = {} headers = { "Authorization": "", "Content-Type": "application/json" } response = requests.post(url, json=payload, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable'; const options = { method: 'POST', headers: {Authorization: '', 'Content-Type': 'application/json'}, body: '{}' }; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "strings" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable" payload := strings.NewReader("{}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "") req.Header.Add("Content-Type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = '' request["Content-Type"] = 'application/json' request.body = "{}" response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable") .header("Authorization", "") .header("Content-Type", "application/json") .body("{}") .asString(); ``` ```php request('POST', 'https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable', [ 'body' => '{}', 'headers' => [ 'Authorization' => '', 'Content-Type' => 'application/json', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", ""); request.AddHeader("Content-Type", "application/json"); request.AddParameter("application/json", "{}", ParameterType.RequestBody); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = [ "Authorization": "", "Content-Type": "application/json" ] let parameters = [] as [String : Any] let postData = JSONSerialization.data(withJSONObject: parameters, options: []) let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/calendar/auto-schedule/enable")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers request.httpBody = postData as Data let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### SDK Implementation Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/calendar/get-calendars.md Code examples for retrieving calendars using various programming languages and HTTP clients. ```python import requests url = "https://api.meetstream.ai/api/v1/calendar" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/calendar'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/calendar" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/calendar") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/calendar") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/calendar', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/calendar"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/calendar")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### SDK Implementation Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/google-signed-in-bots/create-google-login.md Code examples for integrating with the Create Google Login endpoint across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/google-logins" headers = {"Authorization": ""} response = requests.post(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/google-logins'; const options = {method: 'POST', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/google-logins" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/google-logins") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Post.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.post("https://api.meetstream.ai/api/v1/google-logins") .header("Authorization", "") .asString(); ``` ```php request('POST', 'https://api.meetstream.ai/api/v1/google-logins', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/google-logins"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/google-logins")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "POST" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### FastAPI Server Installation and Execution Source: https://docs.meetstream.ai/guides/websockets/meeting-control-patterns.md Commands to install dependencies and run the FastAPI server. ```bash pip install fastapi uvicorn websockets numpy uvicorn server:app --host 0.0.0.0 --port 8000 ``` -------------------------------- ### Install Dependencies Source: https://docs.meetstream.ai/guides/app-integrations/using-credentials-with-meetstream-api.md Command to install the required Node.js packages for the OAuth helper. ```bash npm install express googleapis dotenv ``` -------------------------------- ### Retrieve Agent Configurations SDK Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/mia/get-agent-configs.md Code examples for fetching agent configurations using various programming languages. Replace with your actual API key. ```python import requests url = "https://api.meetstream.ai/api/v1/mia" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/mia'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/mia" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/mia") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/mia") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/mia', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/mia"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` -------------------------------- ### API Request Examples Source: https://docs.meetstream.ai/api-reference/authentication.md Examples of how to authenticate and perform a request to the bots endpoint using different languages. ```bash curl https://api.meetstream.ai/api/v1/bots \ -H "Authorization: Token YOUR_API_KEY" ``` ```python import requests resp = requests.get( "https://api.meetstream.ai/api/v1/bots", headers={"Authorization": "Token YOUR_API_KEY"}, ) print(resp.json()) ``` ```javascript const res = await fetch("https://api.meetstream.ai/api/v1/bots", { headers: { Authorization: "Token YOUR_API_KEY" }, }); console.log(await res.json()); ``` -------------------------------- ### SDK Implementation Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/google-signed-in-bots/update-google-domain.md Code examples for interacting with the updateGoogleDomain endpoint across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/google-login-domains/domain" headers = {"Authorization": ""} response = requests.patch(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/google-login-domains/domain'; const options = {method: 'PATCH', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/google-login-domains/domain" req, _ := http.NewRequest("PATCH", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/google-login-domains/domain") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Patch.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.patch("https://api.meetstream.ai/api/v1/google-login-domains/domain") .header("Authorization", "") .asString(); ``` ```php request('PATCH', 'https://api.meetstream.ai/api/v1/google-login-domains/domain', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/google-login-domains/domain"); var request = new RestRequest(Method.PATCH); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/google-login-domains/domain")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "PATCH" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Fetch Participants SDK Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/fetch-participants.md Implementation examples for retrieving participant data across various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/bots/bot_id/get_participants" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/bots/bot_id/get_participants'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/bots/bot_id/get_participants" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/bots/bot_id/get_participants") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/bots/bot_id/get_participants") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/bots/bot_id/get_participants', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/bots/bot_id/get_participants"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/bot_id/get_participants")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### SDK Integration Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-screenshots.md Code examples for interacting with the API using various programming languages. ```python import requests url = "https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/bot_id/get_screenshots")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### SDK Implementation Examples Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-details.md Code examples for retrieving bot details using various programming languages and HTTP clients. Replace with your actual API key. ```python import requests url = "https://api.meetstream.ai/api/v1/bots/bot_id/detail" headers = {"Authorization": ""} response = requests.get(url, headers=headers) print(response.json()) ``` ```javascript const url = 'https://api.meetstream.ai/api/v1/bots/bot_id/detail'; const options = {method: 'GET', headers: {Authorization: ''}}; try { const response = await fetch(url, options); const data = await response.json(); console.log(data); } catch (error) { console.error(error); } ``` ```go package main import ( "fmt" "net/http" "io" ) func main() { url := "https://api.meetstream.ai/api/v1/bots/bot_id/detail" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := io.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) } ``` ```ruby require 'uri' require 'net/http' url = URI("https://api.meetstream.ai/api/v1/bots/bot_id/detail") http = Net::HTTP.new(url.host, url.port) http.use_ssl = true request = Net::HTTP::Get.new(url) request["Authorization"] = '' response = http.request(request) puts response.read_body ``` ```java import com.mashape.unirest.http.HttpResponse; import com.mashape.unirest.http.Unirest; HttpResponse response = Unirest.get("https://api.meetstream.ai/api/v1/bots/bot_id/detail") .header("Authorization", "") .asString(); ``` ```php request('GET', 'https://api.meetstream.ai/api/v1/bots/bot_id/detail', [ 'headers' => [ 'Authorization' => '', ], ]); echo $response->getBody(); ``` ```csharp using RestSharp; var client = new RestClient("https://api.meetstream.ai/api/v1/bots/bot_id/detail"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", ""); IRestResponse response = client.Execute(request); ``` ```swift import Foundation let headers = ["Authorization": ""] let request = NSMutableURLRequest(url: NSURL(string: "https://api.meetstream.ai/api/v1/bots/bot_id/detail")! as URL, cachePolicy: .useProtocolCachePolicy, timeoutInterval: 10.0) request.httpMethod = "GET" request.allHTTPHeaderFields = headers let session = URLSession.shared let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in if (error != nil) { print(error as Any) } else { let httpResponse = response as? HTTPURLResponse print(httpResponse) } }) dataTask.resume() ``` -------------------------------- ### Install and Configure MeetStream Plugin Source: https://docs.meetstream.ai/build-with-ai/claude-integration.md Commands to register the marketplace, install the plugin, and reload the session within the Claude Code prompt. ```text /plugin marketplace add meetstream-ai/claude-plugin ``` ```text /plugin install meetstream@meetstream-ai ``` ```text /reload-plugins ``` -------------------------------- ### Start Helper Server Source: https://docs.meetstream.ai/guides/app-integrations/using-credentials-with-meetstream-api.md Command to run the OAuth helper server. ```bash node server.js ``` -------------------------------- ### Barge-In Pattern Source: https://docs.meetstream.ai/guides/websockets/meeting-control-patterns.md Example function to trigger an audio interrupt when a user starts speaking. ```python async def handle_barge_in(ws, bot_id: str): """Stop the bot's audio when a user starts speaking.""" await ws.send(json.dumps({ "command": "interrupt", "bot_id": bot_id, "action": "clear_audio_queue", })) ``` -------------------------------- ### API Response Example Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-status.md A sample JSON response returned by the Get Bot Status endpoint. ```json { "bot_id": "6e1516f8-5518-413b-9d79-93000f8cb3b9", "status": "NotAllowed", "custom_attributes": {} } ``` -------------------------------- ### Get Bot Audio Response Example Source: https://docs.meetstream.ai/api-reference/api-endpoints/bot-endpoints/get-bot-audio.md The JSON structure returned by the API upon a successful request. ```json { "audio_url": "https://ms-s3-bucket.s3.amazonaws.com/audio.wav" } ``` -------------------------------- ### Install ngrok Source: https://docs.meetstream.ai/guides/webhooks/local-webhook-server.md Command to install ngrok via Homebrew on macOS. ```bash brew install ngrok/ngrok/ngrok ``` -------------------------------- ### Initialize Node.js Express Project Source: https://docs.meetstream.ai/guides/webhooks/local-webhook-server.md Commands to create a directory and install the Express dependency. ```bash mkdir meetstream-webhook-test && cd meetstream-webhook-test npm init -y npm i express ```