Introduction

This page contains the documentation for the Veeting Rooms API version 1. The APIs can only be consumed by 3rd parties who have a valid API key. Likewise, the examples run only with a valid API key

All data that is sent to the Veeting Rooms server has to be packaged in a standardized JSON data request body described below. Similarly, all response object from the server come in an equally standardized JSON data response body.

Every application that consumes these APIs has to first obtain an API key from Veeting Rooms. Such an API key must not be used for multiple applications, every application should use its own API key.

Standard data bodies

Request parameter definitions

Every API that sends data to the service must wrap the data in the following data structure:

Field name Data type Description
apiKey String The unique API key of this application, mandatory
sessionKey String The session key of the user, mandatory for requests that affect user data
localeCode String Local code, optional, default is “en” for English
data Object A JSON object containing data parameters for the specific request

Example:

{
	"apiKey": "YOUR UNIQUE API KEY",
    "sessionKey": "USER SESSION KEY",
    "localeCode": "de",
	"data": {
	}
}


Response parameter definitions

Every API request is answered by a generic response object. The response object contains three fields: a response code, a response message and data field containing JSON encoded, API specific data.

Field name Data type Description
responseCode String A response code indicating a success or error, see table below for details
responseMessage String A localized response message that can be displayed to the user in case of an error. Mandatory if responseCode < 0. The message can be expected in the language passed in as localecode in the request, or if not available, in English (“en”)
data Object A JSON object containing response data or error objects in case of responseCode < 0

Response code Description
-99 Unknown error
-10 Account already exists
-4 Data not valid
-3 Not allowed
-2 Session key not valid
-1 API key not valid
0 Success

Example:

{
	"responseCode" : 0,
	"responseMessage": "Success",
	"data": {
	}
}

Default configuration

Configure these fields in order to run the examples below.

Create Account

Description

This API allows anyone to create a free account with Veeting Rooms. Only one account per email address is allowed, the email address will be the user id of the account administrator.


End-point definition

URL https://www.veeting.com/api/v1/account
HTTP Method POST
Requires session key? No

Request parameter definitions

Field name Data type Mandatory? Description
firstName String Yes The first name of the user
lastName String Yes The last name of the user
email String Yes The email address of the user

Response parameter definitions

The system does not send extra data with the response. In case of a successful account creation the system sends an email with the password to the new account holder.


Example

Code:

Results:

Login

Description

This API allows anyone to log in to the Veeting Rooms account.

End-point definition

URL https://www.veeting.com/api/v1/login
HTTP Method POST
Requires session key? No

Request parameter definitions

Field name Data type Mandatory? Description
username String Yes The email address of the user
password String Yes The password of the user
applicationVersion String No An optional application version number. The response will tell if an updated version of your software is available for download.

Response parameter definitions

Field name Data type Description
sessionKey String The session key for this user.
firstName String The first name of this user.
lastName String The last name of this user.
calendarUrl String The URL to retrieve the current ICS calendar of the user. This calendar can be imported into Outlook Calendar, Google Calendar, etc.
sessionExpiresAt Integer Expire date of the current session key as a Unix timestamp UTC in milliseconds.
sessionExpiresIn Integer Number of milliseconds until the current session expires
updatedApplicationAvailable Boolean Returns True if "applicationVersion" was provided and a newer version of the application was provided, otherwise False

Example

Code:

Results:

Logout

Description

This API allows a logged in user to logout from the Veeting Rooms account.

End-point definition

URL https://www.veeting.com/api/v1/logout
HTTP Method POST
Requires session key? Yes

Request parameter definitions

No particular request parameters needed


Response parameter definitions

No particular response parameters returned


Example

Code:

Results:

Schedule meeting

Description

This API allows to schedule a Veeting.

End-point definition

URL https://www.veeting.com/api/v1/schedule-meeting
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
topic String Yes Meeting topic
agenda String No Meeting agenda
startTimestamp Integer Yes Unix time stamp, Milliseconds since 1.1.1970 UTC
duration Integer Yes Meeting duration in minutes, minimum 15, maximum 7200.
roomId Integer No The ID of the meeting room into which this meeting should be put. If no roomId is provided the system automatically tries to put this meeting into an available room.
participants Array of strings No List of email addresses, comma separated. Requires session key, maximum number of email addresses is 10
meetingType String Yes “video” or “audio”
meetingStyle String Yes "standard", "offTheRecord", "boardroom" or "classroom"
meetingPassword String No An optional password for the meeting.
sendMeetingInvitation Boolean No Set to True if the system should send out meeting invitations to the participants. Default is False
permission String No Permission ID to define the permissions for this meeting.

Response parameter definitions

Field name Data type Description
Meeting object Object See definition of meeting object in “List meetings”.

Example

Code:

Results:

Update meeting

Description

This API allows to update a Veeting. The admin token of the meeting is required.

End-point definition

URL https://www.veeting.com/api/v1/update-meeting
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
adminToken String Yes Meeting topic
topic String Yes Meeting topic
agenda String No Meeting agenda
startTimestamp Integer Yes Unix time stamp, Milliseconds since 1.1.1970 UTC
duration Integer Yes Meeting duration in minutes, minimum 15, maximum 7200.
roomId Integer No The ID of the meeting room into which this meeting should be put. If no roomId is provided the system automatically tries to put this meeting into an available room.
participants Array of strings No List of email addresses, comma separated. Requires session key, maximum number of email addresses is 10
meetingType String Yes “video” or “audio”
meetingStyle String Yes "standard", "offTheRecord", "boardroom" or "classroom"
meetingPassword String No An optional password for the meeting.
sendMeetingInvitation Boolean No Set to True if the system should send out meeting invitations to the participants. Default is False

Response parameter definitions

Field name Data type Description
Meeting object Object See definition of meeting object in “List meetings”.

Example

Code:

Results:

Delete meeting

Description

This API allows to delete a Veeting. The admin token of the meeting is required.

End-point definition

URL https://www.veeting.com/api/v1/delete-meeting
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
adminToken String Yes Meeting topic

Response parameter definitions

Field name Data type Description
success Boolean "True" if meeting was deleted, otherwise "false".

Example

Code:

Results:

Extend meeting

Description

This API allows users to extend a meeting, given that the meeting was organized by someone with a private meeting room and that that meeting room is free, i.e. no other meeting is scheduled in that room

End-point definition

URL https://www.veeting.com/api/v1/extend-meeting
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
meetingId String Yes The unique meeting id of the current meeting
extendByMinutes Integer Yes The number of minutes the Veeting should be extended

Response parameter definitions

Field name Data type Description
extendedByMinutes Integer The number of minutes the meeting was actually extended by. This can be lower than the request parameter “extendByMinutes” in case the meeting room is used by an other meeting afterwards.

Example

Code:

Results:

List meetings

Description

This API allows anyone with a valid session key to retrieve the upcoming and ongoing meetings associated with the appropriate account.

End-point definition

URL https://www.veeting.com/api/v1/meetings
HTTP Method POST
Requires session key? YES

Request parameter definitions

No particular request parameters needed


Response parameter definitions

Field name Data type Description
Meetings List A list of meeting objects. See table below for the definition of the meeting object.

Meeting data structure definition

Field name Data type Description
meetingId String Unique meeting id
adminToken String Unique admin token, currently useless for API users
topic String Meeting topic
agenda String Meeting agenda
startTimestamp Integer Milliseconds since 1.1.1970, UTC
duration Integer Meeting duration in minutes
participants Array of strings List of email addresses, comma separated.
meetingType String “video” or “audio”
meetingStyle String e.g. “standard”, “offTheRecord”, “boardRoom”, etc
meetingOrganizer String Full name of meeting Organizer, only filled in if the meeting was created by a logged in user, i.e. a valid security token
hasStarted Boolean Indicates if the meeting has started already
isOpen Boolean Indicates if the meeting room for this meeting is available. The meeting room opens 15 minutes before the meeting starts.
isClosed Boolean Indicates if the meeting is closed already
maxStorageReached Boolean Currently useless for API users
permission String The meeting permission id. See Permission APIs for details.

Example

Code:

Results:

Permissions

Description

Permissions define what meeting participants are allowed to see and do in a meeting room. For instance, one can define a permission that only allows the meeting organizer to upload documents and draw on the whiteboard and denies these features to every other meeting participant.

Permissions have to be defined first. Then these permissions can be attached to meetings. A meeting without a permission attached is a meeting where everyone can do everything.

Permission set

A permission set consist of three key-value pairs:

Field name Data type Description
permissionId String unique ID to reference this permission set
displayName String The displayed string to identify this set in the account settings
permissions Permission object Permission object. See below for values

Permission data structure definition

Field name Data type Description
documents.view Permission value Shows the document feature
documents.upload Permission value Allows uploading of documents
documents.download Permission value Allows downloading of shared documents
documents.trash Permission value Allows deleting of shared documents
documents.present Permission value Allows to present documents and navigate document slides
documents.annotate Permission value Allows to use the highlighter on documents
whiteboard.view Permission value Shows the whiteboard feature
whiteboard.use Permission value Allows editing and navigating slides
screensharing.view Permission value Shows the screen sharing feature
screensharing.use Permission value Allows sharing the screen
chat.view Permission value Shows the chat
chat.use Permission value Allows sending of chat messages
minutes.view Permission value Shows the shared minutes
minutes.use Permission value Allows editing the shared minutes
notes.use Permission value Shows and enables the private notes
extend.use Permission value Allows the user to extend the meeting
invite.use Permission value Allows the user to use the invitation feature

Permission value definitions

A permission value is one of these:
  • nobody: The feature is completely disabled
  • organizer: Only the meeting organizer has access to the feature
  • user: Meeting organizer and authenticated users have access to the feature
  • everyone: Everyone has access to the feature (default)

Invalid or missing permission values are treatet as "everyone".

List permissions

Description

This API allows a user to retrieve all permissions sets his account currently has.

End-point definition

URL https://www.veeting.com/api/v1/list-permissions
HTTP Method POST
Requires session key? Yes

Request parameter definitions

No particular request parameters needed


Response parameter definitions

Field name Data type Description
permissions List A list of permission sets

Example

Code:

Results:

Add permission

Description

This API adds a new permission set to the store so it can be associated with meetings later

End-point definition

URL https://www.veeting.com/api/v1/add-permission
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
displayName String Yes The name of the stored permission set
permission Permission object Yes Permission object to store

Response parameter definitions

Field name Data type Description
permissionId String The system generated ID for the stored permission set.

Example

Code:

Results:

Update permission

Description

This API allows users to update an existing permission set with new values. Unspecified values are reset to defaults

End-point definition

URL https://www.veeting.com/api/v1/update-permission
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
permissionId String Yes The unique permission id of the current permission set
displayName String No The display name of the permission set. If not specified, the current name is kept.
permission Permission object Yes The new permission object to set.

Response parameter definitions

Field name Data type Description
permissionId String The unique permission ID of this permission set.

Example

Code:

Results:

Delete permission

Description

This API allows users to delete permissions sets from their account.

End-point definition

URL https://www.veeting.com/api/v1/delete-permission
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
permissionId String Yes The ID of the permission set to remove

Response parameter definitions

Field name Data type Description
permissionId String ID of the permission set.

Example

Code:

Results:

Get Permission

Description

This API allows users to retrieve a permission set from the server

End-point definition

URL https://www.veeting.com/api/v1/get-permission
HTTP Method POST
Requires session key? Yes

Request parameter definitions

Field name Data type Mandatory? Description
permissionId String Yes The unique id of the permission set

Response parameter definitions

Field name Data type Description
displayName String Name of the requested permission object.
permission Permission object The requested permission object.

Example

Code:

Results: