curl --request GET \
--url https://api.meetingkit.com/api/v1/brand_kits/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetingkit.com/api/v1/brand_kits/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.meetingkit.com/api/v1/brand_kits/{id}', 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/brand_kits/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meetingkit.com/api/v1/brand_kits/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meetingkit.com/api/v1/brand_kits/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/brand_kits/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "brk_01k6c3v7w2q9d8m4n5p6r7s8tx",
"object": "brand_kit",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"workspace_ids": [
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"wks_01k6a3t4v5w6x7y8z9a0b1c2de"
],
"bot": {
"name": "Acme Assistant",
"tile": {
"type": "logo",
"logo": {
"file": {
"id": "file_01k6d8q4z7m2n5p8r1s3t6v9wx",
"url": "https://assets.meetingkit.com/logos/acme.png?Expires=1822298280&Signature=…"
},
"background_color": "#0B1F3A",
"scale": 70
}
},
"chat": {
"enabled": true,
"recording_message": "Hi, I'm Acme Assistant, taking notes for {{user}}.",
"paused_message": "Recording is paused."
}
},
"email": {
"type": "branded",
"branded": {
"logo": {
"id": "file_01k6d8q4z7m2n5p8r1s3t6v9wx",
"url": "https://assets.meetingkit.com/logos/acme.png?Expires=1822298280&Signature=…"
},
"color": "#0052FF",
"website": "https://acme.com",
"description": "Acme AI Meeting Companion",
"cta": {
"type": "link",
"link": {
"label": "Open in Acme",
"url": "https://acme.com/m/{{meeting_id}}"
}
}
}
},
"preview_url": "https://api.meetingkit.com/app/shared/brand-kits/brk_01k6c3v7w2q9d8m4n5p6r7s8tx/preview?token=WyJicmtfMDFrNmMzdjd3MnE5ZDhtNG41cDZyN3M4dHgiLDE3OTA0MTM4MDBd--50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c",
"preview_expires_at": "2026-09-26T09:10:00Z",
"metadata": {},
"created_at": "2026-09-30T10:00:00Z"
}{
"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"
}
]
}Get a brand kit
curl --request GET \
--url https://api.meetingkit.com/api/v1/brand_kits/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetingkit.com/api/v1/brand_kits/{id}"
headers = {"Authorization": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: '<api-key>'}};
fetch('https://api.meetingkit.com/api/v1/brand_kits/{id}', 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/brand_kits/{id}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.meetingkit.com/api/v1/brand_kits/{id}"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://api.meetingkit.com/api/v1/brand_kits/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/brand_kits/{id}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"id": "brk_01k6c3v7w2q9d8m4n5p6r7s8tx",
"object": "brand_kit",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"workspace_ids": [
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"wks_01k6a3t4v5w6x7y8z9a0b1c2de"
],
"bot": {
"name": "Acme Assistant",
"tile": {
"type": "logo",
"logo": {
"file": {
"id": "file_01k6d8q4z7m2n5p8r1s3t6v9wx",
"url": "https://assets.meetingkit.com/logos/acme.png?Expires=1822298280&Signature=…"
},
"background_color": "#0B1F3A",
"scale": 70
}
},
"chat": {
"enabled": true,
"recording_message": "Hi, I'm Acme Assistant, taking notes for {{user}}.",
"paused_message": "Recording is paused."
}
},
"email": {
"type": "branded",
"branded": {
"logo": {
"id": "file_01k6d8q4z7m2n5p8r1s3t6v9wx",
"url": "https://assets.meetingkit.com/logos/acme.png?Expires=1822298280&Signature=…"
},
"color": "#0052FF",
"website": "https://acme.com",
"description": "Acme AI Meeting Companion",
"cta": {
"type": "link",
"link": {
"label": "Open in Acme",
"url": "https://acme.com/m/{{meeting_id}}"
}
}
}
},
"preview_url": "https://api.meetingkit.com/app/shared/brand-kits/brk_01k6c3v7w2q9d8m4n5p6r7s8tx/preview?token=WyJicmtfMDFrNmMzdjd3MnE5ZDhtNG41cDZyN3M4dHgiLDE3OTA0MTM4MDBd--50d858e0985ecc7f60418aaf0cc5ab587f42c2570a884095a9e8ccacd0f6545c",
"preview_expires_at": "2026-09-26T09:10:00Z",
"metadata": {},
"created_at": "2026-09-30T10:00:00Z"
}{
"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.
Path Parameters
Brand kit ID, beginning with brk_. Treat it as an opaque string.
"brk_01k6c3v7w2q9d8m4n5p6r7s8tx"
Response
The brand kit.
Brand kit ID, beginning with brk_.
Always brand_kit.
The workspaces that use this kit, among those the key belongs to. Empty for a kit no workspace uses.
A wks_ workspace id. Integer workspace ids are still accepted.
How the notetaker appears in the call.
Show child attributes
Show child attributes
How the summary email looks. Only the object named after type is present; the branded options stay stored while type is default.
Show child attributes
Show child attributes
The workspace that owns the kit, a wks_ id. null when the key does not belong to it.
A page that shows this kit as saved, the notetaker's tile in the call, its chat messages and the summary email. Anyone with the link can open it, without signing in, until preview_expires_at. Every response carries a fresh link.
When preview_url stops working, ten minutes after the response, in ISO 8601. Read the brand kit again for a fresh link.
Your 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 brand kit was created, in ISO 8601.