XML API 10.0.0 SP6 Release Notes
- Overview
- Meeting Center New Data Model Support
- Join Before Host Settings Support
- TSP Account Information
- GetUserCard API
- XML API Support for Alternate Host Capability in Personal Rooms
- XML API Support for "Any user on this site" option for Alternate Host
- XML API GetSite Support for Obtaining Site Settings
- Enhance GetUser to Return Avatar Details
Overview
This release note describes the changes made in the release of Webex XML API 10.0.0 SP6. These changes apply to your integration with WBS 31.All features are backward compatible with existing integrations. There are changes to the latest schema definitions explained below.
Meeting Center New Data Model Support
The Meeting Center (MC) XML API now supports the new data model to get site configurations. This new model is applicable only for sites that have a mapping row in the WbxSiteBaseMap table.
When a user is associated with a Meeting Center online site, Atlas sends a notification to Webex. On receiving the notification, the user is added to Webex through the XML API. MC online sites use the new data. An MC online site may have two kinds of URLs (e.g, abc.my.webex.com and abc.webex.com).
Logic Design
All the Java classes that deal with site configuration data are updated to get/set their data in the tables for the new Webex site data model. Both the new and old data models are supported.
The overall logic is as follows:
Loading site config data:
Check whether a given siteId has an entry in wbxSiteBase. If so, this site follows the new data model. Else, use the old code.
If it is a site based on new data model,
get the attributes from the corresponding wbxSiteBaseConfig table and form the SiteConfig object.
get any site specific params from wbxSiteSpecificParams table and merge into the SiteConfig object created in the previous step.
Updating site config data item:
Get the current value from wbxSiteSpecificParams table for the item.
If found, update or increment the value, depending upon the operation.
If not found,
get the value from the wbxSiteBaseConfig table for the site.
use this value to insert a new record into wbxSiteSpecificParams table.
Join Before Host Settings Support
The old a option Allow attendees or panelists to join teleconference before host (EC, MC and TC) was split into three options for each of Meeting Center (MC), Training Center (TC) and Event Center (EC). The option The first attendee to join will be the presenter (MC) was moved under the new option Allow attendees to join audio conference (MC), to indicate the dependence between them. The The first attendee to join will be the presenter (MC) option is checked if and only if Allow attendees to join audio conference (MC) is checked.
APIs impacted
API Name |
Behavior Change |
CreateEvent |
Modified the logic for Allow attendees to join audio conference (EC) with new JBH logic for TC |
CreateMeeting |
1. Modified the logic for Allow attendees to join audio conference (MC) with new JBH logic for MC 2. Modified the logic for The first attendee to join will be the presenter (MC) with new JBH logic for MC |
CreateTrainingSession |
Modified the logic for Allow attendees to join audio conference (MC) with new JBH logic for MC |
GetSite |
1. Replaced element Allow attendees or panelists to join teleconference before host (EC, MC and TC) in three elements: audioBeforeHost (The old element audioBeforeHost is only for MC. No compatibility impact for MC) audioBeforeHostTC (There may be compatibility issues for TC and EC see the section Schema Changes for more information) audioBeforeHostEC (There may be compatibility issues for TC and EC see the section Schema Changes for more information) 2. Modify the logic for The first attendee to join will be the presenter (MC) to match the new JBH logic |
Schema Changes
The getSite API audioBeforeHost now applies only to MC, with the three new elements: audioBeforeHost, audioBeforeHostEC and audioBeforeHostTC.
The following diagram shows the addition of the new elements:

Behavior Changes
The following describes how to map old settings to new settings:

DB Info
- The old flag Allow attendees or panelists to join teleconference before host (EC, MC and TC) in Site Administration is from the WBXSITECONFIG Table and ItemName is AllowBeforeJoinTeleconference
- The new flag Allow attendees to join audio conference (MC) in Site Administration is from the WBXSITECONFIG Table and ItemName is still AllowBeforeJoinTeleconference, but now it just for MC, not for all centers
- The new flag Allow attendees to join audio conference (EC) in Site Administration is from WBXSITECONFIG Table and ItemName is AllowBeforeJoinTeleconferenceEC
- The new flag Allow attendees to join audio conference (TC) in Site Administration is from WBXSITECONFIG Table and ItemName is AllowBeforeJoinTeleconferenceTC
- The flag The first attendee to join will be the presenter (MC) in Site Administration is from WBXSITECONFIG Table and ItemName is SupportFirstTBPresenter
- webExId
- email address
- personal room url
- Personal Room (PR) elements are the same as the ones returned by the GetUser API for PR related items.
- If the site has disabled PRs or the user has no PR enabled, PR items are null.
- For Common Identity (CI) users who have an uploaded avatar, the corresponding url stored in WebDB is returned, but with the image most closely matching the requested size.
- For non-CI users, who have an uploaded avatar, if the corresponding image does exist, a url to the image is returned.
- For non-CI users, if the image does not exist, an image based on the initials (first letter of first name and last name) is returned.
- If, at any point, a valid URL image can not be returned, the default avatar url image is returned.
- When the image url returned is that of a system generated one or a default one, isUploaded is set to false.
- For non-CI users who have the image files available on the server file system and for initials-based avatar images, the lastModifiedTtime returned is the last modified time of that file.
- For CI users, the lastModifiedTime is returned from this query: select lastModifiedTime from WBXUSEREXTINFO where UID_=? and itemName='CIPhotoURL'
- If a default avatar image is returned, the lastModifiedTime is set to ten years before the current time, so that it is not cached for the user.
- Existing site level option for alternate host, to know current site supports alternate hosts or not.
- If no alternate host support, also does not supporting this feature.
- The element name <SupportAlternateHost> on GetSite api.
- Existing site level option for MC regular meeting to know if the current site supports "Any users to let anyone with a host account on this site host their scheduled or Personal Room meetings".
- If the site level option is unchecked (false), the PR option "Allow anyone with an account on this site to be an alternate host for my Personal Room meetings" cannot be selected. This means in XML API exception 010095 is returned as same as (<allowAnyoneHostMyPMR> element under <alternateHost> in CreateUser/SetUser/GetUser).
- A new meeting level checkbox "Let others host my Personal Room meeting without me" to enable/disable alternate host for PRs: (NOTE: even if the checkbox is unchecked, don't remove invited alternate host info).
- By default is 0, turn off alternate host feature for PR.
- PR page, XML API can turn on or off this option.
- This checkbox depends on supporting alternate host feature (DB: AllowChooseAlternateHost).
- The element is <PMRAlternateHost> under <personalMeetingRoom> on CreateUser, SetUser and GetUser apis.
- This meeting level option is to know if anyone can host this PR or not.
- If allowAnyUserToBeAlternateHost flag is "0" or "NULL", the option of "Let me choose alternate hosts for my Personal Room meeting" is be selected (Default is 0, no found is "NULL").
- If allowAnyUserToBeAlternateHost flag is "1", it is selected on "Allow anyone with an account on this site to be an alternate host for my Personal Room meetings" option.
- Before selecting "Allow anyone with an account on …" (set allowAnyUserToBeAlternateHost with "1"), check site level flag "AllowAnyUserToBeAlternateHostSA", if the value is "0" it should throw exception 010095 "The site does not support Allow anyone with a host account host their scheduled or PR meetings." in XML API.
- The above option is under "Let others host my Personal room meeting without me" (DB: DisableAlternateHost) checkbox.
- Note: even if switching between two options, don't remove invited alternate host info from DB.
- The element <allowAnyoneHostMyPMR> under <alternateHost> on CreateUser, SetUser and GetUser APIs.
- Alternate host info is stored in the WebDB, the same as alternate host for regular meeting, when the PR owner sets it.
- The value appear like "Cathine Sinu, Wil Jones, Sherry Wu", the elements naming <host> under <alternateHost> on CreateUser, SetUser and GetUser APIs.
- If the entered alternate host account does not exist on site, throw the exception "Only users who have host accounts on this site can be alternate hosts".
- USERTYPE=‘Member'
- TOKEN=‘2'
- Append for each alternate host information into MTGCONFATTENDEELIST table (same as regular meeting), and the USERTYPE=‘Member' and TOKEN=‘2'.
- Two new elements "SupportAlternateHost" and "SupportAnyoneHostMeetings";
- Element "SupportAlternatHost" is to know if the current site supports the alternate host feature "When scheduling a meeting, users can choose an alternate host"
- Element "SupportAnyoneHostMeetings" is for option "Allow users to let anyone with a host account on this site host their scheduled or Personal Room meetings";
- The value of "SupportAnyoneHostMeetings" is under the "SupportAlternateHost".
- The new element "allowAnyoneHostMeeting" is to support the "Let anyone with a host account on this site host my meeting" feature when scheduling a new MC meeting or editing an existing meeting;
- If the site does not letting anyone host meetings ("SupportAnyoneHostMeetings" is unchecked), the exception (010095) is sent if there is the above new element and the value is TRUE in the XML request.
- Drop the flag from DB when deleting a meeting
- Return this feature flag naming "allowAnyoneHostMeeting" for meeting.
- Return this feature flag naming "allowAnyoneHostMeeting" for MC meeting.
- Return join before host (JBH) time (US58256) naming "openTimeInSec" for meeting.
- New element "allowAnyoneHostMeeting" just for MC meetings, other kinds of meetings do not return it.
- New element "openTime" is for MC, TC and EC meetings.
Logic Design
1. For flag value of "Allow attendees to join audio conference (MC)"
if (flag of "AllowBeforeJoinTeleconference" is existing on DB){ return value via flag of "AllowBeforeJoinTeleconference". }else { return false; }
2. For flag value of "Allow attendees to join audio conference (EC)"
if (flag of "AllowBeforeJoinTeleconferenceEC" is existing on DB) { return it's value; } else if (flag of "AllowBeforeJoinTeleconference" is existing on DB){ return value via flag of "AllowBeforeJoinTeleconference". }else { return false; }
3. For flag value of "Allow attendees to join audio conference (TC)"
if (flag of "AllowBeforeJoinTeleconferenceTC" is existing on DB) { return it's value; } else if (flag of "AllowBeforeJoinTeleconference" is existing on DB){ return value via flag of "AllowBeforeJoinTeleconference". }else { return false; }
4. For flag value of "The first attendee to join will be the presenter (MC)"
return ( flag value of "Allow attendees to join audio conference (MC)" && flag value of "SupportFirstTBPresenter" on DB )
TSP Account Information
For meetings scheduled by XML API, the extended TSP account information is now visible so that mobile users can directly call the toll and toll-free numbers.
APIs impacted
getSessionInfoSchema Changes
None
Behavior Changes
getSessionInfo gets TSP number from wbxMMConfParam.
Logic Design
If telephonySupport=CALLIN or CALLBACK and enableTSP=true then (TSP only) If dial-in Numbers is not null and access Codes is not null in wbxMMConfParam then (has meeting level TSP account) Return the formatted audio account information (return meeting level TSP account information) Else Go back to base logic Endif Else Go back to base logic Endif
GetUserCard API
This API provides information about Personal Room and avatar image details for a given user identity. A user identity can be one of these three:
For the avatar images, size can be specified as well, and in that case the url to an avatar which matches closest to the requested size is returned. There is no authentication for this API.
APIs impacted
getUserCard - this is a new API.
Schema changes
The following diagram shows the additional API:

Design
XML API Support for Alternate Host Capability in Personal Rooms
Webex now support owners of personal rooms assigning other users to be able to host meetings on their behalf, including starting and stopping meetings. (For example, a meeting organizer is running late and needs a colleague to start the meeting.) The objective of this feature is to apply the current alternate host functionality to Personal Rooms.
APIs impacted
GetUser - GetUser should return all alternate hosts information for PRs
CreateUser - Allow end user call CreateUser to set alternate hosts information for PMR
SetUser - Allow end user call SetUser to modify alternate hosts information for PMR
Schema changes
GetUser/CreateUser/SetUser for "Let others host my Personal Room meetings without me" <PMRAlternateHost> under <personalMeetingRoom>

GetUser/CreateUser/SetUser for <alternateHost> under <personalMeetingRoom>

Logic Design

1. Check site level option "WBXSITECONFIG->EnablePersonalRoom" to know current site support PMR or not.
a. If no support, there are <PMRAlternateHost> or <alternateHost> element in xml request on CreateUser/SetUser, should return exception 010046 "The site does not support Personal Meeting Room", and GetUser should not return any elements regarding with alternate hosts.
2. Check site level option "WBXSITECONFIG->AllowChooseAlternateHost" from DB to know current site is support alternate host feature or not.
a. If site does not support alternate host feature, and end users call CreateUser/SetUser want to operate this feature, should return exception 010026 "The site prevents user from choosing an alternate host".
b. If site does not support alternate host feature, GetUser return value of <PMRAlternateHost> always FALSE, and no element <alternateHost> be return.
3. Check site level option "WBXSITECONFIG->AllowAnyUserToBeAlternateHostSA" to know current site is support "Allow anyone with an account ..." feature or not.
a. If site does not support this feature "Allow anyone with an account ...", the element <allowAnyoneHostMyPRM> disallow to be set with True, throw exception 010095when happen on CreateUser/SetUser.
b. If site does not support this feature, <allowAnyoneHostMyPRM> under <alternateHost> value always is FALSE on GetUser.
4. Even though site support the PMR, end user also can close it with element <isEnablePMR> on xml request with FALSE.
a. If end user set the <isEnablePMR> with FALSE in xml request, there are <PMRAlternateHost> or <alternateHost> element in xml request on CreateUser/SetUser, should return exception 030028 "User does not support personal meeting room".
5. Even though site support the alternate host, end user also can turn off the alternate host by self using <PMRAlternateHost> with FALSE.
a. If end user does not open the alternate host feature for PMR in xml request, if there is <alternateHost> element in xml request CreateUser/SetUser should return exception 030111.
6. When both site and PMR support alternate host feature, site level flag of "Allow anyone with an account ..." are True, and <isEnablePMR> is TRUE:
a. There is no <PMRAlternateHost> element on CreateUser/SetUser:
i. CreateUser should set DB "DisableAlternateHost" with 0 (default value), GetUser return <PMRAlternateHost> with true;
ii. SetUser should get value from DB "DisableAlternateHost".
b. There is no <alternateHost> element, on CreateUser/SetUser:
i. CreateUser should set DB "AllowAnyUserToBeAlternateHost" with 0 (default value), GetUser return <allowAnyoneHostMyPMR> with false;
ii. SetUser should get value from DB "AllowAnyUserToBeAlternateHost";
iii. No any changes for alternate host information on DB.
c. There are only <allowAnyoneHostMyPMR> under <alternateHost>, and <PMRAlternateHost> is TRUE:
i. CreateUser/SetUser set DB "AllowAnyUserToBeAlternateHost" with inputted value.
d. There are only <host> under <alternateHost> , and <PMRAlternateHost> is TRUE:
i. For CreateUser, due to the "AllowAnyUserToBeAlternateHost" default is false, so store <host> information into DB; GetUser can return them;
ii. For SetUser, if the DB "AllowAnyUserToBeAlternateHost" is 0 or null, store the <host> information with alternate host into DB; if the DB "AllowAnyUserToBeAlternateHost" is 1, return exception 030110.
e. There are both <allowAnyoneHostMyPMR> and <hosts> under <alternateHost>, and <PMRAlternateHost> is TRUE:
i. The value of <allowAnyoneHostMyPMR> is FALSE, CreateUser/SetUser store both of them into DB, GetUser return them;
ii. The value of <allowAnyoneHostMyPMR> is TRUE, return exception 030110.
7. For each alternate host information, we should check the email account is existing or not on site, if no found return exception 040006 "No corresponding WebexID found".
8. If the email format is not right, return exception 999999 "The email address is invalid";
9. Note for SetUser:
a. if there is <host> element, it will drop all exiting alternate host information from DB first, after than insert them into DB with new;
b. if no any sub-element <host> under <hosts>, that means end user want to remove all alternate host information from DB, than GetUser will not return <hosts> element (no alternate host for this PMR).
10. For one existing PMR data, if there are some alternate host information for it, when we call SetUser to close PMR, or switch to "Allow anyone with ...", no need remove the existing alternate host information from DB, once end user open PMR or switch back "Let me choose ...", these alternate host information still is there, end user does not need to set them again.
Exception List
ExceptionID | Exception Message | Remark | ||
010046 | The site does not support Personal Meeting Room | |||
030028 | User does not support personal meeting room | |||
010095 | The site does not support Allow anyone with a host account host their scheduled or PMR meetings. | |||
010026 | The site prevents user from choosing an alternate host | |||
030005 | Email is in use. | Drop existing alternate host first, then insert new hosts, so no need for this exception. |
|
|
999999 | The email address is invalid | |||
040007 | The role is not supported for adding specified attendee to session | |||
040006 | No corresponding WebexID found | |||
030109 | Cannot set alternate host because user does not support personal meeting room | To be included on 030028, so no need a new one | ||
030110 | Cannot include hosts element if user allowed anyone host personal meeting room | New exception | ||
030111 | Cannot include alternateHost element if user does not support PMR alternate host | New exception |
DB Information and Design
Table Name |
Field/Item Name |
Description |
Remark |
WBXSITECONFIG |
AllowChooseAlternateHost |
|
GetSite already returned it. |
WBXSITECONFIG |
AllowAnyUserToBeAlternateHostSA |
|
|
WbxMMConfParam |
DisableAlternateHost |
|
GetUser/CreateUser/SetUser should maintain/get it. |
WBXMMCONFPARAM |
AllowAnyUserToBeAlternateHost |
|
GetUser/CreateUser/SetUser should maintain/get it. |
WBXCALENDAR |
ALTERNATEHOST |
|
GetUser/CreateUser/SetUser should read/modify it. |
MTGCONFATTENDEELIST |
|
|
XML API Support for "Any user on this site" Option for Alternate Host
Meeting hosts can use this feature to allow any other user on the site to be an alternate host for meetings and personal rooms. The host has an option to check a box to allow "Any user in this site" to be an alternate host.
APIs Impacted
API Name |
Description |
Remark |
GetSite |
|
|
CreateMeeting & SetMeeting |
|
|
DelMeeting |
|
|
GetMeeting |
|
|
GetSessionInfo |
|
|
Exception ID |
Exceptiom Message |
010095 (New) |
The site does not support allowing anyone with to host scheduled or PR meetings. |
Schema changes
GetSite for SupportAlternateHost and SupportAnyoneHostMeetings

CreateMeeting/SetMeeting/GetMeeting for allowAnyoneHostMeeting

GetSessionInfo for allowAnyoneHostMeeting

GetSessionInfo for JBH time (openTimeInSec with seconds)

DB Design
Table Name |
Field/Item Name |
Description |
Remark |
WBXSITECONFIG |
AllowChooseAlternateHost |
Does the current site support choosing an alternate host for meeting ![]() |
Default is false. |
WBXSITECONFIG WbxDefaultSiteConfig |
AllowAnyUserToBeAlternateHostSA |
Does the current site support allowing users to let anyone host their scheduled or personal room meetings ![]() |
Default is false. |
WBXMMCONFPARAM |
AllowAnyUserToBeAlternateHost |
The meeting level flag, it is used to know if the current meeting supports anyone with a host account to host this meeting or PR meeting. Option on scheduling MC Meeting page: ![]() |
Default is false. |
XML API GetSite Support for Obtaining Site Settings
Two new site settings were added that Productivity Tools require to retrieve them through API.
APIs Impacted
GetSite
Behavior Changed
These changes are transparent to end users. There is is no API behavior change.
Logic Design
Two items are created, DefNumOfCMRHybridCallInParticipants and MaxNumOfCMRHybridCallInParticipants. Mapping table column PTCMRHybridDefaultCallInNumber and PTCMRHybridMaxCallInNumber.
These two items are only shown in response when ProductivityTools and SupportTelePresencePlus are on.
Enhance GetUser to Return Avatar Details
This adds information about avatar image details for a given user identity to GetUser response. If the expected size of an avatar image is passed, in the case of Common Identity (CI) enabled users, a link to an image which closely matches the requested size will be returned. For non-CI enabled users, the passed size value is ignored and it returns a link to the uploaded profile image. If a profile image does not exist, a link to a system generated initials (first character of first name and last name) based image will be returned.
APIs impacted
GetUser API
Schema changes
<xsd:complexType name="getUser">
<xsd:complexContent>
<xsd:extension base="serv:bodyContentType">
<xsd:sequence>
<xsd:element name="webExId" type="xsd:string"/>
<xsd:element name="avatarSize" type="xsd:integer" minOccurs="0" maxOccurs="1"/> <-- New element
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
<xsd:complexType name="getUserResponse">
<xsd:complexContent>
<xsd:extension base="use:userInstanceType">
<xsd:sequence>
....
<xsd:element name="avatar" type="use:userCardAvatarType" minOccurs="0"/> <-- New element
</xsd:sequence>
</xsd:extension>
</xsd:complexContent>
</xsd:complexType>
For the structure of use:userCardAvatarType, please refer to GetUserCard API section.
Related Release Information
The XML API schemas and release notes are available
at the Cisco Webex Developer Portal:
https://developer.cisco.com/site/collaboration/webex/webex-developer/develop-test/xml-api/reference/
The URL API release notes are available at the Cisco Webex Developer Portal:
https://developer.cisco.com/site/collaboration/webex/webex-developer/develop-test/url-api/reference/