API Docs
/
No Results Found
Meetings

Meetings AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

With Arattai Meetings, you can schedule meetings in advance. Each meeting can accommodate up to 261 participants, including one host, up to 10 co-hosts, and 250 attendees.

With the Meetings API, you can schedule a meeting, retrieve meeting details, cancel it, and manage its invitees.

To join a meeting, use the following URL:
https://meet.arattai.in/{MEETING_ID}?p={PASSWORD}

Download Meetings OpenAPI Document
End Points
Schedule a meeting
Retrieve meeting details
Cancel a scheduled meeting
Add invitees to a meeting
Remove invitees from a meeting

Schedule a meeting AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Create a new Arattai meeting. A password is required for every meeting. Participants can optionally be invited on creation using the invitees field.

Note: The sample request below demonstrates a meeting creation payload using application/json. Use this format when creating a meeting and include the required fields for your scheduling use case.

Threshold limit: 50 requests per 10 min per user
Number of API calls allowed within 10 minutes.

Lock period: 10 minutes
Wait time before consecutive API requests.


OAuth Scope : Arattai.Meetings.CREATE

Arguments

title
string
(Required)
Meeting name displayed in the meeting list and invites.
Minimum length: 3 characters.
Maximum length: 250 characters.
agenda
string
Short description or purpose of the meeting.
Maximum length: 2,500 characters.
password
string
(Required)
Code used to secure access to the meeting. Required for every meeting.
Minimum length: 6 characters.
Maximum length: 30 characters.
scheduled_time
long
(Required)
Meeting start time in epoch milliseconds (UTC).
timezone
string
(Required)
Time zone identifier for the meeting.
duration
long
(Required)
Total duration of the meeting in milliseconds.
invitees
array
Users to invite on creation.
Minimum items: 1.
Maximum items: 260.
Show Sub-Attributes arrow
type
string
(Required)
Type of identifier used to identify the invitee.
  • user_id - Identify the invitee by their user ID.
  • email - Identify the invitee by their email address.
  • phone - Identify the invitee by their phone number.
value
string
(Required)
The identifier value.
  • type: user_id - User ID.
  • type: email - Email address.
  • type: phone - Phone number in countrycode-number format (e.g., 91-9876543210).
role
string
Invitee role in the meeting. Defaults to participant.
  • cohost - Assigned co-hosting privileges for the meeting, alongside the host.
  • participant - Standard meeting attendee with default permissions (this is the default role when omitted).
preferences
object
Show Sub-Attributes arrow
waiting_room
boolean
Enable a waiting room before participants can join.
mute_upon_entry
boolean
Mute participants automatically when they join.
access_chat
boolean
Allow participants to access the meeting chat.
turn_on_video
boolean
Allow participants to turn on their video.
unmute
boolean
Allow participants to unmute themselves.
screen_share
boolean
Allow participants to share their screen.
recording
boolean
Automatically start recording when the meeting begins.
reaction_view
string
Defines who can view emoji reactions during the meeting.
  • all - Every participant's reactions are visible to everyone in the meeting.
  • basic - Reactions are shown only in a minimal/summary form, without attributing them to individual participants.
view_recording
string
Defines who can view the meeting recording.
  • host - Only the meeting host can view the recording.
  • cohosts - The host and any cohosts can view the recording.
  • attendees - The host, cohosts, and all attendees who joined the meeting can view the recording.
  • invitees - The host, cohosts, and all invited participants (whether or not they attended) can view the recording.
meeting_chat
boolean
Enable or disable the meeting chat feature.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN"); response = invokeUrl [ url: "https://api.arattai.in/restapi/v4/meetings" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://api.arattai.in/restapi/v4/meetings") .post(body) .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Bearer REPLACE_BEARER_TOKEN', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://api.arattai.in/restapi/v4/meetings', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("api.arattai.in") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN", 'content-type': "application/json" } conn.request("POST", "/restapi/v4/meetings", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "api.arattai.in", "port": null, "path": "/restapi/v4/meetings", "headers": { "Authorization": "Bearer REPLACE_BEARER_TOKEN", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
var client = new RestClient("https://api.arattai.in/restapi/v4/meetings"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://api.arattai.in/restapi/v4/meetings"), Headers = { { "Authorization", "Bearer REPLACE_BEARER_TOKEN" }, }, Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://api.arattai.in/restapi/v4/meetings" payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN") req.Header.Add("content-type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = JSON.stringify({ "field1": "value1", "field2": "value2" }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("POST", "https://api.arattai.in/restapi/v4/meetings"); xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
curl --request POST \ --url https://api.arattai.in/restapi/v4/meetings \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "title": "Virtual Brainstorming Session - Product Innovation", "agenda": "Team brainstorming for upcoming feature releases and UI enhancements.", "password": "innovate@2025", "scheduled_time": 1733835600000, "timezone": "Asia/Kolkata", "duration": 3600000, "invitees": [ { "type": "user_id", "value": "2815532", "role": "cohost" }, { "type": "email", "value": "ryan.west@example.com", "role": "participant" } ], "preferences": { "waiting_room": true, "mute_upon_entry": false, "access_chat": true, "turn_on_video": false, "unmute": true, "screen_share": true, "gestures": true, "recording": false, "reaction_view": "all", "view_recording": "invitees", "meeting_chat": false } }

Response Example

{ "url": "/restapi/v4/meetings", "type": "meeting", "data": { "id": "2A84TGR9PZL1", "title": "Virtual Brainstorming Session - Product Innovation", "agenda": "Collaborative idea-sharing session to explore new product features.", "duration": 3600000, "timezone": "Asia/Kolkata", "scope": "chat", "call_type": "meeting", "type": "video", "scheduled_time": 1733835600000, "scheduled_start_time": 1733835600000, "scheduled_end_time": 1733839200000, "rsvp_status": "accepted", "role": "host", "host": { "name": "Jeri Johnathan Alexander", "id": "3847921" }, "invitees_summary": [ { "id": "2815532", "name": "Jeri Johnathan Alexander", "role": "cohost" }, { "id": "27848001", "name": "Ryan West", "role": "participant" } ], "preferences": { "waiting_room": true, "mute_upon_entry": false, "access_chat": true, "turn_on_video": false, "unmute": true, "screen_share": true, "gestures": true, "recording": false, "reaction_view": "all", "view_recording": "invitees", "meeting_chat": false } } }

Retrieve meeting details AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Retrieve information about past, live, or scheduled meetings, including meeting specifics, attendees, preferences, RSVP status, and other relevant details.

Use next_token only for pagination within the current result set. The response also returns a sync_token, which is a change-tracking cursor from the server and is not the pagination parameter.

Threshold limit: 100 requests per 10 min per user
Number of API calls allowed within 10 minutes.

Lock period: 10 minutes
Wait time before consecutive API requests.


OAuth Scope : Arattai.Meetings.READ

Query Parameters

filter
string
Type of meetings to retrieve.
  • live - Meetings currently in progress.
  • completed - Meetings that have ended (use this to list past meetings).
  • scheduled - Upcoming scheduled meetings.
limit
integer
Number of meetings to fetch.
Default value: 25
next_token
string
Token obtained from a previous response to fetch the next page of results.
Maximum length: 250 characters.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN"); response = invokeUrl [ url: "https://api.arattai.in/restapi/v4/meetings" type: GET headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://api.arattai.in/restapi/v4/meetings") .get() .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") .build(); Response response = client.newCall(request).execute();
const options = {method: 'GET', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}}; fetch('https://api.arattai.in/restapi/v4/meetings', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("api.arattai.in") headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } conn.request("GET", "/restapi/v4/meetings", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "GET", "hostname": "api.arattai.in", "port": null, "path": "/restapi/v4/meetings", "headers": { "Authorization": "Bearer REPLACE_BEARER_TOKEN" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
var client = new RestClient("https://api.arattai.in/restapi/v4/meetings"); var request = new RestRequest(Method.GET); request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Get, RequestUri = new Uri("https://api.arattai.in/restapi/v4/meetings"), Headers = { { "Authorization", "Bearer REPLACE_BEARER_TOKEN" }, }, }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://api.arattai.in/restapi/v4/meetings" req, _ := http.NewRequest("GET", url, nil) req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = null; const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("GET", "https://api.arattai.in/restapi/v4/meetings"); xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); xhr.send(data);
curl --request GET \ --url https://api.arattai.in/restapi/v4/meetings \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response Example

{ "url": "/restapi/v4/meetings", "deleted_ids": [], "type": "meeting", "sync_token": "PAjV8MafhasfhwX...", "next_token": "fDUwfDUwfHxudWxsfHw=", "data": [ { "id": "1C4ZAI31MUFO", "title": "Team Sync - 09/10/2025", "call_type": "meeting", "type": "video", "scope": "personal", "role": "host", "participant_count": 2, "recording": false, "start_time": 1760014335064, "end_time": 1760014522481, "rsvp_status": "accepted", "host": { "id": "2815532", "name": "Jeri Johnathan Alexander" }, "attendees_summary": [ { "id": "RT_2_$27848...", "name": "Ryan West", "role": "cohost" } ], "preferences": { "screen_share": true, "recording": false, "turn_on_video": true, "access_chat": true, "waiting_room": true, "mute_upon_entry": false, "gestures": true, "unmute": true, "meeting_chat": true, "view_recording": "invitees", "reaction_view": "all" } } ] }

Cancel a scheduled meeting AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Cancel a scheduled meeting using its unique meeting ID. Once canceled, the meeting is removed from the schedule and all participants are notified.

Threshold limit: 50 requests per 10 min per user
Number of API calls allowed within 10 minutes.

Lock period: 10 minutes
Wait time before consecutive API requests.


OAuth Scope : Arattai.Meetings.DELETE

Path Parameters

MEETING_ID
string
(Required)
Unique identifier of the meeting to be canceled.

Request Example

Click to copy
headers_data = Map(); headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN"); response = invokeUrl [ url: "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel" type: POST headers: headers_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); Request request = new Request.Builder() .url("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel") .post(null) .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") .build(); Response response = client.newCall(request).execute();
const options = {method: 'POST', headers: {Authorization: 'Bearer REPLACE_BEARER_TOKEN'}}; fetch('https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("api.arattai.in") headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN" } conn.request("POST", "/restapi/v4/meetings/MEETING_ID/cancel", headers=headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "api.arattai.in", "port": null, "path": "/restapi/v4/meetings/MEETING_ID/cancel", "headers": { "Authorization": "Bearer REPLACE_BEARER_TOKEN" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.end();
var client = new RestClient("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel"), Headers = { { "Authorization", "Bearer REPLACE_BEARER_TOKEN" }, }, }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "net/http" "io/ioutil" ) func main() { url := "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel" req, _ := http.NewRequest("POST", url, nil) req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = null; const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("POST", "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel"); xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); xhr.send(data);
curl --request POST \ --url https://api.arattai.in/restapi/v4/meetings/MEETING_ID/cancel \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN'

Response Example

{...}

Add invitees to a meeting AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Add one or more invitees to an existing meeting. Invited users are notified and appear in the meeting's participant list.

Threshold limit: 100 requests per 10 min per user
Number of API calls allowed within 10 minutes.

Lock period: 10 minutes
Wait time before consecutive API requests.


OAuth Scope : Arattai.Meetings.CREATE

Arguments

invitees
array
(Required)
Invitees to add.
Minimum items: 1.
Maximum items: 260.
Show Sub-Attributes arrow
type
string
(Required)
Type of identifier used to identify the invitee.
  • user_id - Identify the invitee by their user ID.
  • email - Identify the invitee by their email address.
  • phone - Identify the invitee by their phone number.
value
string
(Required)
The identifier value.
  • type: user_id - User ID.
  • type: email - Email address.
  • type: phone - Phone number in countrycode-number format (e.g., 91-9876543210).
role
string
Invitee role in the meeting. Defaults to participant.
  • cohost - Assigned co-hosting privileges for the meeting, alongside the host.
  • participant - Standard meeting attendee with default permissions (this is the default role when omitted).

Path Parameters

MEETING_ID
string
(Required)
Unique identifier of the meeting.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN"); response = invokeUrl [ url: "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees" type: POST headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees") .post(body) .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'POST', headers: { Authorization: 'Bearer REPLACE_BEARER_TOKEN', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("api.arattai.in") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN", 'content-type': "application/json" } conn.request("POST", "/restapi/v4/meetings/MEETING_ID/invitees", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "POST", "hostname": "api.arattai.in", "port": null, "path": "/restapi/v4/meetings/MEETING_ID/invitees", "headers": { "Authorization": "Bearer REPLACE_BEARER_TOKEN", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
var client = new RestClient("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees"); var request = new RestRequest(Method.POST); request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Post, RequestUri = new Uri("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees"), Headers = { { "Authorization", "Bearer REPLACE_BEARER_TOKEN" }, }, Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees" payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}") req, _ := http.NewRequest("POST", url, payload) req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN") req.Header.Add("content-type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = JSON.stringify({ "field1": "value1", "field2": "value2" }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("POST", "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees"); xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
curl --request POST \ --url https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "invitees": [ { "type": "user_id", "value": "2815532", "role": "cohost" }, { "type": "email", "value": "ryan.west@example.com", "role": "participant" }, { "type": "phone", "value": "91-9876543210", "role": "participant" } ] }

Response Example

{...}

Remove invitees from a meeting AI Tools

Open in ChatGPT

Open in ChatGPT to ask questions about this page

Open in Claude

Open in Claude to ask questions about this page

Copy as Markdown

Copy this page as markdown to use with AI assistants

View as Markdown

Open this page as markdown in a new tab

Remove one or more invitees from an existing meeting. Removed users are no longer notified and are dropped from the participant list.

Threshold limit: 100 requests per 10 min per user
Number of API calls allowed within 10 minutes.

Lock period: 10 minutes
Wait time before consecutive API requests.


OAuth Scope : Arattai.Meetings.DELETE

Arguments

invitees
array
(Required)
Invitees to remove.
Minimum items: 1.
Maximum items: 260.
Show Sub-Attributes arrow
type
string
(Required)
Type of identifier used to identify the invitee.
  • user_id - Identify the invitee by their user ID.
  • email - Identify the invitee by their email address.
  • phone - Identify the invitee by their phone number.
value
string
(Required)
The identifier value to remove.
  • type: user_id - User ID.
  • type: email - Email address.
  • type: phone - Phone number in countrycode-number format (e.g., 91-9876543210).

Path Parameters

MEETING_ID
string
(Required)
Unique identifier of the meeting.

Request Example

Click to copy
parameters_data='{"field1":"value1","field2":"value2"}'; headers_data = Map(); headers_data.put("Authorization", "Bearer REPLACE_BEARER_TOKEN"); response = invokeUrl [ url: "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees" type: DELETE headers: headers_data content-type: application/json parameters: parameters_data connection: <connection_name> ]; info response;
OkHttpClient client = new OkHttpClient(); MediaType mediaType = MediaType.parse("application/json"); RequestBody body = RequestBody.create(mediaType, "{\"field1\":\"value1\",\"field2\":\"value2\"}"); Request request = new Request.Builder() .url("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees") .delete(body) .addHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN") .addHeader("content-type", "application/json") .build(); Response response = client.newCall(request).execute();
const options = { method: 'DELETE', headers: { Authorization: 'Bearer REPLACE_BEARER_TOKEN', 'content-type': 'application/json' }, body: '{"field1":"value1","field2":"value2"}' }; fetch('https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees', options) .then(response => response.json()) .then(response => console.log(response)) .catch(err => console.error(err));
import http.client conn = http.client.HTTPSConnection("api.arattai.in") payload = "{\"field1\":\"value1\",\"field2\":\"value2\"}" headers = { 'Authorization': "Bearer REPLACE_BEARER_TOKEN", 'content-type': "application/json" } conn.request("DELETE", "/restapi/v4/meetings/MEETING_ID/invitees", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8"))
const http = require("https"); const options = { "method": "DELETE", "hostname": "api.arattai.in", "port": null, "path": "/restapi/v4/meetings/MEETING_ID/invitees", "headers": { "Authorization": "Bearer REPLACE_BEARER_TOKEN", "content-type": "application/json" } }; const req = http.request(options, function (res) { const chunks = []; res.on("data", function (chunk) { chunks.push(chunk); }); res.on("end", function () { const body = Buffer.concat(chunks); console.log(body.toString()); }); }); req.write(JSON.stringify({field1: 'value1', field2: 'value2'})); req.end();
var client = new RestClient("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees"); var request = new RestRequest(Method.DELETE); request.AddHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); request.AddHeader("content-type", "application/json"); request.AddParameter("application/json", "{\"field1\":\"value1\",\"field2\":\"value2\"}", ParameterType.RequestBody); IRestResponse response = client.Execute(request);
var client = new HttpClient(); var request = new HttpRequestMessage { Method = HttpMethod.Delete, RequestUri = new Uri("https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees"), Headers = { { "Authorization", "Bearer REPLACE_BEARER_TOKEN" }, }, Content = new StringContent("{\"field1\":\"value1\",\"field2\":\"value2\"}") { Headers = { ContentType = new MediaTypeHeaderValue("application/json") } } }; using (var response = await client.SendAsync(request)) { response.EnsureSuccessStatusCode(); var body = await response.Content.ReadAsStringAsync(); Console.WriteLine(body); }
package main import ( "fmt" "strings" "net/http" "io/ioutil" ) func main() { url := "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees" payload := strings.NewReader("{\"field1\":\"value1\",\"field2\":\"value2\"}") req, _ := http.NewRequest("DELETE", url, payload) req.Header.Add("Authorization", "Bearer REPLACE_BEARER_TOKEN") req.Header.Add("content-type", "application/json") res, _ := http.DefaultClient.Do(req) defer res.Body.Close() body, _ := ioutil.ReadAll(res.Body) fmt.Println(res) fmt.Println(string(body)) }
const data = JSON.stringify({ "field1": "value1", "field2": "value2" }); const xhr = new XMLHttpRequest(); xhr.withCredentials = true; xhr.addEventListener("readystatechange", function () { if (this.readyState === this.DONE) { console.log(this.responseText); } }); xhr.open("DELETE", "https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees"); xhr.setRequestHeader("Authorization", "Bearer REPLACE_BEARER_TOKEN"); xhr.setRequestHeader("content-type", "application/json"); xhr.send(data);
curl --request DELETE \ --url https://api.arattai.in/restapi/v4/meetings/MEETING_ID/invitees \ --header 'Authorization: Bearer REPLACE_BEARER_TOKEN' \ --header 'content-type: application/json' \ --data '{"field1":"value1","field2":"value2"}'

Body Parameters

Click to copy
{ "invitees": [ { "type": "user_id", "value": "27848001" } ] }

Response Example

{...}