Articles on: Automatization

MyOwnConference API

Sections



Access to API
API commands


Access to API



In this section, the following is described:

Access key
Access domain
Request format
Response format
PHP example
Node.js example

Access key



To utilize the MyOwnConference webinar platform API, you will require an automatically generated unique key. You can acquire this key from the control panel. Simply log in to the control panel and proceed to the "Profile" section. From there, locate the "API Key" field to discover your exclusive key.

If you suspect that someone else has gained access to your API key, you can take appropriate measures to protect your account. One recommended action is resetting your API key by generating a new one. It will render the old API key invalid. To generate a new API key, click on the refresh button (depicted as two arrows) beside the "API Key" field. It's crucial to emphasize that you should never disclose your API key to anyone except trusted programmers or individuals who have been granted authorized access to your control panel.

‼️‼️‼️ Please note that all API requests are recorded and retained for a period of 365 days. Therefore, if you try to access information that is not linked to your account using your API key, your account will be automatically blocked, and even we cannot offer refunds or address complaints in such instances. ‼️‼️‼️

Access domain



All API requests are sent over the secure HTTPS protocol to a dedicated domain: api.mywebinar.com.

Request format



All API requests are sent in the JSON format for optimal compatibility and data exchange.

You must send requests in the single data field called "request" (without quotes) using the POST method. Any other approach will always result in an error! The PHP source code below demonstrates the correct way to send requests:

In the examples which we have given, any strings marked with %--text--% are placeholders that represent variable values. These placeholders can be filled with text, parameters, or any other data that API commands can pass or receive. When making API requests, please replace these placeholder values with the actual data that is relevant to your specific use case.

The API requests follow the following structure:

Requests with named parameters parameter=value


"request":
{
	"key": "%--api-key-from-your-profile--%",
	"action": "%--required-api-command--%",
	"params":
	{
		"%--parameter--%": "%--value--%",
		"%--parameter--%": "%--value--%",
		...
		"%--parameter--%": "%--value--%",
	},
},


Requests in the format of a list of values

"request":
{
	"key": "%--api-key-from-your-profile--%",
	"action": "%--required-api-command--%",
	"params":
	{
		"%--value--%",
		"%--value--%",
		...
		"%--value--%",
	},
},


Transmitted and received data

%--api-key-from-your-profile--% --- API key.
%--required-api-command--% --- API command.
%params% --- Additional parameters of the command.

All parameters in the table above are REQUIRED!

If there are no additional parameters for the %params% field, use an empty array {}.

Response format



All API responses are always returned in the JSON format.

API responses always include the original request, along with either the successful result or an error message.

The API response returns the following data:

An array of requested data, which represents the result of the request.
Or a message indicating successful execution in case there is no result available.
Or an error message with a detailed description of the error.

Possible response options for the example request in section 1.3 are:

Successful execution with data returned

{
	"request":
	{
		"action": "%--required-api-command--%",
		"params":
		{
			"%--parameter--%": "%--value--%",
			"%--parameter--%": "%--value--%",
			...
			"%--parameter--%": "%--value--%"
		},
	},
	"response":
	{
		"%--parameter--%": "%--value--%",
		"%--parameter--%": "%--value--%",
		...
		"%--parameter--%": "%--value--%",
	},
},


Successful execution without returning data

{
	"request":
	{
		"action": "%--required-api-command--%",
		"params":
		{
			"%--parameter--%": "%--value--%",
			"%--parameter--%": "%--value--%",
			...
			"%--parameter--%": "%--value--%",
		},
	},
	"response":
	{
		"success": "%--message--%"
	},
},


Request execution error with a detailed description

{
	"request":
	{
		"action": "%--required-api-command--%",
		"params":
		{
			"%--parameter--%": "%--value--%",
			"%--parameter--%": "%--value--%",
			...
			"%--parameter--%": "%--value--%"
		},
	},
	"response":
	{
		"error": "%--message--%"
	},
},


Transmitted and received data

%--required-api-command--% --- Command.
%--value--% --- Return the transmitted value as the output if the operation is successful. The transferred value should be one of the values from an array.
%--message--% --- The message will indicate whether the command was executed successfully or unsuccessfully.

PHP example



Here is a functional demonstration of how to send an API request using the PHP programming language:

$data['request'] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => '%--required-api-command--%',
	'params' => [
		'%--parameters--%',
	],
] );

$ch = curl_init();

curl_setopt_array( $ch, [
	CURLOPT_URL => 'https://api.mywebinar.com',
	CURLOPT_POST => 1,
	CURLOPT_TIMEOUT => 30,
	CURLOPT_RETURNTRANSFER => 1,
	CURLOPT_POSTFIELDS => $data,
] );

$result = json_decode( curl_exec( $ch ) , true );
curl_close( $ch );

// ...
// printing test results

var_dump( $result );


Node.js example



Here is a functional demonstration of how to send an API request using the Node.js programming language.

const https = require( 'https' );
const query = require( 'querystring' );

const data = query.stringify( {
	request: JSON.stringify( {
		key: '%--api-key-from-your-profile--%',
		action: '%--required-api-command--%',
		params: [
			'%--parameters--%',
		],
	} ),
} );

const options = {
	hostname: 'api.mywebinar.com',
	port: 443,
	path: '/',
	method: 'POST',
	headers:
	{
		'Content-Type': 'application/x-www-form-urlencoded',
		'Content-Length': Buffer.byteLength( data ),
	},
};

const request = https.request( options, response => {
	response.on( 'data', result => {
		process.stdout.write( '\n\n >>> we sent:\n--\n${data}\n--' );
		process.stdout.write( '\n\n <<< we read:\n--\n${result}\n--\n\n\n' );
	} );
} );

request.on( 'error', error => {
	console.error( error );
} );

request.write( data );
request.end();


The upcoming illustrations will use the PHP programming language to enhance effective communication and demonstrate practical API usage.


Commands



In this section, commands for working with:

User profile
Webinar moderators
Webinar participants
Webinar scheduling
Webinar automation

Furthermore, for the convenience of description and ease of use, the commands are divided into logical blocks.


User profile



In this section, commands are described for:

Getting user profile
Updating user profile



Getting user profile



The profileGet command is used to obtain comprehensive or limited details regarding the user profile.

Example of retrieving all profile parameters

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'profileGet',
	'params' => [],
] );


Example of retrieving individual profile parameters

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'profileGet',
	'params' => [
		'name',
		'timezone',
	],
] );


Transmitted and received data

name --- Name and surname of the user of the service. All webinar invitations will be sent using this name.
email --- Email address registered to the user of the service.
timezone --- User's time zone. The timing of all created events will be based on this parameter. You can refer to the time zone table to see the available time zones.
timemove --- This parameter indicates whether the system takes into account daylight saving time. If the value of this field is set to YES, the system will automatically adjust the time for daylight saving and vice versa.
language --- User's language. This language will be used as the default interface language for all future scheduled webinars. Possible values are: EN - English; DE - German; ES - Spanish; FR - French; PL - Polish; RU - Russian; UK - Ukrainian.
gateway --- The payment system used by the user: PAYSERA, PAYPAL, INTERKASSA.
subscribe --- Subscription to service news. The value YES indicates the subscription is active, and NO suggests it is not.
company --- Company details. If this field is not empty, it indicates that the user is a legal entity and is eligible to receive invoices for payment via bank transfers.

Updating user profile



To fully or partially update the user profile, the command profileSet is used.

Example of updating profile parameters

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'profileSet',
	'params' => [
		'name' => '%--first-and-last-names--%',
		'timezone' => '%--timezone-in-minutes--%',
		'subscribe' => '%--yes-or-no--%',
	],
] );


Result of the request execution

{
	"request":
	{
		"action": "profileSet",
		"params":
		{
			"name": "%--first-and-last-names--%",
			"timezone": "%--timezone-in-minutes--%",
			"subscribe": "%--yes-or-no--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The transmitted and received data

name --- User's full name. All invitations to scheduled webinars will be sent from this name. The acceptable character count is from 2 to 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
language --- User's language. This language will be used as the default interface language for all future scheduled webinars. Possible values are: EN - English; DE - German; ES - Spanish; FR - French; PL - Polish; RU - Russian; UK - Ukrainian.
gateway --- The payment system. Possible values: PAYSERA - Paysera payment system; PAYPAL - PayPal payment system.
subscribe --- Service newsletter subscription. Possible values: YES - subscription is active, NO - subscription is inactive.
company --- Company details. If a non-empty value is set, the user is considered a legal entity and gains the ability to generate invoices for payment via bank transfer. Up to 1000 characters are allowed.
timemove --- This parameter allows the system to automatically account for daylight saving time when scheduling webinars. Possible values: YES - account for daylight saving time, NO - do not account for daylight saving time.
timezone --- Time zone. The system takes into account the user's time zone when scheduling webinars. The parameter values are set in minutes. The values can be both positive and negative.

Time zone table used in the system:


Time zoneParameter valueExplanation
GMT-12:00-720Date line
GMT-11:00-660Magadan, Solomon Islands, New Caledonia
GMT-10:00-600Hawaii
GMT-08:00-480Alaska
GMT-07:00-420North American Pacific Time, Tijuana
GMT-06:00-360Central America, Mountain Time (US & Canada)
GMT-05:00-300Bogota, Lima, Quito, Guadalajara, Mexico City, Monterrey
GMT-04:00-240Eastern Time (US & Canada), Caracas, La Paz
GMT-03:00-180Atlantic Time (Canada), Buenos Aires, Georgetown
GMT-02:30-150Brazil
GMT-02:00-120Mid-Atlantic Time, Santiago
GMT-01:00-60Cape Verde Islands
GMT-00:000Dublin, Edinburgh, Lisbon, London, Azores
GMT+01:0060Canary Islands, Casablanca, Monrovia, West Central Africa
GMT+02:00120Amsterdam, Berlin, Bern, Rome, Stockholm, Vienna, Belgrade, Bratislava, Budapest, Ljubljana, Prague, Brussels, Copenhagen, Madrid, Paris, Sarajevo, Skopje, Warsaw, Zagreb
GMT+03:00180Kaliningrad, Helsinki, Kyiv, Riga, Sofia, Tallinn, Vilnius, Istanbul, Athens, Istanbul, Minsk, Baku, Tbilisi, Yerevan, Jerusalem, Bucharest
GMT+03:30240Kuwait City, Riyadh, Abu Dhabi, Muscat, Moscow, Minsk
GMT+04:00270Tehran, Kabul
GMT+04:30300Yekaterinburg, Islamabad, Karachi, Tashkent
GMT+05:00330Chennai, Kolkata, Mumbai, New Delhi, Sri Jayawardenepura
GMT+05:30345Kathmandu
GMT+05:45360Almaty, Novosibirsk, Astana, Dhaka
GMT+06:00390Yangon
GMT+06:30420Krasnoyarsk, Bangkok, Hanoi, Jakarta
GMT+07:00480Irkutsk, Ulaanbaatar, Kuala Lumpur, Singapore, Beijing, Chongqing, Hong Kong SAR, Urumqi
GMT+08:00540Yakutsk, Osaka, Sapporo, Tokyo, Seoul
GMT+09:00570Adelaide, Darwin
GMT+09:30600Vladivostok, Brisbane, Hobart, Canberra, Melbourne, Brisbane, Canberra, Melbourne, Sydney, Guam, Port Moresby
GMT+10:00660Magadan, Solomon Islands, New Caledonia
GMT+11:00720Auckland, Wellington, Kamchatka, Fiji, Marshall Islands
GMT+12:00780Kiribati, Samoa, Tonga


Simultaneous modification of multiple parameters is allowed. To do this, they need to be passed in an array.


Webinar moderators



This section describes commands for:

Creating webinar moderators
Deleting webinar moderators
Updating webinar moderators' information
Retrieving the list of webinar moderators
Attaching webinar moderators to a webinar
Detaching moderators from the webinar
Getting a list of webinars to which a webinar moderator is attached

Furthermore, for the convenience of description and further work, the commands are divided into logical blocks.

Creating webinar moderators



The command used to create a new webinar moderator is moderatorsCreate.

The example below creates a webinar moderator

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsCreate',
	'params' => [
		'name' => '%--first-and-last-names--%',
		'email' => '%--email-address-at-domain-com--%',
	],
] );


In case of successful execution of the command, you will receive a response.

{
	"request":
	{
		"action": "moderatorsCreate",
		"params":
		{
			"name": "%--first-and-last-names--%",
			"email": "%--email-address-at-domain-com--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

name --- Webinar moderator's full name. The acceptable character count is from 2 to 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
email --- Webinar moderator's email address. The acceptable character count is from 6 to 128.


Deleting webinar moderators



The command used to delete webinar moderators is moderatorsDelete.

The example below deletes a webinar moderator with a specified email

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsDelete',
	'params' => [
		'%--email-address-at-domain-com--%',
	],
] );


In case of successful execution of the command, you will receive a response.

{
	"request":
	{
		"action": "moderatorsDelete",
		"params":
		[
			"%--email-address-at-domain-com--%",
		],
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below deletes multiple webinar moderators based on an array of emails

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsDelete',
	'params' => [
		'%--email-address-at-domain-com--%',
		'%--email-address-at-domain-com--%',
		...
		'%--email-address-at-domain-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsDelete",
		"params":
		[
			"%--email-address-at-domain-com--%",
			"%--email-address-at-domain-com--%",
			...
			"%--email-address-at-domain-com--%",
		],
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

An array of emails is passed to the command in both cases.

Updating webinar moderators' information



To modify the webinar moderator's complete name and email address or upload a new profile picture, you would utilize the command moderatorsSet.

The example below updates the full name and email for a chosen webinar moderator

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsSet',
	'params' => [
		'email' => '%--current-email-address-at-domain-com--%',
		'newEmail' => '%--new-email-address-at-domain-com--%',
		'newName' => '%--first-and-last-name--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsSet",
		"params":
		{
			"email": "%--current-email-address-at-domain-com--%",
			"newEmail": "%--new-email-address-at-domain-com--%",
			"newName": "%--first-and-last-name--%"
		},
	},
	"response": {
		"success": "%--message--%",
	},
},


Data sent and received

email --- The webinar moderator's email, which requires updating, should consist of anywhere from 6 to 128 characters.
newEmail --- The new email address of the webinar moderator whose information needs to be updated. It should have a character count between 6 and 128.
newName --- The new full name of the webinar moderator. It should be between 2 and 64 characters long and can contain any character except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
avatar --- The image that will be used as the profile picture in place of the webcam video for the webinar moderator. The webcam will be disabled while the profile picture is shown.

The image for the avatar needs to be encoded in Base64 format. Acceptable image formats are: JPG, JPEG, PNG.

To manually encode images into Base64 format, you can use the following command:

$cat /path/to/file/test.png | base64


Retrieving the list of webinar moderators



To retrieve the overall list of webinar moderators, the command moderatorsList is used.

The example below retrieves a list of all webinar moderators with complete information

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsList',
	'params' => [
		'fields' => [],
	],
] );


The example below retrieves the list of all webinar moderators with partial information, specifically only the full names

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsList',
	'params' => [
		'fields' => [
			'name',
		],
	],
] );


The example below retrieves the list of all webinar moderators for a specific webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsList',
	'params' => [
		'fields' => [],
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


The example below retrieves the list of all webinar moderators with filters based on name and email

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsList',
	'params' => [
		'fields' => [],
		'search' => '%--search-text--%',
	],
] );


All four options can be combined together.

In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsList",
		"params":
		{
			"fields":
			[
				"email",
				"name",
			],
			"search": "%--search-text--%", -- in case search text has been added
		},
	},
	"response":
	[
		{
			"email": "%--email-address-at-domain-com--%",
			"name": "%--first-and-last-name-of-moderator--%",
		},
		{
			"email": "%--email-address-at-domain-com--%",
			"name": "%--first-and-last-name-of-moderator--%",
		},
		...
		{
			"email": "%--email-address-at-domain-com--%",
			"name": "%--first-and-last-name-of-moderator--%",
		},
	],
},


Data sent and received

fields --- The list of fields that you would like to retrieve in the query. This parameter is optional and can be omitted or set as an empty array [].
alias --- The unique ID of the webinar, which can be obtained from the webinar link when scheduling it. This parameter is not mandatory and can be omitted or set with an empty value "".
search --- Search query. A set of characters used to search for webinar moderators by name and email. This parameter is optional and can be omitted or set with an empty value "".
name --- The full name of the webinar moderator. It should have a character count between 2 and 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
email --- The email of the webinar moderator. It should contain between 6 and 128 characters.
registered --- The registration date of the webinar moderator, including year-month-day hours:minutes:seconds.
main --- A flag indicating whether this webinar moderator is a primary moderator in the webinar: YES - primary moderator, NO - not a primary moderator.
avatar --- A flag indicating the use of an avatar instead of the webcam for the webinar moderator: YES - avatar is used, NO - camera, by default.

The primary webinar moderator or account administrator is the moderator created during the registration process on the platform. In the webinar moderator management section of the control panel, this moderator is identified by a star and cannot be deleted. This moderator has access to all webinars and uploaded documents and media.

Attaching webinar moderators to a webinar



ATTENTION: Here and throughout, the term "attachment" refers to assigning the specified webinar moderator as a moderator and presenter of the webinar. This webinar moderator will receive invitations with links to the webinar and other reminders about the scheduled event.

To attach one or multiple webinar moderators to a webinar, the command moderatorsAddToWebinar is used.

The example below attaches the specified webinar moderator to a webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsAddToWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'email' => [
			'%--email-address-at-domain-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsAddToWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"email":
			[
				"%--email-address-at-domain-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below attaches multiple webinar moderators to the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsAddToWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'email' => [
			'%--email-address-at-domain-com--%',
			'%--email-address-at-domain-com--%',
			...
			'%--email-address-at-domain-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsAddToWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"email":
			[
				"%--email-address-at-domain-com--%",
				"%--email-address-at-domain-com--%",
				...
				"%--email-address-at-domain-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- The unique webinar ID, which you need to add moderators to, can be obtained from the webinar link when scheduling it.
email --- One or multiple email addresses registered for the moderators in the system. The allowable character count is from 6 to 128.
sendInvite --- An optional parameter that can be set to either YES or NO. Setting it to YES means that the moderator will receive an invitation with a link to the scheduled webinar immediately. Setting it to NO means that the invitation will be sent according to the general schedule.

Detaching moderators from the webinar



Attention: Here and throughout, the term "unattachment" refers to the removal of access rights to the specified webinar for the moderator. Such a moderator will no longer receive invitations with webinar links or have any other access to the event.

To detach one or multiple moderators from a webinar, you can use the command moderatorsRemoveFromWebinar.

The example below detaches the presenter from the webinar.

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsRemoveFromWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'email' => [
			'%--email-address-at-domain-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsRemoveFromWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"email": "%--email-address-at-domain-com--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below detaches multiple moderators from the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsRemoveFromWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'email' => [
			'%--email-address-at-domain-com--%',
			'%--email-address-at-domain-com--%',
			...
			'%--email-address-at-domain-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsRemoveFromWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"email":
			[
				"%--email-address-at-domain-com--%",
				"%--email-address-at-domain-com--%",
				...
				"%--email-address-at-domain-com--%",
			],
		},
	},
	"response":
	{
		"success": "%message%",
	},
},


Data sent and received

alias --- Unique webinar ID from which you want to detach the moderators, which can be obtained from the webinar link when it is scheduled.
email --- One or multiple email addresses with which the moderators are registered in the system. The allowable number of characters is between 6 and 128.

Getting a list of webinars that a presenter is attached to



To retrieve the list of webinars to which a moderator is attached, you can use the command moderatorsRooms.

The example below retrieves all the information about webinars to which a specific moderator is attached

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'moderatorsRooms',
	'params' => [
		'email' => '%--email-address-at-domain-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "moderatorsRooms",
		"params":
		{
			"email": "%--email-address-at-domain-com--%",
		},
	},
	"response":
	[
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"name": "%--wwebinar-name-or-topic--%",
			"description": "%--html-formatted-webinar-description--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"timezone": "%--timezone-in-minutes--%", 
			"duration": "%--webinar-duration-in-minutes--%",
			"moderatorLink": "%--https-access-url-for-the-moderator--%"
		},
		... the moderator can be attached to any number of webinars
	]
}


Data sent and received

alias --- Unique webinar ID for which this API command is being executed.
email --- Email address registered for the moderator in the system. Allowed character limit is from 6 to 128.
name --- Title or topic of the webinar.
description --- Webinar description. It can be left empty.
start --- Date and time of the webinar.
timezone --- The time zone for the webinar.
duration --- Estimated duration of the webinar. Duration of the webinar in minutes. Maximum value is 1439 minutes.
moderatorLink --- moderator login link.

Some moderators may share their webinar link and then complain about the following issues: 1 - being kicked out of the webinar room, 2 - unable to enter, 3 - someone else already entered under their name. Therefore, please remember that each moderator's link is INDIVIDUAL and intended for accessing the room only for that specific moderator. Accessing the room with the same link by another person is PROHIBITED! Re-entering the webinar room will ALWAYS disconnect the previous session.


Webinar participants



In this section, you will find commands for:

Creating participants
Editing participants
Removing participants
Obtaining a general list of participants
Attaching participants to future webinars
Unattaching participants from future webinars
Obtaining a list of webinars with attached participants
Creating a participant group
Renaming a participant group
Removing a group of participants
Obtaining the list of participant groups
Adding participants to groups
Removing participants from groups
Retrieving a list of groups in which a participant is present
Removing participants from the blocked list

To ensure ease of understanding and simplicity of operation, the commands have been organized into logical sections.

Creating participants



To create a new attendee for your webinars, you can use the command attendeesCreate.

The example below creates a new participant

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesCreate',
	'params' => [
		'email' => '%--attendee-email-at-domain-dot-com--%',
		'name' => '%--attendee-first-and-last-name--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesCreate",
		"params":
		{
			"email": "%--attendee-email-at-domain-dot-com--%",
			"name": "%--attendee-first-and-last-name--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received


name --- Full name of the participant. Maximum of 64 characters allowed, excluding: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
email --- Participant's full name. Participant's email. Acceptable character count is between 6 and 128, and you can use English letters and numbers.

Editing Participants



For updating participant data, the command attendeesSet is used.

The example below updates the personal information of a previously created participant.

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesSet',
	'params' => [
		'email' => '%--attendee-email-at-domain-dot-com--%',
		'newemail' => '%--attendee-new-email-at-domain-dot-com--%',
		'name' => '%--attendee-first-and-last-name--%',
		'phone' => '%--attendee-phone-number--%',
		'skype' => '%--attendee-skype--%',
		... etc ...
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesSet",
		"params":
		{
			"email": "%--attendee-email-at-domain-dot-com--%",
			"newemail": "%--attendee-new-email-at-domain-dot-com--%",
			"name": "%--attendee-first-and-last-name--%",
			"phone": "%--attendee-phone-number--%",
			"skype": "%--attendee-skype--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

email --- Email address of the participant. The allowed number of English letters and digits is from 6 to 128.
newemail --- New email address for the participant. Acceptable number of English letters and numbers is from 6 to 128.
name --- Full name of the participant. Maximum 10 characters allowed, excluding: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
phone --- Participant's phone number. Maximum of 16 characters allowed.
skype --- Participant's Skype ID. Acceptable characters are English alphabet characters, excluding: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
company --- Company. Any characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
department --- Department. Any characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
city --- City. Any characters are allowed, except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
born --- Date of birth.

The number of additional data fields may differ from those listed in the table above.

Removing participants



To remove previously created attendees, the command attendeesDelete is used.

The example below deletes the specified participant.

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesDelete',
	'params' => [
		'%--attendee-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesDelete",
		"params":
		[
			"%--attendee-email-at-domain-dot-com--%",
		],
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below removes multiple participants

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesDelete',
	'params' => [
		'%--attendee-email-at-domain-dot-com--%',
		'%--attendee-email-at-domain-dot-com--%',
		...
		'%--attendee-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesDelete",
		"params":
		[
			"%--attendee-email-at-domain-dot-com--%",
			"%--attendee-email-at-domain-dot-com--%",
			...
			"%--attendee-email-at-domain-dot-com--%",
		],
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

name --- Full name of the participant. Acceptable character limit is up to 64 characters, excluding: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
email --- Email of the participant or an array of emails of the participants to be removed. The allowed character limit is from 6 to 128, and only English letters and numbers can be used.


Obtaining a list of participants



To obtain a list of previously created attendees, you can use the command attendeesList.

The example below retrieves a list of all participants

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesList',
	'params' => [
		'fields' => [
			'email',
			'link',
			...
		] ,
		'onРage' => '%--amount-of-attendees-per-query--%',
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'search' => '%--search-text--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesList",
		"params":
		{
			"onРage": "%--amount-of-attendees-per-query--%",
		},
	},
	"response":
	{
		"count": "%--total-amount-of-attendees--%",
		"list": [
			{
				"name": "%--attendee-first-and-last-name--%",
				"email": "%--attendee-email-at-domain-dot-com--%",
			},
			{
				"name": "%--attendee-first-and-last-name--%",
				"email": "%--attendee-email-at-domain-dot-com--%",
			},
			...
			{
				"name": "%--attendee-first-and-last-name--%",
				"email": "%--attendee-email-at-domain-dot-com--%",
			},
		],
	},
},


Data sent and received

fields — List of fields to retrieve. This parameter is optional. If not specified, only the name and email fields will be returned. List of possible field values:
onPage --- How many participants to return per request on the page. By default, it is set to 100. If the parameter is not specified, the list will be obtained without pagination.
alias --- Unique webinar ID
search --- Please enter a set of characters that should be included in the participant's name or email.
page --- Page number to be returned.
order --- Sorting in ascending order ASC and descending order DESC. Default is ASC.
orderField --- Field by which to perform sorting: name, email, creation_date. Default is name.
type --- Participant type: ACTIVE - active; PENDING - inactive; BANNED - blocked.
imported --- In which way were the participants added to the system. YES indicates manual addition by the account owner, NO indicates self-registration.
webinars --- Events, array of aliases where participants were or were not present.
webinarsOrder --- Has the participant attended the webinars listed in the webinars parameter? IN - attended the webinar, OUT - did not attend the webinar.
withEmail --- Return participants with email or without email. YES - return only participants with an email, NO - return only participants without an email. If the parameter is not specified, the entire list is returned.
group --- Group id to which participants are associated.

Possible values for the fields field


name --- Participant's full name. Acceptable character limit is between 2 and 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
email --- Email address of the participant. Acceptable number of characters is between 6 and 128.
phone --- Participant's phone number. Allowed number of characters is between 6 and 128.
skype --- Participant's Skype ID. Acceptable character count is between 6 and 128.
company --- Company. Acceptable number of characters: 6 to 128.
department --- Department. Allowed number of characters is from 6 to 128.
city --- City. Acceptable number of characters is from 6 to 128.
born --- Date of birth.
creation_date --- Date added.
country --- Participant's country.
type --- Participant type: ACTIVE - active, PENDING - pending, BANNED - banned.
notified --- The number of webinar invitations previously sent.
link --- Joining link for the webinar. This field is available only if the alias parameter is specified.

Attaching participants to future webinars



To attach (invite, assign) an attendee to scheduled webinars, the command attendeesAddToWebinar is used.

The example below attaches the specified participant to the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesAddToWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request": {
		"action": "attendeesAddToWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below attaches multiple participants to the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesAddToWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
			'%--attendee-email-at-domain-dot-com--%',
			...
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request": {
		"action": "attendeesAddToWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
				"%--attendee-email-at-domain-dot-com--%",
				...
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received


alias --- Unique webinar ID for which this API command is executed.
attendees --- Array of participant emails to be attached to the webinar.

Unsubscribing participants from future webinars



To remove an attendee from a scheduled webinar, you can use the command attendeesRemoveFromWebinar.

The example below detaches the specified participant from the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesRemoveFromWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request": {
		"action": "attendeesRemoveFromWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below removes multiple participants from the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesRemoveFromWebinar',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
			'%--attendee-email-at-domain-dot-com--%',
			...
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request": {
		"action": "attendeesRemoveFromWebinar",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
				"%--attendee-email-at-domain-dot-com--%",
				...
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received


alias --- Unique webinar ID for which this API command is executed.
attendees --- An array of participant emails to be detached from the webinar.

Getting a list of webinars that a participant is attached to



To retrieve the webinars to which a previously created attendee has been invited, you can use the command attendeesRooms.

The example below retrieves a list of all webinars to which the specified participant has been attached

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesRooms',
	'params' => [
		'email' => '%--attendee-email-at-domain-dot-com',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesRooms",
		"params":
		{
			"email": "%--attendee-email-at-domain-dot-com",
		}
	},
	"response":
	[
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"name": "%--webinar-name-or-topic--%",
			"description": "%--webinar-html-formatted-description--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"timezone": "%--timezone-in-minutes--%",
			"duration": "%--webinar-duration-in-minutes--%",
			"attendeeLink": "%--https-access-url-for-the-attendee--%"
		},
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"name": "%--webinar-name-or-topic--%",
			"description": "%--webinar-html-formatted-description--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"timezone": "%--timezone-in-minutes--%",
			"duration": "%--webinar-duration-in-minutes--%",
			"attendeeLink": "%--https-access-url-for-the-attendee--%"
		},
		...
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"name": "%--webinar-name-or-topic--%",
			"description": "%--webinar-html-formatted-description--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"timezone": "%--timezone-in-minutes--%",
			"duration": "%--webinar-duration-in-minutes--%",
			"attendeeLink": "%--https-access-url-for-the-attendee--%"
		},
	],
},


Data sent and received

email --- Email address of the participant for whom you need to retrieve the list of webinars. The allowed number of characters is from 6 to 128.
alias --- Unique webinar ID for which this API command is executed.
name --- Title or topic of the webinar.
description --- Description of the webinar, if any, may be absent.
start --- Date and time of the webinar start. Text in the format YYYY-MM-DD HH:MM:SS.
timezone --- The time zone in which the webinar is conducted. You can refer to the Time Zone Table for available time zones.
duration --- Estimated duration of the webinar in minutes. The maximum value is 1439.
attendeeLink --- Webinar room access link.

Creating a participant group



To create a new group of attendees, you will use the command attendeesCreateGroup.

The example below creates a new group

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesCreateGroup',
	'params' => [
		'name' => '%--attendee-group-name--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesCreateGroup",
		"params":
		{
			"name": "%--attendee-group-name--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
		"group_id": "%--attendee-group-id--%",
	},
},


Data sent and received

name --- Name of the participant group being created.
group_id --- Group ID of the created participants.

Renaming a participant group



To rename a previously created group of attendees, you can use the command attendeesGroupsRename.

The example below renames a group of participants

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesGroupsRename',
	'params' => [
		'id' => '%--attendee-group-id--%'
		'newname' => '%--attendee-groun-new-name--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesGroupsRename",
		"params":
		{
			"id": "%--attendee-group-id--%",
			"newname": "%--attendee-groun-new-name--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

id - The ID of the participant group. You can obtain it during group creation using the attendeesCreateGroup parameter or through retrieving the list of groups using the attendeesGroupsList command.
newname --- New name for the participant group.

Removing a group of participants



To delete a previously created group of attendees, you can use the command attendeesDeleteGroup.

The example below deletes a previously created group using the specified identifier.

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesDeleteGroup',
	'params' => [
		'id' => '%--attendee-group-id--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesDeleteGroup",
		"params":
		{
			"id": "%--attendee-group-id--%",
		},
	},
	"response": {
		"success": "%--message--%",
	},
},


Data sent and received

id --- Group ID of the attendees. You can obtain it during group creation using the parameter attendeesCreateGroup or through retrieving the list of groups using attendeesGroupsList.

Getting a list of participant groups



To retrieve a list of all previously created groups, you can use the command attendeesGroupsList.

The example below retrieves a list of all groups

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesGroupsList',
	'params' => [],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesGroupsList",
		"params": [],
	},
	"response":
	[
		[
			{
				"id": "%--attendee-group-id--%",
				"name": "%--attendee-group-name--%",
			},
			{
				"id": "%--attendee-group-id--%",
				"name": "%--attendee-group-name--%",
			},
			...
			{
				"id": "%--attendee-group-id--%",
				"name": "%--attendee-group-name--%",
			},
		],
	],
},


Data sent and received

id --- Group ID.
name --- Group name.

Adding participants to groups



To add participants to a previously created group, you can use the command attendeesAssignToGroup.

The example below adds the specified participant to the group

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesAssignToGroup',
	'params' => [
		'group_id' => '%--attendee-group-id--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesAssignToGroup",
		"params":
		{
			"group_id": "%--attendee-group-id--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below adds multiple participants to the group

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesAssignToGroup',
	'params' => [
		'group_id' => '%--attendee-group-id--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
			'%--attendee-email-at-domain-dot-com--%',
			...
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesAssignToGroup",
		"params":
		{
			"group_id": "%--attendee-group-id--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
				"%--attendee-email-at-domain-dot-com--%",
				...
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

group_id --- Group ID for participants. You can obtain it during group creation using the parameter attendeesCreateGroup, or through retrieving the list of groups using attendeesGroupsList.
attendees --- Array of email addresses of participants to be added to the group.

Removing participants from the group



To remove the specified participants from the attendee group, you can use the command attendeesUnAssignFromGroup.

The example below removes the specified participant from the group

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesUnAssignFromGroup',
	'params' => [
		'group_id' => '%--attendee-group-id--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesUnAssignFromGroup",
		"params":
		{
			"group_id": "%--attendee-group-id--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below removes multiple participants from the group

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesUnAssignFromGroup',
	'params' => [
		'group_id' => '%--attendee-group-id--%',
		'attendees' => [
			'%--attendee-email-at-domain-dot-com--%',
			'%--attendee-email-at-domain-dot-com--%',
			...
			'%--attendee-email-at-domain-dot-com--%',
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesUnAssignFromGroup",
		"params":
		{
			"group_id": "%--attendee-group-id--%",
			"attendees":
			[
				"%--attendee-email-at-domain-dot-com--%",
				"%--attendee-email-at-domain-dot-com--%",
				...
				"%--attendee-email-at-domain-dot-com--%",
			],
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received


group_id --- Group ID of attendees. You can obtain it during group creation using the parameter attendeesCreateGroup or through retrieving the list of groups using attendeesGroupsList.
attendees --- Array of email addresses of participants to be removed from the group.

Retrieving a list of groups in which a participant is present



To retrieve a list of all groups that a participant has been added to, you can use the command attendeesCommonGroups.

The example below retrieves the list of groups for the specified participant

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesCommonGroups',
	'params' => [
		'%--attendee-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesCommonGroups",
		"params":
		[
			"%--attendee-email-at-domain-dot-com--%",
		],
	},
	"response":
	[
		{
			"id": "%--attendee-group-id--%",
			"name": "%--attendee-group-name--%",
		},
		{
			"id": "%--attendee-group-id--%",
			"name": "%--attendee-group-name--%",
		},
		...
		{
			"id": "%--attendee-group-id--%",
			"name": "%--attendee-group-name--%",
		},
	],
},


The example below retrieves a list of groups for multiple participants at once

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesCommonGroups',
	'params' => [
		'%--attendee-email-at-domain-dot-com--%',
		'%--attendee-email-at-domain-dot-com--%',
		...
		'%--attendee-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesCommonGroups",
		"params":
		[
			"%--attendee-email-at-domain-dot-com--%",
			"%--attendee-email-at-domain-dot-com--%",
			...
			"%--attendee-email-at-domain-dot-com--%",
		],
	},
	"response":
	[
		{
			"id": "%--attendee-group-id--%",
			"name": "%--attendee-group-name--%",
		},
		{
			"id": "%--attendee-group-id--%",
			"name": "%--attendee-group-name--%",
		},
		...
		{
			"id": "%--attendee-group-id--%",
			"name": "%--attendee-group-name--%",
		},
	],
},


Data sent and received

attendee-email-at-domain-dot-com --- Array of participant emails to be added to the group.

In the command, you can pass one or multiple email addresses of participants to retrieve the list of groups they belong to.

Removing participants from the blocked list



To remove the block from a previously blocked participant in the webinar room, the command used is attendeesUnbanned.

The example below will unblock the specified participant

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesUnbanned',
	'params' => [
		'email' => '%--attendee-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesUnbanned",
		"params":
		{
			"email": "%--attendee-email-at-domain-dot-com--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


The example below will unblock multiple participants at once

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'attendeesUnbanned',
	'params' => [
		'email' => '%--attendee-email-at-domain-dot-com--%',
		'email' => '%--attendee-email-at-domain-dot-com--%',
		...
		'email' => '%--attendee-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "attendeesUnbanned",
		"params":
		{
			"email": "%--attendee-email-at-domain-dot-com--%",
			"email": "%--attendee-email-at-domain-dot-com--%",
			...
			"email": "%--attendee-email-at-domain-dot-com--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received


email --- Email or an array of participant emails from which you need to remove the block.


Webinars



In this section, you will find commands for:

Planning and creating a webinar
Updating the settings of the scheduled webinar
Deleting a webinar
Cloning a webinar
Retrieving a list of scheduled webinars
Obtaining detailed information for a webinar
Retrieving invitation mailing data for the webinar
Updating invitation mailing settings for a webinar
Disabling the webinar notification emails
Enabling webinar notification emails
Retrieving a list of participants on an active webinar
Retrieving a list of webinar recordings
Deleting a recording for a webinar
Obtaining a list of documents uploaded to the webinar
Obtaining webinar attendance history


For the sake of convenience and ease of use, the commands are divided into logical blocks.

Planning and creating a webinar



To create a scheduled webinar, you will need to use the command "webinarsCreate".

The example below creates a webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' =>'webinarsCreate',
	'params' => [
		'name' => '%--webinar-name-or-topic--%',
		'start' => '%--year-month-day-hours-minutes-seconds--%',
		'duration' => '%--webinar-duration-in-minutes--%',
	]
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsCreate",
		"params":
		{
			"name": "%--webinar-name-or-topic--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"duration": "%--webinar-duration-in-minutes--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
		"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		"webinarLink": "%--https-access-url-to-the-webinar--%",
		"mainModeratorLink": "%--https-access-url-for-the-main-moderator--%",
	},
},


Data sent and received


alias --- Unique webinar ID for which this API command is executed.
name --- Name or title of the webinar.
description --- Webinar description.
start --- Date and time of the webinar start. Text format: YYYY-MM-DD HH:MM:SS.
duration --- Estimated duration of the webinar in minutes. Maximum value is 1439.
webinarLink --- Public webinar link.
mainModeratorLink --- Link to the webinar for the main moderator.

Updating the settings of the scheduled webinar



To make changes to any previously scheduled webinar, you can use the command webinarsSet.

The example below modifies some settings for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsSet',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'name' => '%--webinar-name-or-topic--%',
		... - please see additional information below
		'language' => '%--webinar-room-language--%',
		'settings' => [
			'cameraSize' => '%--mini-middle-big--%',
			'userList' => '%--yes-or-no--%',
			'loginfields' => [
				'name',
				'email',
				... - depending on the required fields
			],
			'recordWhole' => "%--record-whole-area-chat-webcam--%",
			"recordUsers" => "%--yes-or-no--%",
			"recordQuality" => "%--0-1-2-3-4--%",
			... - the amount of data can vary
		],
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsSet",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"name": "%--webinar-name-or-topic--%",
			"language": "%--webinar-room-language--%",
			"settings":
			{
				"cameraSize": "%--camera-size--%",
				"userList": "%--yes-or-no--%",
				"loginfields":
				[
					"name",
					"email"
				],
				"recordWhole": "",
				"recordUsers": "%--yes-or-no--%",
				"recordQuality": "%--0-1-2-3-4--%",
				...
			},
			...
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.
name --- Title or topic for the webinar.
description --- Advanced webinar description in HTML format. This parameter is optional.
start --- The start date and time of the webinar in the time zone specified in the Profile section. The text format is YYYY-MM-DD HH:MM:SS.
duration --- Duration of the webinar in minutes. The maximum value is 1439.
close --- YES - private webinar, or NO - public webinar.
language --- Two-letter language code in the room. The interface of the webinar will be displayed in this language by default for both presenters and attendees. Possible parameter values: be - Belarusian; bg - Bulgarian; de - German; en - English; es - Spanish; et - Estonian; fr - French; it - Italian; lt - Lithuanian; lv - Latvian; pl - Polish; pt - Portuguese; ru - Russian; sl - Slovenian; tr - Turkish; uk - Ukrainian.
logo --- Logo for the webinar room. Image in Base64 format.
logotype_url --- Link to the page that will appear when clicking on the logo.
banner --- Webinar room banner. Image in Base64 format.
banner_url --- Link to the page that will appear when you click on the banner.
google_id --- Google Analytics Tracking ID (DEPRECATED)
settings --- Advanced room settings. Allowed parameters:


webcamPosition --- Camera placement for the moderator: LEFT - camera on the left above the chat, RIGHT - camera on the right above the chat.
themebg --- The background color in the webinar room. Color values should be in HEX format, for example #f2f2f2.
themetext --- Color of icons and text in the webinar room. Color values should be in HEX format, for example #d3d3d3.
userList --- Show or hide the user list to participants. Set to YES to show the guest list to participants, or NO to hide the list.
flags --- Display or hide country flags in the user list in the room. Set it to YES to show flags, and NO to hide flags. This parameter will not work if userList is set to NO.
buttonQuestion --- Show or hide the Ask a Question button in the participant menu during the webinar. Set it to YES to show the button, or NO to hide it.
buttonVoice --- Show or hide the Raise Hand button in the participant menu during the webinar. Set to YES to show, and NO to hide.
chat --- Show or hide the chat field for guests. Setting it to YES will display the chat field, allowing participants to send messages. Setting it to NO will hide the chat field, preventing participants from sending messages.
showBeforeTimer --- Display or hide the countdown timer until the webinar starts. Set it to YES to display the timer or NO to hide it.
showLoginStart --- Show or hide the event start time on the webinar entry page. Select YES to display the start time or NO to hide it.
showLoginName --- Show or hide the webinar title on the webinar entry page. Set it to YES to display the webinar title, or NO to hide the webinar title.
showLoginModerators --- Show or hide the list of moderators on the webinar entry page. YES to display the list of moderators, NO to hide it.
showSocialButtons --- Show or hide social media login buttons on the login page. If set to YES, the login buttons will be displayed. If set to NO, the buttons will be absent.
showLoginCounter --- Display the number of available seats for the webinar on the login page. Choose YES to show the number of available seats, or NO to hide it.
group --- The presence of this parameter determines whether participants will be grouped under Group ID. Use the command AttendeesGroupsList to obtain the group ID.
loginfields --- List of fields for entering on the webinar login page and their sequence. The parameter may include the following elements: name - field for entering the name; email - field for entering the email (if the parameter is absent, the participant will not appear in the participants section in the control panel, they will only be included in the statistics of the webinar); phone - field for entering the phone number; skype - field for entering the Skype username; city - field for entering the city name; company - field for entering the organization name; department - field for entering the department name; born - field for entering the date of birth.
beforeStartTime --- The number of minutes before the event start time when participants will be allowed to join the webinar. The time range is from 5 to 60 minutes.
cameraSize --- Camera size on the webinar. mini for small, middle for medium, big for large - in the event settings, the parameter is called "Chat Size".
emailIdntLogin --- To enable personalized links for accessing the webinar, set the mode to YES. To disable the mode, set it to NO.
emailIdntRecord --- Enable personalized link mode for recording viewing: YES to activate the mode, NO to deactivate the mode.
Recording mode --- There are multiple recording modes available. To set the desired recording mode, you need to pass an empty value as the key in the mode array. For example, recordWebCams => "". Here is a list of recording modes: recordWebCams - records only webcams; recordAreaNoChat - records webcams, microphones, chat, and documents display area; recordArea - records webcams, microphones, and documents display area; recordWhole - records the entire room. It can accept the following additional values: recordUsers - activates recording of the participant list. Changing this parameter activates the recordWhole mode. Use YES to include the participant list in the recording, or NO to exclude it; recordModer - Displays the name of the moderator on the moderator's camera in the recording. Changing this parameter automatically sets the recordWhole mode. Use YES to show the moderator's name on their camera in the recording, or NO to hide it; recordChat - includes the chat in the recording. Use YES to include the chat in the recording, or NO to exclude it. Please note that the provided values are for reference and should be adjusted based on your specific recording needs.
recordQuality - Setting the recording quality level: 0 - recording will be done in 480p resolution [800x460]; 1 - recording will be done in 720p resolution [1280x720]; 2 - recording will be done in 1080p resolution [1920x1080] - this quality level is only available on paid plans; 3 - recording will be done in 2K resolution [2048x1080] - this quality level is available in plans with 500 or more participants.
sendRecord --- Sending the webinar recording link after the event has ended. Selecting YES will automatically send the recording to participants after the webinar. Selecting NO will not send the recording.
sendRecordTo --- This parameter determines who will receive the recording link after the webinar ends. By default, if the parameter is active, the recording is sent to all users registered as participants of the webinar. all - send the recording to everyone. visit - send the recording to everyone who attended the webinar. miss - send the recording to everyone who did not attend the webinar.


Deleting a webinar



To completely delete a previously scheduled webinar, you can use the command webinarsDelete.

The example below deletes the specified webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsDelete',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsDelete",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response": {
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.

Cloning a webinar



To clone a previously created webinar, you can use the command webinarsClone.

The example below creates a copy of a previously scheduled webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsClone',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'date' => '%--year-month-day--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsClone",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"date": "%--year-month-day--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
		"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		"webinarLink": "%--https-access-url-to-the-webinar--%",
		"mainModeratorLink": "%--https-access-url-for-the-main-moderator--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.
date --- Event date.
webinarLink --- Event URL.
mainModeratorLink --- Main moderator's link for event entry.

Retrieving a list of scheduled webinars



To get the complete or partial list of scheduled webinars, you can use the command webinarsList.

The example below returns a list of webinars

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsList',
	'params' => [
		'fields' => [
			'name',
			'alias'
		],
		'status' => '%--active-or-finished--%',
		'date' => '%--year-month-day-hours-minutes-seconds--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsList",
		"params":
	{
			"fields":
			[
				"name",
				"alias"
			],
			"status": "%--active-or-finished--%",
			"date": "%--year-month-day-hours-minutes-seconds--%",
		},
	},
	"response":
	[
		{
			"name": "%--webinar-name-or-topic--%",
			"description": "%--html-formatted-webinar-description--%",
			"created": "%--year-month-day-hours-minutes-seconds--%",
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"language": "%--webinar-room-language--%",
		},
		{
			"name": "%--webinar-name-or-topic--%",
			"description": "%--html-formatted-webinar-description--%",
			"created": "%--year-month-day-hours-minutes-seconds--%",
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"language": "%--webinar-room-language--%",
		},
		...
		{
			"name": "%--webinar-name-or-topic--%",
			"description": "%--html-formatted-webinar-description--%",
			"created": "%--year-month-day-hours-minutes-seconds--%",
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"start": "%--year-month-day-hours-minutes-seconds--%",
			"language": "%--webinar-room-language--%",
		},
	],
},


Data sent and received

fields is a list of fields to be retrieved. This parameter is optional. If not specified, all fields will be returned.


status --- Filter by webinar status: ACTIVE - ongoing or scheduled webinars; FINISHED - ended webinars.
date --- Date filter: Select all webinars for a specific day. Use the date format YYYY-MM-DD.
name --- Title or topic for the webinar. Webinar topic text.
description --- Webinar description text. It can be empty.
created --- Webinar creation date. It should be described in the format YYYY-MM-DD HH:MM:SS in GMT+0 timezone.
alias --- Unique webinar ID for which this API command is executed.
start --- Date and time of start in the time zone specified in the Profile. Format: YYYY-MM-DD HH:MM:SS.
language --- Two-letter language code for the room. The default interface language for both presenters and attendees will be displayed in this language. Acceptable values: be - Belarusian; bg - Bulgarian; de - German; en - English; es - Spanish; et - Estonian; fr - French; it - Italian; lt - Lithuanian; lv - Latvian; pl - Polish; pt - Portuguese; ru - Russian; sl - Slovenian; tr - Turkish; uk - Ukrainian.


Obtaining detailed information for a webinar



To obtain detailed information about a scheduled webinar, you can use the command webinarsGetInfo.

The example below retrieves all the information about the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsGetInfo',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsGetInfo",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%"
		}
	},
	"response": {
		"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		"name": "%--webinar-name-or-topic--%",
		"description": "%--html-formatted-webinar-description--%",
		"start": "%--year-month-day-hours-minutes-seconds--%",
		"duration": "%--webinar-duration-in-minutes--%",
		"close": "%--yes-or-no--%",
		"language": "%--webinar-room-language--%",
		"google_id": "%--google-analytics-id--%",
		"created": "%--year-month-day-hours-minutes-seconds--%",
		"status": "%--active-or-finished--%",
		"records": "%--amount-of-the-previous-records--%",
		"settings": {
			"userList": "%--yes-or-no--%",
			"flags": "%--yes-or-no--%",
			"chat": "%--yes-or-no--%",
			"buttonQuestion": "%--yes-or-no--%",
			"buttonVoice": "%--yes-or-no--%",
			"showBeforeTimer": "%--yes-or-no--%",
			"showLoginStart": "%--yes-or-no--%",
			"showLoginName": "%--yes-or-no--%",
			"showLoginModerators": "%--yes-or-no--%",
			"showSocialButtons": "%--yes-or-no--%",
			"showLoginCounter": "%--yes-or-no--%",
			"emailIdntLogin": "%--yes-or-no--%",
			"emailIdntRecord": "%--yes-or-no--%",
			"sendRecord": "%--yes-or-no--%",
			"theme": {
				"bg": "%--html-based-color-code--%",
				"text": "%--html-based-color-code--%"
			},
			"loginFields": [
				"name",
				"email"
			],
			"group": "%--group-name--%"
		}
	}
}


Data sent and received


alias --- The unique webinar ID for which this API command is being executed.
name --- Webinar title.
description --- Webinar description.
start --- Start time of the webinar.
duration --- Duration of the webinar in minutes. The maximum value is 1439.
close --- Closed or open webinar. Use YES for closed and NO for open.
language --- Default language of the webinar. All event notifications will be sent in this language.
google_id --- id Google Analytics (DEPRECATED).
created --- Webinar creation date.
status --- ACTIVE webinars, which are scheduled or currently taking place, and FINISHED webinars, which have concluded.
records --- For more details on the recording options, please refer to the command webinarsSet.
settings --- Webinar room settings. For detailed information on each parameter, please refer to the webinarsSet command.
... --- and other available options.

Attention: The quantity and format of the returned data may vary from the example provided above!

Retrieving invitation mailing data for the webinar



To retrieve information about the invitation emails sent for a webinar, you can use the command webinarsGetLettersInfo.

The example below retrieves all active newsletters for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsGetLettersInfo',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsGetLettersInfo",
		"params":
		{
			"alias": "xzkh-velf-xbek-wner",
		},
	},
	"response":
	{
		"REGISTRATIONCONFIRM":
		{
			"enabled": "%--0-or-1--%",
			"status": "%--wait-or-end--%",
			"text": "%--email-message-body--%",
		},
		"1HOUR":
		{
			"enabled": "%--0-or-1--%",
			"status": "%--wait-or-end--%",
			"text": "%--email-message-body--%",
		},
		"STARTED":
		{
			"enabled": "%--0-or-1--%",
			"status": "%--wait-or-end--%",
			"text": "%--email-message-body--%",
		},
		"FINISHED":
		{
			"enabled": "%--0-or-1--%",
			"status": "%--wait-or-end--%",
			"text": "%--email-message-body--%",
		},
		... - additional information can be provided here
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.

Updating invitation mailing settings for a webinar



For modifying the parameters of the sent invitations, the command webinarsSetLetters is used.

The example below modifies the invitation settings for the webinar.



$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsSetLetters',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'text' => '%--some-text-for-email-message-footer--%',
		'type' => '%--type--%',
		'enabled' => '%--yes-or-no--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsSetLetters",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"type": "%--type--%",
			"enabled": "%--yes-or-no--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- The unique webinar ID for which this API command is being executed.
text --- Email signature text - text in HTML format. To remove this text, send a request with an empty value.
type --- Message type. The email that requires action to be taken.


REGISTRATIONCONFIRM - Registration Confirmation Email. This email is sent when a participant registers for a webinar through the login page.
3DAY - Email notification for participants 3 days (72 hours) prior to the webinar.
1DAY - Email reminder to participant 1 day (24 hours) before the webinar.
1HOUR - Email sent to participants 1 hour before the webinar.
STARTED - Email sent to the participants who were invited but did not enter the webinar room at the start of the event.
FINISHED - Post-webinar email.


enabled --- Activation or deactivation of email sending: YES the email will be sent; NO the email will not be sent. The participant invitation email one hour before the webinar 1HOUR cannot be disabled.

Disabling the webinar notification emails



To disable the sending of invitations to all webinar participants, you can use the command webinarsLettersOff.

The example below disables the webinar invitation emails

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsLettersOff',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsLettersOff",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.

Enabling webinar notification emails



To activate the invitations mailing to all webinar participants, the command webinarsLettersOn is used.

The example below enables the email newsletter for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsLettersOn',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsLettersOn",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.

Retrieving a list of participants on an active webinar



To obtain a list of participants who are currently attending the webinar, the command webinarsOnlineList is used.

The example below selects all participants in the webinar currently in progress

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsOnlineList',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsOnlineList",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"moderators":
		[
			{
				"name": "%--first-and-last-name-of-the-moderator--%",
				"email": "%--moderator-email-at-domain-dot-com--%",
			},
			...
		],
		"guests":
		[
			{
				"name": "%--first-and-last-name-of-the-attendee--%",
				"email": "%--attendee-email-at-domain-dot-com--%",
			},
			...
		],
	},
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.
moderators --- List of the webinar moderators.
guests --- List of the webinar attendees.

Retrieving a list of webinar recordings



To obtain a list of created webinar recordings, you can use the command webinarsRecordsList.

The example below retrieves the list of webinar recordings

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsRecordsList',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsRecordsList",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	[
		{
			"id": "%--unique-id-of-the-recording--%",
			"name": "%--name-of-the-recording--%",
			"status": "%--ready-or-wait--%",
			"added": "%--year-month-day-hours-minutes-seconds--%",
			"size": "%--recording-file-size-in-bytes--%",
			"duration": "%--recording-length-in-seconds--%",
			"link": "%--https-unique-url-to-watch-the-recoring--%",
			"download_link": "%--https-unique-url-to-download-the-recoring--%",
		},
		...
	],
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.
id --- Unique webinar recording ID.
name --- Webinar title
status --- The recording status is either Processing or Ready for Download.
added --- Date and time of creation.
size --- File size of the recording.
duration --- Duration of the recording.
link --- Recording playback link.
download_link --- Download link.

Deleting a recording for a webinar



To delete a webinar recording based on its unique code, you can use the command webinarsRecordDelete.

The example below deletes a record for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsRecordDelete',
	'params' => [
		'id' => '%--unique-id-of-the-recording--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsRecordDelete",
		"params":
		{
			"id": "%--unique-id-of-the-recording--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received


id --- Record identifier. The id of the record can be obtained using the webinarsRecordsList command.

Obtaining a list of documents uploaded to the webinar



To retrieve a list of all documents uploaded to the webinar, use the command webinarsFilesList.

The example below retrieves previously uploaded files for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsFilesList',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'type' => '%--type--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsFilesList",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"type": "%--type--%",
		},
	},
	"response":
	[
		{
			"id": "%--unique-id-of-the-file--%",
			"name": "%--name-of-the-file--%",
			"added": "%--year-month-day-hours-minutes-seconds--%",
			"size": "%--file-size-in-bytes--%",
			"duration": "%--length-in-seconds-or-amount-of-pages--%",
			"link": "%--https-unique-url-to-watch-the-file--%",
			"download_link": "%--https-unique-url-to-download-the-file--%",
		},
		...
	],
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.
type --- File types to be obtained. This parameter is optional. PRESENTATION - getting a list of presentations and images. MEDIA - getting a list of mp3, mp4 files, videos from Youtube and Vimeo.
id --- Unique file ID.
name --- File name.
added --- Date and time of file uploading or creation.
size --- File size.
duration --- File length, for example, refers to the number of slides in a presentation.
link --- File link.
download_link --- Download link.

Obtaining webinar attendance history



To retrieve a detailed history of webinar attendance by participants and all text chat messages, the command webinarsHistory is used.

The example below retrieves the attendance history or chat log for a webinar.

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsHistory',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'type' => '%--chat-or-visits--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsHistory",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"type": "%--type--%",
		},
	},
	"response":
	[
		[
			"%--year-month-day-hours-minutes-seconds--%",
			"%--attendee-first-and-last-name--%",
			"%--text-chat-message-attendee-sent--%",
			"%--g-or-m--%",
			"%--attendee-email-at-domain-dot-com--%",
		],
		[
			"%--year-month-day-hours-minutes-seconds--%",
			"%--attendee-first-and-last-name--%",
			"%--text-chat-message-attendee-sent--%",
			"%--g-or-m--%",
			"%--attendee-email-at-domain-dot-com--%",
		],
		...
		[
			"%--year-month-day-hours-minutes-seconds--%",
			"%--attendee-first-and-last-name--%",
			"%--text-chat-message-attendee-sent--%",
			"%--g-or-m--%",
			"%--attendee-email-at-domain-dot-com--%",
		],
	],
},


Data sent and received

alias --- Unique webinar ID for which this API command is executed.
type --- Requested history type: chats - returns a detailed history of all messages in the text chat. visits - returns the history of webinar visits.


Automated webinars



In this section, you will find commands for

Creating virtual moderators
Deleting virtual moderators
Creating virtual attendees
Deleting virtual attendees
Getting the list of virtual attendees
Sending messages in the chat on behalf of virtual attendees
Disabling text chat for "live" participants
Enabling text chat for "live" participants
Disabling links in the chat for "live" participants
Enabling links in the chat for "live" participants
Starting the slide presentation for live participants
Disabling presentation display for "live" participants
Playing a video clip or YouTube for "live" attendees
Pausing the video for "live" participants
Ending the webinar and disconnecting live attendees

To enhance clarity and ease of use, the commands are organized into logical sections.

Creating virtual moderators



To create virtual moderators, the command webinarsAddModerToRoom is used.

The example below creates a virtual presenter for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsAddModerToRoom',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'email' => '%--moderator-email-at-domain-dot-com--%',
		'name' => '%--moderator-first-and-last-name--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsAddModerToRoom",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"email": "%--moderator-email-at-domain-dot-com--%",
			"name": "%--moderator-first-and-last-name--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which a virtual moderator is being created.
email --- Please provide a unique email for the virtual moderator you are creating. The email should contain 6 to 128 characters.
name --- Full name of the virtual moderator being created. The allowed number of characters is from 2 to 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.

Deleting virtual moderators



To remove a virtual moderator from the webinar, you can use the command webinarsRemoveModerFromRoom.

The example below removes a previously created virtual moderator from the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsRemoveModerFromRoom',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'email' => '%--moderator-email-at-domain-dot-com--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsRemoveModerFromRoom",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"email": "%--moderator-email-at-domain-dot-com--%",
		}
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID from which a previously created moderator is removed.
email --- Unique email of a previously created virtual moderator. The acceptable character limit is from 6 to 128.

Creating virtual attendees



To create a virtual attendee in the webinar room, you can use the command webinarsAddBotToRoom.

The example below creates a virtual attendee for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsAddBotToRoom',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'name' => '%--attendee-first-and-last-name--%',
		'country' => '%--two-letters-country-code--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsAddBotToRoom",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"name": "%--attendee-first-and-last-name--%",
			"country": "%--two-letters-country-code--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
		"id": "%--unique-id-of-the-virtual-attendee--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which a virtual attendee is being created.
name --- Full name of the virtual attendee being created. The allowed number of characters is from 2 to 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\::;,<>/?.
country --- Country code. For example, US, DE, UK, FR, PL, UA ...
id --- Unique code (ID) of the created virtual attendee.

Deleting virtual attendees



To remove a virtual attendee from the webinar, you can use the command webinarsRemoveBotFromRoom.

The example below deletes a previously created virtual attendee from the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsRemoveBotFromRoom',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'id' => '%--unique-id-of-the-virtual-attendee--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsRemoveBotFromRoom",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"id": "%--unique-id-of-the-virtual-attendee--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID from which the virtual attendee is being removed.
id --- Unique code (ID) of the created virtual attendee.

Getting the list of virtual attendees



To retrieve a list of all virtual attendees on the webinar, you can use the command webinarsGetBotsList.

The example below retrieves all virtual attendees who are currently connected to the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsGetBotsList',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsGetBotsList",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	[
		{
			"id": "%--unique-id-of-the-virtual-attendee--%",
			"name": "%--attendee-first-and-last-name--%",
			"country": "%--two-letters-country-code--%",
		},
		...
	],
},


Data sent and received

alias --- Unique webinar ID for which the list of all previously created virtual attendees is obtained.
id --- Unique code (ID) of the created virtual attendee.
name --- Full name of the virtual attendee. Acceptable character count is 2 to 64. All characters are allowed except: ^~!@#$%^&*()+=[{}]\|:;,<>/?.
country --- Country code. For example, US, DE, UK, FR, PL, UA ...

Sending messages in the chat on behalf of virtual attendees



To send messages on behalf of a virtual attendee or presenter, you can use the command webinarsBotMessage.

The example below sends a text message during the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsBotMessage',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'bot' => '%--moderator-email-or-unique-id-of-the-virtual-attendee--%',
		'text' => '%--text-message--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsBotMessage",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"bot": "%--moderator-email-or-unique-id-of-the-virtual-attendee--%",
			"text": "%--text-message--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID to which a message will be sent in the text chat.
bot --- The email of the virtual moderator that was used during its creation, or the unique identifier of the virtual attendee obtained during its creation.
text --- Text message that will be sent to the webinar chat.

Disabling text chat for "live" participants



To disable the text chat during the webinar, you can use the command webinarLockChat.

The example below restricts the exchange of chat messages between webinar participants

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsLockChat',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsLockChat",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which the chat messaging feature is disabled for all "live" attendees.

Moderators and presenters always have the ability to send messages in the text chat. Disabling the chat only applies to webinar participants.

Enabling text chat for "live" participants



To enable text chat during the webinar, you can use the command webinarsUnlockChat.

The example below enables messaging in the chat between webinar participants

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsUnlockChat',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsUnlockChat",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which the chat messaging feature is enabled for all live participants.



To prevent participants in the webinar from exchanging links in the chat, you can use the command webinarsLinkLockInChat.

The example below prohibits the exchange of links in the webinar chat between participants

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsLinkLockInChat',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsLinkLockInChat",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which the ability to exchange links in the chat among "live" participants is disabled.



To allow participants in the webinar to exchange links in the chat, the command webinarsLinkUnlockInChat is used.

The example below allows participants in the webinar to exchange links in the chat

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsLinkUnlockInChat',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsLinkUnlockInChat",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID, which enables the ability to share links in the chat among the live attendees.

Starting the slide presentation for live participants



To initiate the presentation, you will use the command webinarsStartPresentation.

The example below starts the presentation of the specified slide during the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsStartPresentation',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'id' => '%--unique-id-of-the-file--%',
		'slide' => '%--page-or-slide-number--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsStartPresentation",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"id": "%--unique-id-of-the-file--%",
			"slide": "%--page-or-slide-number--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique ID of the webinar for which the presentation is being launched.
id --- The ID code of the presentation, obtained when retrieving previously uploaded files. To retrieve it, use the webinarsFilesList parameter.
slide --- Slide number of the presentation to be shown during the webinar.

Disabling presentation display for "live" participants



To stop the presentation during a webinar, you can use the command webinarStopPresentation.

The example below stops the presentation display for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarStopPresentation',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarStopPresentation",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which the presentation display is stopped.

Playing a video clip or YouTube for "live" attendees



To start a video, YouTube, or Vimeo clip, you can use the command webinarsStartVideo.

The example below plays a video clip during the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsStartVideo',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
		'id' => '%--unique-id-of-the-file--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsStartVideo",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
			"id": "%--unique-id-of-the-file--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which the video playback is being launched.
id --- Video clip ID code. To retrieve it, use the webinarsFilesList parameter.

Pausing the video for "live" participants



To stop the playback of a running video, YouTube, or Vimeo file, use the command webinarsStopVideo.

The example below stops the playback of the video for the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsStopVideo',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsStopVideo",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID for which the video playback is paused.

Ending the webinar and disconnecting live attendees



To complete a webinar fully, you can use the command webinarsFinish. This will disconnect all participants from the webinar room.

The example below concludes the webinar

$data[ 'request' ] = json_encode( [
	'key' => '%--api-key-from-your-profile--%',
	'action' => 'webinarsFinish',
	'params' => [
		'alias' => '%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%',
	],
] );


In case of successful execution of the command, you will receive a response

{
	"request":
	{
		"action": "webinarsFinish",
		"params":
		{
			"alias": "%--webinar-alias-xxxx-xxxx-xxxx-xxxx--%",
		},
	},
	"response":
	{
		"success": "%--message--%",
	},
},


Data sent and received

alias --- Unique webinar ID that will be concluded. Only a webinar that has started can be concluded.


If you notice any errors or inaccuracies in the information, please contact our online support. We will review and correct the document accordingly.

The webinar service provided by MyOwnConference holds the authority to alter or augment this document as necessary. Your use of this document implies your recognition and acceptance of this notification.

Updated on: 26/06/2023

Was this article helpful?

Share your feedback

Cancel

Thank you!