curl --request POST \
--url https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "bot.summary_ready"
}
'import requests
url = "https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test"
payload = { "type": "bot.summary_ready" }
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({type: 'bot.summary_ready'})
};
fetch('https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test', 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}/test",
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([
'type' => 'bot.summary_ready'
]),
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/webhook_endpoints/{id}/test"
payload := strings.NewReader("{\n \"type\": \"bot.summary_ready\"\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/webhook_endpoints/{id}/test")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"bot.summary_ready\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test")
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 \"type\": \"bot.summary_ready\"\n}"
response = http.request(request)
puts response.read_body{
"id": "evt_01k0h4x0n7r2c5m8q9v3b6d1ef",
"object": "<string>",
"type": "meeting.finished",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"test": true,
"created_at": "2023-11-07T05:31:56Z",
"data": {
"object": {}
},
"deliveries": [
{
"endpoint_id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km",
"status": "pending",
"attempt_count": 123,
"last_attempt": {
"number": 123,
"status": "pending",
"response_code": 500,
"response_body": "<string>",
"error": "<string>",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
},
"attempts": [
{
"number": 123,
"status": "pending",
"response_code": 500,
"response_body": "<string>",
"error": "<string>",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"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"
}
]
}{
"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"
}
]
}Send a test event
Sends a signed sample event to the endpoint and answers once your receiver has, so
deliveries[0].last_attempt.response_code is what it returned. A receiver that fails is
retried like any delivery. The sample’s ids do not exist, so do not fetch them. Up to 10
test events per workspace per minute.
curl --request POST \
--url https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"type": "bot.summary_ready"
}
'import requests
url = "https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test"
payload = { "type": "bot.summary_ready" }
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({type: 'bot.summary_ready'})
};
fetch('https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test', 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}/test",
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([
'type' => 'bot.summary_ready'
]),
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/webhook_endpoints/{id}/test"
payload := strings.NewReader("{\n \"type\": \"bot.summary_ready\"\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/webhook_endpoints/{id}/test")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"type\": \"bot.summary_ready\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/webhook_endpoints/{id}/test")
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 \"type\": \"bot.summary_ready\"\n}"
response = http.request(request)
puts response.read_body{
"id": "evt_01k0h4x0n7r2c5m8q9v3b6d1ef",
"object": "<string>",
"type": "meeting.finished",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"test": true,
"created_at": "2023-11-07T05:31:56Z",
"data": {
"object": {}
},
"deliveries": [
{
"endpoint_id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km",
"status": "pending",
"attempt_count": 123,
"last_attempt": {
"number": 123,
"status": "pending",
"response_code": 500,
"response_body": "<string>",
"error": "<string>",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
},
"attempts": [
{
"number": 123,
"status": "pending",
"response_code": 500,
"response_body": "<string>",
"error": "<string>",
"started_at": "2023-11-07T05:31:56Z",
"completed_at": "2023-11-07T05:31:56Z"
}
],
"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"
}
]
}{
"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"
Body
The event to send. Defaults to the first event the endpoint subscribes to.
"bot.summary_ready"
Response
The test event, with this endpoint's delivery.
The event's ID, the same id your receiver got in the payload.
"evt_01k0h4x0n7r2c5m8q9v3b6d1ef"
Always webhook_event.
The event type, as this request's API version names it.
"meeting.finished"
Workspace ID, beginning with wks_.
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
A sample sent with POST /webhook_endpoints/{id}/test.
When the event happened, in ISO 8601.
Not in lists: the payload's data, as this request's API version shapes it. null if it can't be shaped at that version.
Show child attributes
Show child attributes
One per endpoint it was sent to.
Show child attributes
Show child attributes