curl --request POST \
--url https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"endpoint_id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km"
}
'import requests
url = "https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver"
payload = { "endpoint_id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km" }
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({endpoint_id: 'whe_01k6d4a1b2c3d4e5f6g7h8j9km'})
};
fetch('https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver', 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_events/{id}/redeliver",
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([
'endpoint_id' => 'whe_01k6d4a1b2c3d4e5f6g7h8j9km'
]),
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_events/{id}/redeliver"
payload := strings.NewReader("{\n \"endpoint_id\": \"whe_01k6d4a1b2c3d4e5f6g7h8j9km\"\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_events/{id}/redeliver")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"endpoint_id\": \"whe_01k6d4a1b2c3d4e5f6g7h8j9km\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver")
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 \"endpoint_id\": \"whe_01k6d4a1b2c3d4e5f6g7h8j9km\"\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"
}
]
}{
"errors": [
{
"code": "invalid",
"field": "recording.methods.bot.mode",
"message": "must be one of: audio_and_video, audio_only, inherit"
}
]
}Redeliver a webhook event
Sends the event again to an endpoint it was already sent to, with a fresh set of retries, whatever its delivery’s status.
curl --request POST \
--url https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"endpoint_id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km"
}
'import requests
url = "https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver"
payload = { "endpoint_id": "whe_01k6d4a1b2c3d4e5f6g7h8j9km" }
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({endpoint_id: 'whe_01k6d4a1b2c3d4e5f6g7h8j9km'})
};
fetch('https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver', 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_events/{id}/redeliver",
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([
'endpoint_id' => 'whe_01k6d4a1b2c3d4e5f6g7h8j9km'
]),
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_events/{id}/redeliver"
payload := strings.NewReader("{\n \"endpoint_id\": \"whe_01k6d4a1b2c3d4e5f6g7h8j9km\"\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_events/{id}/redeliver")
.header("Authorization", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"endpoint_id\": \"whe_01k6d4a1b2c3d4e5f6g7h8j9km\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/webhook_events/{id}/redeliver")
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 \"endpoint_id\": \"whe_01k6d4a1b2c3d4e5f6g7h8j9km\"\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"
}
]
}{
"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
Event ID, beginning with evt_: the id of the payload your receiver got.
"evt_01k0h4x0n7r2c5m8q9v3b6d1ef"
Body
The endpoint to send it to.
"whe_01k6d4a1b2c3d4e5f6g7h8j9km"
Response
Queued. The event, with that delivery back to pending.
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