curl --request GET \
--url https://api.meetingkit.com/api/v1/webhook_endpoints/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetingkit.com/api/v1/webhook_endpoints/{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/webhook_endpoints/{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/webhook_endpoints/{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/webhook_endpoints/{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/webhook_endpoints/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/webhook_endpoints/{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": "whe_01k6d4a1b2c3d4e5f6g7h8j9km",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"name": "Acme production",
"url": "https://api.acme.com/meetingkit/webhooks",
"enabled_events": [
"meeting.finished",
"bot.summary_ready"
],
"status": "enabled",
"api_version": "2026-10-09",
"metadata": {
"gurusup_user_id": "usr_8812"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"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 webhook endpoint
curl --request GET \
--url https://api.meetingkit.com/api/v1/webhook_endpoints/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetingkit.com/api/v1/webhook_endpoints/{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/webhook_endpoints/{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/webhook_endpoints/{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/webhook_endpoints/{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/webhook_endpoints/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/webhook_endpoints/{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": "whe_01k6d4a1b2c3d4e5f6g7h8j9km",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"name": "Acme production",
"url": "https://api.acme.com/meetingkit/webhooks",
"enabled_events": [
"meeting.finished",
"bot.summary_ready"
],
"status": "enabled",
"api_version": "2026-10-09",
"metadata": {
"gurusup_user_id": "usr_8812"
},
"created_at": "2023-11-07T05:31:56Z",
"updated_at": "2023-11-07T05:31:56Z"
}{
"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
Webhook endpoint ID, beginning with whe_. Treat it as an opaque string.
"whe_01k6d4a1b2c3d4e5f6g7h8j9km"
Response
The endpoint, without its secret.
Webhook endpoint ID, beginning with whe_. Treat it as an opaque string.
"whe_01k6d4a1b2c3d4e5f6g7h8j9km"
Always webhook_endpoint.
Workspace ID, beginning with wks_. Treat it as an opaque string.
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
Defaults to the URL's host.
"Acme production"
The public HTTPS URL events are sent to.
"https://api.acme.com/meetingkit/webhooks"
The events it receives, named as its api_version names them. * is every event.
["meeting.finished", "bot.summary_ready"]
Whether it receives events.
enabled: receives events.disabled: receives nothing; disabling cancels its pending deliveries.
enabled, disabled The version its events are named and shaped at.
"2026-10-09"
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 it was created, in ISO 8601.
When it last changed, in ISO 8601.