curl --request GET \
--url https://api.meetingkit.com/api/v1/calendar_connect_links/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetingkit.com/api/v1/calendar_connect_links/{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/calendar_connect_links/{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/calendar_connect_links/{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/calendar_connect_links/{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/calendar_connect_links/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/calendar_connect_links/{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": "<string>",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"member_id": "<string>",
"provider": "google",
"return_url": "<string>",
"client_reference_id": "<string>",
"member_data": {
"name": "<string>",
"email": "jsmith@example.com",
"metadata": {
"gurusup_user_id": "usr_8812"
}
},
"url": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"status": "open",
"calendar_connection_id": "<string>",
"error": {
"code": "<string>",
"message": "<string>"
},
"created_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 calendar connect link
The link and its outcome, for when you’d rather not read it from return_url or the webhook.
curl --request GET \
--url https://api.meetingkit.com/api/v1/calendar_connect_links/{id} \
--header 'Authorization: <api-key>'import requests
url = "https://api.meetingkit.com/api/v1/calendar_connect_links/{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/calendar_connect_links/{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/calendar_connect_links/{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/calendar_connect_links/{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/calendar_connect_links/{id}")
.header("Authorization", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.meetingkit.com/api/v1/calendar_connect_links/{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": "<string>",
"object": "<string>",
"workspace_id": "wks_01k6a2r9s8x7c2dvq3m5n6p4ab",
"member_id": "<string>",
"provider": "google",
"return_url": "<string>",
"client_reference_id": "<string>",
"member_data": {
"name": "<string>",
"email": "jsmith@example.com",
"metadata": {
"gurusup_user_id": "usr_8812"
}
},
"url": "<string>",
"expires_at": "2023-11-07T05:31:56Z",
"status": "open",
"calendar_connection_id": "<string>",
"error": {
"code": "<string>",
"message": "<string>"
},
"created_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
Response
The link.
Stable typed ID beginning with ccl_.
Always calendar_connect_link.
Workspace ID, beginning with wks_. Treat it as an opaque string.
"wks_01k6a2r9s8x7c2dvq3m5n6p4ab"
The member connecting, or null to create the member from the connected account.
The calendar to connect.
google: Google Calendar.microsoft: Microsoft Outlook calendar.
google, microsoft Where the browser returns after consent, with the outcome in the query string.
Your own reference, returned on the redirect.
The member the consent creates, as you sent it (metadata is {} when you sent none), or null.
Show child attributes
Show child attributes
The link to send the user to. null once it can no longer be opened.
When the link stops working, 24 hours after it was created.
open: waiting for the user, including after they declined consent.completed: the user connected their calendar; seecalendar_connection_id.failed: it could not connect;errorsays why.expired: 24 hours went by.
open, completed, failed, expired The connection it made, once status is completed.
Why the link failed, or null.
Show child attributes
Show child attributes
When the link was created, in ISO 8601.