Overview
My
Device Portal API provides the ability to Create, Read, Update, Delete and
Search my device portals. In this documentation, for each available API you
will find the request syntax including the required headers and a response
example of a successful flow.
Please note that these examples are not meant to
be used as is because they have references to DB data.
You should treat it as a basic template and edit it before sending to server.
Resource definition
Attribute |
Type |
Required |
Default
value |
Description |
name |
String |
Yes |
Resource name |
|
id |
String |
Yes |
Resourse UUID |
|
description |
String |
No |
||
portalTestUrl |
String |
No |
URL to bring up a test page for this portal |
|
portalType |
Enum |
Yes |
mydevice |
allowed values: byod, hotspotGuest, mydevice,
selfRegGuest, sponsor and sponsoredGuest |
settings |
MyDevicePortalSettings |
no |
Defines all of the settings groups available for a
Mydevice portal |
|
portalSettings |
PortalSettings |
No |
The port, interface, certificate, and other basic settings
of a portal |
|
httpsPort |
Integer |
Yes |
The port number that the allowed interfaces will listen
on. Range from 8000 to 8999 |
|
allowedInterfaces |
Enum |
Yes |
Interfaces that the portal will be reachable on. allowed
values: eth0, eth1, eth2, eth3, eth4, eth5, bond0, bond1 and bond2 |
|
certificateGroupTag |
String |
Yes |
Logical name of the x.509 server certificate that will be
used for the portal. |
|
endpointIdentityGroup |
String |
Yes |
Unique Id of the endpoint identity group where user's
devices will be added. Used only in Hotspot Portal. |
|
displayLang |
Enum |
No |
allowed values: useBrowserLocale and alwaysUse |
|
fallbackLanguage |
String |
No |
Used when displayLang = useBrowserLocale |
|
alwaysUsedLanguage |
String |
No |
Used when displayLang = alwaysUse |
|
loginPageSettings |
LoginPageSettings |
No |
Portal Login Page settings groups follow. |
|
maxFailedAttemptsBeforeRateLimit |
Integer |
No |
5 |
Maximum failed login attempts before rate limiting. |
timeBetweenLoginsDuringRateLimit |
Integer |
No |
2 |
|
includeAup |
Boolean |
No |
false |
Include an Acceptable Use Policy (AUP) that should be
displayed during login. |
aupDisplay |
Enum |
No |
asLink |
How the AUP should be displayed, either on page or as a
link. Only valid if includeAup = true. Allowed Values onPage and asLink |
requireAupAcceptance |
Boolean |
No |
false |
Require the portal user to accept the AUP. Only valid if
includeAup = true |
requireAupScrolling |
Boolean |
No |
false |
Require the portal user to scroll to the end of the AUP.
Only valid if requireAupAcceptance = true. |
aupSettings |
AUPSettings |
No |
Configuration of the Acceptable Use Policy (AUP) for a
portal |
|
displayFrequency |
Enum |
No |
firstLogin |
How the AUP should be displayed, either on page or as a
link. Only valid if includeAup = true. Allowed Values firstLogin, everyLogin
and recurring |
includeAup |
Boolean |
No |
true |
Require the portal user to read and accept an AUP. |
requireAupScrolling |
Boolean |
No |
false |
Require the portal user to scroll to the end of the AUP.
Only valid if requireAupAcceptance = true. |
displayFrequencyIntervalDays |
Integer |
No |
7 |
Number of days between AUP confirmations (when
displayFrequency = recurring). |
employeeChangePasswordSettings |
EmployeeChangePasswordSettings |
No |
||
allowEmployeeToChangePwd |
Boolean |
No |
false |
Allow employees to change their own passwords. |
postLoginBannerSettings |
PostAccessBannerSettings |
No |
||
includePostAccessBanner |
Boolean |
No |
false |
Include a Post-Login Banner page. |
supportInfoSettings |
SupportInformationPageSettings |
No |
Portal Support Information Settings |
|
includeSupportInfoPage |
Boolean |
No |
false |
|
includeMacAddr |
Boolean |
No |
false |
|
includeIpAddress |
Boolean |
No |
false |
|
includeBrowserUserAgent |
Boolean |
No |
false |
|
includePolicyServer |
Boolean |
No |
false |
|
includeFailureCode |
Boolean |
No |
false |
|
emptyFieldDisplay |
Enum |
No |
false |
Specifies how empty fields are handled on the Support
Information Page. allowedValues: hide, displayWithNoValue and
displayWithDefaultValue |
defaultEmptyFieldValue |
String |
No |
The default value displayed for an empty field Only valid
when emptyFieldDisplay = displayWithDefaultValue. |
|
customizations |
PortalCustomizations |
no |
Defines all of the Portal Customizations available. |
|
portalTheme |
PortalTheme |
No |
Defines the configuration for portal theme. |
|
id |
String |
No |
The unique internal identifier of the portal theme. |
|
name |
String |
Yes |
The system- or user-assigned name of the portal theme. |
|
themeData |
String |
No |
A CSS file, represented as a Base64-encoded byte array. |
|
portalTweakSettings |
PortalTweakSettings |
No |
The Tweak Settings are a customization of the Portal Theme
that has been selected for the portal. When the Portal Theme selection is
changed, the Tweak Settings are overwritten to match the values in the theme.
The Tweak Settings can subsequently be changed by the user |
|
banneColor |
String |
No |
||
bannerTextColor |
String |
No |
||
pageBackgroundColor |
String |
No |
||
pageLabelAndTextColor |
String |
No |
||
language |
Language |
No |
English |
This property is supported only for Read operation and it
allows to show the customizations in English. Other languages are not
supported. |
globalCustomizations |
GlobalCustomizations |
No |
Represent the portal Global customizations. |
|
bannerTitle |
String |
No |
||
contactText |
String |
No |
||
footerElement |
String |
No |
||
mobileLogoImage |
Image |
No |
||
data |
String |
No |
Represented as base 64 encoded string of the image byte
array |
|
mobileLogoImage |
Image |
No |
||
data |
String |
No |
Represented as base 64 encoded string of the image byte
array |
|
bannerImage |
Image |
No |
||
data |
String |
No |
Represented as base 64 encoded string of the image byte
array |
|
backgroundImage |
Image |
No |
||
data |
String |
No |
Represented as base 64 encoded string of the image byte
array |
|
pageCustomizations |
PageCustomizations |
No |
Represent the entire page customization as a giant
dictionary. |
|
data |
List |
No |
The Dictionary will be exposed here as key value pair |
|
key |
String |
Yes |
||
value |
String |
Yes |
XML example:
1. XML
2.
<?xml version="1.0" encoding="UTF-8"?>
3. <ns0:mydeviceportal
xmlns:ns0="portal.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="description" id="id" name="name">
4.
<customizations>
5. <globalCustomizations>
6.
<bannerImage>
7. <data>base 64 encoded value
of image</data>
8.
</bannerImage>
9. <bannerTitle>Banner Title</bannerTitle>
10.
<contactText>Contact Information </contactText>
11.
<desktopLogoImage>
12.
<data>base 64 encoded value of image</data>
13.
</desktopLogoImage>
14.
<footerElement>Footer Element</footerElement>
15.
<mobileLogoImage>
16.
<data>base 64 encoded value of image</data>
17.
</mobileLogoImage>
18. </globalCustomizations>
19. <language>
20.
<viewLanguage>English</viewLanguage>
21. </language>
22. <pageCustomizations>
23.
<data>
24.
<key>ui_contact_link</key>
25.
<value>Contact Support</value>
26.
</data>
27. </pageCustomizations>
28. <portalTheme id="themeId" name="ThemeName">
29.
<themeData>Base 64 encoded string of Theme CSS file</themeData>
30. </portalTheme>
31. <portalTweakSettings>
32.
<bannerColor>Banner Color from GUI</bannerColor>
33.
<bannerTextColor>Banner Text color code from GUI</bannerTextColor>
34.
<pageBackgroundColor>Color code from GUI</pageBackgroundColor>
35.
<pageLabelAndTextColor>Label and Text color from GUI</pageLabelAndTextColor>
36. </portalTweakSettings>
37. </customizations>
38. <portalType>mydevice</portalType>
39. <settings>
40. <aupSettings>
41.
<displayFrequency>firstLogin</displayFrequency>
42.
<includeAup>false</includeAup>
43.
<requireAccessCode>false</requireAccessCode>
44.
<requireScrolling>true</requireScrolling>
45.
<skipAupForEmployees>false</skipAupForEmployees>
46. <useDiffAupForEmployees>false</useDiffAupForEmployees>
47. </aupSettings>
48. <employeeChangePasswordSettings>
49.
<allowEmployeeToChangePwd>false</allowEmployeeToChangePwd>
50. </employeeChangePasswordSettings>
51. <loginPageSettings>
52. <allowAlternateGuestPortal>false</allowAlternateGuestPortal>
53.
<allowGuestToChangePassword>false</allowGuestToChangePassword>
54.
<allowGuestToCreateAccounts>true</allowGuestToCreateAccounts>
55.
<allowGuestToUseSocialAccounts>false</allowGuestToUseSocialAccounts>
56.
<allowShowGuestForm>false</allowShowGuestForm>
57.
<aupDisplay>ASLINK</aupDisplay>
58.
<includeAup>false</includeAup>
59.
<maxFailedAttemptsBeforeRateLimit>5</maxFailedAttemptsBeforeRateLimit>
60. <requireAccessCode>false</requireAccessCode>
61.
<requireAupAcceptance>false</requireAupAcceptance>
62.
<requireAupScrolling>false</requireAupScrolling>
63.
<timeBetweenLoginsDuringRateLimit>2</timeBetweenLoginsDuringRateLimit>
64. </loginPageSettings>
65. <portalSettings>
66.
<AllowedInterfaces>
67.
<AllowedInterface>eth0</AllowedInterface>
68.
<AllowedInterface>bond0</AllowedInterface>
69.
</AllowedInterfaces>
70.
<alwaysUsedLanguage>English</alwaysUsedLanguage>
71.
<authenticationMethod>Identity Source</authenticationMethod>
72.
<certificateGroupTag>Default Portal Certificate Group</certificateGroupTag>
73.
<displayLang>useBrowserLocale</displayLang>
74.
<endpointIdentityGroup>Identity Group</endpointIdentityGroup>
75.
<fallbackLanguage>English</fallbackLanguage>
76.
<fqdn>Fully Qualified Domain Name</fqdn>
77.
<httpsPort>8443</httpsPort>
78.
<idleTimeout>10</idleTimeout>
79. </portalSettings>
80. <postLoginBannerSettings>
81.
<includePostAccessBanner>true</includePostAccessBanner>
82. </postLoginBannerSettings>
83. <supportInfoSettings>
84.
<emptyFieldDisplay>hide</emptyFieldDisplay>
85.
<includeBrowserUserAgent>true</includeBrowserUserAgent>
86.
<includeFailureCode>true</includeFailureCode>
87.
<includeIpAddress>true</includeIpAddress>
88.
<includeMacAddr>true</includeMacAddr>
89.
<includePolicyServer>true</includePolicyServer>
90.
<includeSupportInfoPage>false</includeSupportInfoPage>
91. </supportInfoSettings>
92. </settings>
93.</ns0:mydeviceportal>
94.
95.JSON
96.{
97.
"MyDevicePortal" : {
98. "id" : "id",
99. "name" : "name",
100.
"description" : "description",
101. "portalType" : "MYDEVICE",
102.
"settings" : {
103. "portalSettings" : {
104.
"httpsPort" : 8443,
105. "allowedInterfaces" : [ "eth0", "bond0" ],
106.
"certificateGroupTag" : "Default
Portal Certificate Group",
107. "endpointIdentityGroup" : "Identity
Group",
108.
"fqdn" : "Fully
Qualified Domain Name",
109. "authenticationMethod" : "Identity
Source",
110.
"idleTimeout" : 10,
111. "displayLang" : "USEBROWSERLOCALE",
112.
"fallbackLanguage" : "English",
113. "alwaysUsedLanguage" : "English",
114.
"availableSsids" : [ ]
115. },
116.
"loginPageSettings" : {
117. "requireAccessCode" : false,
118.
"maxFailedAttemptsBeforeRateLimit" : 5,
119. "timeBetweenLoginsDuringRateLimit" : 2,
120.
"includeAup" : false,
121. "aupDisplay" : "ASLINK",
122.
"requireAupAcceptance" : false,
123. "requireAupScrolling" : false,
124.
"allowGuestToCreateAccounts" : true,
125. "allowGuestToChangePassword" : false,
126.
"allowAlternateGuestPortal" : false,
127. "allowGuestToUseSocialAccounts" : false,
128.
"allowShowGuestForm" : false,
129. "socialConfigs" : [ ]
130.
},
131. "aupSettings" : {
132.
"includeAup" : false,
133. "useDiffAupForEmployees" : false,
134.
"skipAupForEmployees" : false,
135. "requireAccessCode" : false,
136.
"requireScrolling" : true,
137. "displayFrequency" : "FIRSTLOGIN"
138.
},
139. "employeeChangePasswordSettings" : {
140.
"allowEmployeeToChangePwd" : false
141. },
142.
"postLoginBannerSettings" : {
143. "includePostAccessBanner" : true
144.
},
145. "supportInfoSettings" : {
146.
"includeSupportInfoPage" : false,
147. "includeMacAddr" : true,
148.
"includeIpAddress" : true,
149. "includeBrowserUserAgent" : true,
150.
"includePolicyServer" : true,
151. "includeFailureCode" : true,
152.
"emptyFieldDisplay" : "HIDE"
153. }
154.
},
155. "customizations" : {
156.
"portalTheme" : {
157. "id" : "themeId",
158.
"name" : "ThemeName",
159. "themeData" : "Base 64
encoded string of Theme CSS file"
160.
},
161. "portalTweakSettings" : {
162.
"bannerColor" : "Banner
Color from GUI",
163. "bannerTextColor" : "Banner
Text color code from GUI",
164.
"pageBackgroundColor" : "Color
code from GUI",
165. "pageLabelAndTextColor" : "Label
and Text color from GUI"
166.
},
167. "language" : {
168.
"viewLanguage" : "English"
169. },
170.
"globalCustomizations" : {
171. "mobileLogoImage" : {
172.
"data" : "base 64
encoded value of image"
173. },
174.
"desktopLogoImage" : {
175. "data" : "base 64
encoded value of image"
176.
},
177. "bannerImage" : {
178.
"data" : "base 64
encoded value of image"
179. },
180.
"bannerTitle" : "Banner
Title",
181. "contactText" : "Contact
Information ",
182.
"footerElement" : "Footer
Element"
183. },
184.
"pageCustomizations" : {
185. "data" : [ {
186.
"key" : "ui_contact_link",
187. "value" : "Contact
Support"
188.
} ]
189. }
190.
}
191. }
192.
}
Revision History
Revision
0 |
|
Resource Version |
1.0 |
ISE Version |
2.2 |
Description |
Initial Ise Version |
Api Reference
Get-By-Id
Request:
Method: |
GET |
URI: |
https://10.56.60.175:9060/ers/config/mydeviceportal/{portal-id} |
HTTP 'Content-Type' Header: |
application/xml | application/json |
HTTP 'Accept' Header: |
application/xml | application/json |
HTTP 'ERS-Media-Type' Header (Not
Mandatory): |
portal.mydeviceportal.1.0 |
HTTP 'X-CSRF-TOKEN' Header
(Required Only if Enabled from GUI): |
fetch |
Request Content:
N/A
Response: (MyDevicePortal)
HTTP Status: |
200 (OK) |
Content:
XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mydeviceportal xmlns:ns0="portal.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="description" id="id" name="name">
<customizations>
<globalCustomizations>
<bannerImage>
<data>base 64 encoded value of image</data>
</bannerImage>
<bannerTitle>Banner Title</bannerTitle>
<contactText>Contact Information </contactText>
<desktopLogoImage>
<data>base 64 encoded value of image</data>
</desktopLogoImage>
<footerElement>Footer Element</footerElement>
<mobileLogoImage>
<data>base 64 encoded value of image</data>
</mobileLogoImage>
</globalCustomizations>
<language>
<viewLanguage>English</viewLanguage>
</language>
<pageCustomizations>
<data>
<key>ui_contact_link</key>
<value>Contact Support</value>
</data>
</pageCustomizations>
<portalTheme id="themeId" name="ThemeName">
<themeData>Base 64 encoded string of Theme CSS file</themeData>
</portalTheme>
<portalTweakSettings>
<bannerColor>Banner Color from GUI</bannerColor>
<bannerTextColor>Banner Text color code from GUI</bannerTextColor>
<pageBackgroundColor>Color code from GUI</pageBackgroundColor>
<pageLabelAndTextColor>Label and Text color from GUI</pageLabelAndTextColor>
</portalTweakSettings>
</customizations>
<portalType>mydevice</portalType>
<settings>
<aupSettings>
<displayFrequency>firstLogin</displayFrequency>
<includeAup>false</includeAup>
<requireAccessCode>false</requireAccessCode>
<requireScrolling>true</requireScrolling>
<skipAupForEmployees>false</skipAupForEmployees>
<useDiffAupForEmployees>false</useDiffAupForEmployees>
</aupSettings>
<employeeChangePasswordSettings>
<allowEmployeeToChangePwd>false</allowEmployeeToChangePwd>
</employeeChangePasswordSettings>
<loginPageSettings>
<allowAlternateGuestPortal>false</allowAlternateGuestPortal>
<allowGuestToChangePassword>false</allowGuestToChangePassword>
<allowGuestToCreateAccounts>true</allowGuestToCreateAccounts>
<allowGuestToUseSocialAccounts>false</allowGuestToUseSocialAccounts>
<allowShowGuestForm>false</allowShowGuestForm>
<aupDisplay>ASLINK</aupDisplay>
<includeAup>false</includeAup>
<maxFailedAttemptsBeforeRateLimit>5</maxFailedAttemptsBeforeRateLimit>
<requireAccessCode>false</requireAccessCode>
<requireAupAcceptance>false</requireAupAcceptance>
<requireAupScrolling>false</requireAupScrolling>
<timeBetweenLoginsDuringRateLimit>2</timeBetweenLoginsDuringRateLimit>
</loginPageSettings>
<portalSettings>
<AllowedInterfaces>
<AllowedInterface>eth0</AllowedInterface>
<AllowedInterface>bond0</AllowedInterface>
</AllowedInterfaces>
<alwaysUsedLanguage>English</alwaysUsedLanguage>
<authenticationMethod>Identity Source</authenticationMethod>
<certificateGroupTag>Default Portal Certificate Group</certificateGroupTag>
<displayLang>useBrowserLocale</displayLang>
<endpointIdentityGroup>Identity Group</endpointIdentityGroup>
<fallbackLanguage>English</fallbackLanguage>
<fqdn>Fully Qualified Domain Name</fqdn>
<httpsPort>8443</httpsPort>
<idleTimeout>10</idleTimeout>
</portalSettings>
<postLoginBannerSettings>
<includePostAccessBanner>true</includePostAccessBanner>
</postLoginBannerSettings>
<supportInfoSettings>
<emptyFieldDisplay>hide</emptyFieldDisplay>
<includeBrowserUserAgent>true</includeBrowserUserAgent>
<includeFailureCode>true</includeFailureCode>
<includeIpAddress>true</includeIpAddress>
<includeMacAddr>true</includeMacAddr>
<includePolicyServer>true</includePolicyServer>
<includeSupportInfoPage>false</includeSupportInfoPage>
</supportInfoSettings>
</settings>
</ns0:mydeviceportal>
JSON
{
"MyDevicePortal" : {
"id" : "id",
"name" : "name",
"description" : "description",
"portalType" : "MYDEVICE",
"settings" : {
"portalSettings" : {
"httpsPort" : 8443,
"allowedInterfaces" : [ "eth0", "bond0" ],
"certificateGroupTag" : "Default
Portal Certificate Group",
"endpointIdentityGroup" : "Identity
Group",
"fqdn" : "Fully
Qualified Domain Name",
"authenticationMethod" : "Identity
Source",
"idleTimeout" : 10,
"displayLang" : "USEBROWSERLOCALE",
"fallbackLanguage" : "English",
"alwaysUsedLanguage" : "English",
"availableSsids" : [ ]
},
"loginPageSettings" : {
"requireAccessCode" : false,
"maxFailedAttemptsBeforeRateLimit" : 5,
"timeBetweenLoginsDuringRateLimit" : 2,
"includeAup" : false,
"aupDisplay" : "ASLINK",
"requireAupAcceptance" : false,
"requireAupScrolling" : false,
"allowGuestToCreateAccounts" : true,
"allowGuestToChangePassword" : false,
"allowAlternateGuestPortal" : false,
"allowGuestToUseSocialAccounts" : false,
"allowShowGuestForm" : false,
"socialConfigs" : [ ]
},
"aupSettings" : {
"includeAup" : false,
"useDiffAupForEmployees" : false,
"skipAupForEmployees" : false,
"requireAccessCode" : false,
"requireScrolling" : true,
"displayFrequency" : "FIRSTLOGIN"
},
"employeeChangePasswordSettings" : {
"allowEmployeeToChangePwd" : false
},
"postLoginBannerSettings" : {
"includePostAccessBanner" : true
},
"supportInfoSettings" : {
"includeSupportInfoPage" : false,
"includeMacAddr" : true,
"includeIpAddress" : true,
"includeBrowserUserAgent" : true,
"includePolicyServer" : true,
"includeFailureCode" : true,
"emptyFieldDisplay" : "HIDE"
}
},
"customizations" : {
"portalTheme" : {
"id" : "themeId",
"name" : "ThemeName",
"themeData" : "Base 64
encoded string of Theme CSS file"
},
"portalTweakSettings" : {
"bannerColor" : "Banner
Color from GUI",
"bannerTextColor" : "Banner
Text color code from GUI",
"pageBackgroundColor" : "Color
code from GUI",
"pageLabelAndTextColor" : "Label
and Text color from GUI"
},
"language" : {
"viewLanguage" : "English"
},
"globalCustomizations" : {
"mobileLogoImage" : {
"data" : "base 64 encoded value of image"
},
"desktopLogoImage" : {
"data" : "base 64 encoded value of image"
},
"bannerImage" : {
"data" : "base 64 encoded value of image"
},
"bannerTitle" : "Banner
Title",
"contactText" : "Contact
Information ",
"footerElement" : "Footer
Element"
},
"pageCustomizations" : {
"data" : [ {
"key" : "ui_contact_link",
"value" : "Contact Support"
} ]
}
}
}
}
UpdateById
Request:
Method: |
PUT |
URI: |
https://10.56.60.175:9060/ers/config/mydeviceportal/{portal-id} |
HTTP 'Content-Type' Header: |
application/xml | application/json |
HTTP 'Accept' Header: |
application/xml | application/json |
HTTP 'ERS-Media-Type' Header (Not
Mandatory): |
portal.mydeviceportal.1.0 |
HTTP 'X-CSRF-TOKEN' Header
(Required Only if Enabled from GUI): |
The Token value from
the GET X-CSRF-TOKEN fetch request |
Bulk Support: |
Operation 'UpdateById' can be used
within Bulk Request. |
Request Content:
XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mydeviceportal xmlns:ns0="portal.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="description" id="id" name="name">
<customizations>
<globalCustomizations>
<bannerImage>
<data>base 64 encoded value of image</data>
</bannerImage>
<bannerTitle>Banner Title</bannerTitle>
<contactText>Contact Information </contactText>
<desktopLogoImage>
<data>base 64 encoded value of image</data>
</desktopLogoImage>
<footerElement>Footer Element</footerElement>
<mobileLogoImage>
<data>base 64 encoded value of image</data>
</mobileLogoImage>
</globalCustomizations>
<language>
<viewLanguage>English</viewLanguage>
</language>
<pageCustomizations>
<data>
<key>ui_contact_link</key>
<value>Contact Support</value>
</data>
</pageCustomizations>
<portalTheme id="themeId" name="ThemeName">
<themeData>Base 64 encoded string of Theme CSS file</themeData>
</portalTheme>
<portalTweakSettings>
<bannerColor>Banner Color from GUI</bannerColor>
<bannerTextColor>Banner Text color code from GUI</bannerTextColor>
<pageBackgroundColor>Color code from GUI</pageBackgroundColor>
<pageLabelAndTextColor>Label and Text color from GUI</pageLabelAndTextColor>
</portalTweakSettings>
</customizations>
<portalType>mydevice</portalType>
<settings>
<aupSettings>
<displayFrequency>firstLogin</displayFrequency>
<includeAup>false</includeAup>
<requireAccessCode>false</requireAccessCode>
<requireScrolling>true</requireScrolling>
<skipAupForEmployees>false</skipAupForEmployees>
<useDiffAupForEmployees>false</useDiffAupForEmployees>
</aupSettings>
<employeeChangePasswordSettings>
<allowEmployeeToChangePwd>false</allowEmployeeToChangePwd>
</employeeChangePasswordSettings>
<loginPageSettings>
<allowAlternateGuestPortal>false</allowAlternateGuestPortal>
<allowGuestToChangePassword>false</allowGuestToChangePassword>
<allowGuestToCreateAccounts>true</allowGuestToCreateAccounts>
<allowGuestToUseSocialAccounts>false</allowGuestToUseSocialAccounts>
<allowShowGuestForm>false</allowShowGuestForm>
<aupDisplay>ASLINK</aupDisplay>
<includeAup>false</includeAup>
<maxFailedAttemptsBeforeRateLimit>5</maxFailedAttemptsBeforeRateLimit>
<requireAccessCode>false</requireAccessCode>
<requireAupAcceptance>false</requireAupAcceptance>
<requireAupScrolling>false</requireAupScrolling>
<timeBetweenLoginsDuringRateLimit>2</timeBetweenLoginsDuringRateLimit>
</loginPageSettings>
<portalSettings>
<AllowedInterfaces>
<AllowedInterface>eth0</AllowedInterface>
<AllowedInterface>bond0</AllowedInterface>
</AllowedInterfaces>
<alwaysUsedLanguage>English</alwaysUsedLanguage>
<authenticationMethod>Identity Source</authenticationMethod>
<certificateGroupTag>Default Portal Certificate Group</certificateGroupTag>
<displayLang>useBrowserLocale</displayLang>
<endpointIdentityGroup>Identity Group</endpointIdentityGroup>
<fallbackLanguage>English</fallbackLanguage>
<fqdn>Fully Qualified Domain Name</fqdn>
<httpsPort>8443</httpsPort>
<idleTimeout>10</idleTimeout>
</portalSettings>
<postLoginBannerSettings>
<includePostAccessBanner>true</includePostAccessBanner>
</postLoginBannerSettings>
<supportInfoSettings>
<emptyFieldDisplay>hide</emptyFieldDisplay>
<includeBrowserUserAgent>true</includeBrowserUserAgent>
<includeFailureCode>true</includeFailureCode>
<includeIpAddress>true</includeIpAddress>
<includeMacAddr>true</includeMacAddr>
<includePolicyServer>true</includePolicyServer>
<includeSupportInfoPage>false</includeSupportInfoPage>
</supportInfoSettings>
</settings>
</ns0:mydeviceportal>
JSON
{
"MyDevicePortal" : {
"id" : "id",
"name" : "name",
"description" : "description",
"portalType" : "MYDEVICE",
"settings" : {
"portalSettings" : {
"httpsPort" : 8443,
"allowedInterfaces" : [ "eth0", "bond0" ],
"certificateGroupTag" : "Default
Portal Certificate Group",
"endpointIdentityGroup" : "Identity
Group",
"fqdn" : "Fully
Qualified Domain Name",
"authenticationMethod" : "Identity
Source",
"idleTimeout" : 10,
"displayLang" : "USEBROWSERLOCALE",
"fallbackLanguage" : "English",
"alwaysUsedLanguage" : "English",
"availableSsids" : [ ]
},
"loginPageSettings" : {
"requireAccessCode" : false,
"maxFailedAttemptsBeforeRateLimit" : 5,
"timeBetweenLoginsDuringRateLimit" : 2,
"includeAup" : false,
"aupDisplay" : "ASLINK",
"requireAupAcceptance" : false,
"requireAupScrolling" : false,
"allowGuestToCreateAccounts" : true,
"allowGuestToChangePassword" : false,
"allowAlternateGuestPortal" : false,
"allowGuestToUseSocialAccounts" : false,
"allowShowGuestForm" : false,
"socialConfigs" : [ ]
},
"aupSettings" : {
"includeAup" : false,
"useDiffAupForEmployees" : false,
"skipAupForEmployees" : false,
"requireAccessCode" : false,
"requireScrolling" : true,
"displayFrequency" : "FIRSTLOGIN"
},
"employeeChangePasswordSettings" : {
"allowEmployeeToChangePwd" : false
},
"postLoginBannerSettings" : {
"includePostAccessBanner" : true
},
"supportInfoSettings" : {
"includeSupportInfoPage" : false,
"includeMacAddr" : true,
"includeIpAddress" : true,
"includeBrowserUserAgent" : true,
"includePolicyServer" : true,
"includeFailureCode" : true,
"emptyFieldDisplay" : "HIDE"
}
},
"customizations" : {
"portalTheme" : {
"id" : "themeId",
"name" : "ThemeName",
"themeData" : "Base 64
encoded string of Theme CSS file"
},
"portalTweakSettings" : {
"bannerColor" : "Banner
Color from GUI",
"bannerTextColor" : "Banner
Text color code from GUI",
"pageBackgroundColor" : "Color
code from GUI",
"pageLabelAndTextColor" : "Label
and Text color from GUI"
},
"language" : {
"viewLanguage" : "English"
},
"globalCustomizations" : {
"mobileLogoImage" : {
"data" : "base 64 encoded value of image"
},
"desktopLogoImage" : {
"data" : "base 64 encoded value of image"
},
"bannerImage" : {
"data" : "base 64 encoded value of image"
},
"bannerTitle" : "Banner
Title",
"contactText" : "Contact
Information ",
"footerElement" : "Footer
Element"
},
"pageCustomizations" : {
"data" : [ {
"key" : "ui_contact_link",
"value" : "Contact Support"
} ]
}
}
}
}
Response: (UpdatedFieldsList)
HTTP Status: |
200 (OK) |
Content:
XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:updatedFields xmlns:ns0="ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<updatedField
field="field1">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
</updatedField>
<updatedField
field="some
other field">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
</updatedField>
</ns0:updatedFields>
JSON
{
"UpdatedFieldsList" : {
"updatedField" : [ {
"field" : "field1",
"oldValue" : "val_old",
"newValue" : "val_new"
}, {
"field" : "some other field",
"oldValue" : "val_old",
"newValue" : "val_new"
} ]
}
}
DeleteById
Request:
Method: |
DELETE |
URI: |
https://10.56.60.175:9060/ers/config/mydeviceportal/{portal-id} |
HTTP 'Content-Type' Header: |
application/xml | application/json |
HTTP 'Accept' Header: |
application/xml | application/json |
HTTP 'ERS-Media-Type' Header (Not
Mandatory): |
portal.mydeviceportal.1.0 |
HTTP 'X-CSRF-TOKEN' Header
(Required Only if Enabled from GUI): |
The Token value from
the GET X-CSRF-TOKEN fetch request |
Bulk Support: |
Operation 'DeleteById' can be used
within Bulk Request. |
Request Content:
N/A
Response: (N/A)
HTTP Status: |
204 (No Content) |
Content:
N/A
Create
Request:
Method: |
POST |
URI: |
https://10.56.60.175:9060/ers/config/mydeviceportal |
HTTP 'Content-Type' Header: |
application/xml | application/json |
HTTP 'Accept' Header: |
application/xml | application/json |
HTTP 'ERS-Media-Type' Header (Not
Mandatory): |
portal.mydeviceportal.1.0 |
HTTP 'X-CSRF-TOKEN' Header
(Required Only if Enabled from GUI): |
The Token value from
the GET X-CSRF-TOKEN fetch request |
Bulk Support: |
Operation 'Create' can be used
within Bulk Request. |
Request Content:
XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:mydeviceportal xmlns:ns0="portal.ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ns1="ers.ise.cisco.com" xmlns:ers="ers.ise.cisco.com" description="description" id="id" name="name">
<customizations>
<globalCustomizations>
<bannerImage>
<data>base 64 encoded value of image</data>
</bannerImage>
<bannerTitle>Banner Title</bannerTitle>
<contactText>Contact Information </contactText>
<desktopLogoImage>
<data>base 64 encoded value of image</data>
</desktopLogoImage>
<footerElement>Footer Element</footerElement>
<mobileLogoImage>
<data>base 64 encoded value of image</data>
</mobileLogoImage>
</globalCustomizations>
<language>
<viewLanguage>English</viewLanguage>
</language>
<pageCustomizations>
<data>
<key>ui_contact_link</key>
<value>Contact Support</value>
</data>
</pageCustomizations>
<portalTheme id="themeId" name="ThemeName">
<themeData>Base 64 encoded string of Theme CSS file</themeData>
</portalTheme>
<portalTweakSettings>
<bannerColor>Banner Color from GUI</bannerColor>
<bannerTextColor>Banner Text color code from GUI</bannerTextColor>
<pageBackgroundColor>Color code from GUI</pageBackgroundColor>
<pageLabelAndTextColor>Label and Text color from GUI</pageLabelAndTextColor>
</portalTweakSettings>
</customizations>
<portalType>mydevice</portalType>
<settings>
<aupSettings>
<displayFrequency>firstLogin</displayFrequency>
<includeAup>false</includeAup>
<requireAccessCode>false</requireAccessCode>
<requireScrolling>true</requireScrolling>
<skipAupForEmployees>false</skipAupForEmployees>
<useDiffAupForEmployees>false</useDiffAupForEmployees>
</aupSettings>
<employeeChangePasswordSettings>
<allowEmployeeToChangePwd>false</allowEmployeeToChangePwd>
</employeeChangePasswordSettings>
<loginPageSettings>
<allowAlternateGuestPortal>false</allowAlternateGuestPortal>
<allowGuestToChangePassword>false</allowGuestToChangePassword>
<allowGuestToCreateAccounts>true</allowGuestToCreateAccounts>
<allowGuestToUseSocialAccounts>false</allowGuestToUseSocialAccounts>
<allowShowGuestForm>false</allowShowGuestForm>
<aupDisplay>ASLINK</aupDisplay>
<includeAup>false</includeAup>
<maxFailedAttemptsBeforeRateLimit>5</maxFailedAttemptsBeforeRateLimit>
<requireAccessCode>false</requireAccessCode>
<requireAupAcceptance>false</requireAupAcceptance>
<requireAupScrolling>false</requireAupScrolling>
<timeBetweenLoginsDuringRateLimit>2</timeBetweenLoginsDuringRateLimit>
</loginPageSettings>
<portalSettings>
<AllowedInterfaces>
<AllowedInterface>eth0</AllowedInterface>
<AllowedInterface>bond0</AllowedInterface>
</AllowedInterfaces>
<alwaysUsedLanguage>English</alwaysUsedLanguage>
<authenticationMethod>Identity Source</authenticationMethod>
<certificateGroupTag>Default Portal Certificate Group</certificateGroupTag>
<displayLang>useBrowserLocale</displayLang>
<endpointIdentityGroup>Identity Group</endpointIdentityGroup>
<fallbackLanguage>English</fallbackLanguage>
<fqdn>Fully Qualified Domain Name</fqdn>
<httpsPort>8443</httpsPort>
<idleTimeout>10</idleTimeout>
</portalSettings>
<postLoginBannerSettings>
<includePostAccessBanner>true</includePostAccessBanner>
</postLoginBannerSettings>
<supportInfoSettings>
<emptyFieldDisplay>hide</emptyFieldDisplay>
<includeBrowserUserAgent>true</includeBrowserUserAgent>
<includeFailureCode>true</includeFailureCode>
<includeIpAddress>true</includeIpAddress>
<includeMacAddr>true</includeMacAddr>
<includePolicyServer>true</includePolicyServer>
<includeSupportInfoPage>false</includeSupportInfoPage>
</supportInfoSettings>
</settings>
</ns0:mydeviceportal>
JSON
{
"MyDevicePortal" : {
"id" : "id",
"name" : "name",
"description" : "description",
"portalType" : "MYDEVICE",
"settings" : {
"portalSettings" : {
"httpsPort" : 8443,
"allowedInterfaces" : [ "eth0", "bond0" ],
"certificateGroupTag" : "Default
Portal Certificate Group",
"endpointIdentityGroup" : "Identity
Group",
"fqdn" : "Fully
Qualified Domain Name",
"authenticationMethod" : "Identity
Source",
"idleTimeout" : 10,
"displayLang" : "USEBROWSERLOCALE",
"fallbackLanguage" : "English",
"alwaysUsedLanguage" : "English",
"availableSsids" : [ ]
},
"loginPageSettings" : {
"requireAccessCode" : false,
"maxFailedAttemptsBeforeRateLimit" : 5,
"timeBetweenLoginsDuringRateLimit" : 2,
"includeAup" : false,
"aupDisplay" : "ASLINK",
"requireAupAcceptance" : false,
"requireAupScrolling" : false,
"allowGuestToCreateAccounts" : true,
"allowGuestToChangePassword" : false,
"allowAlternateGuestPortal" : false,
"allowGuestToUseSocialAccounts" : false,
"allowShowGuestForm" : false,
"socialConfigs" : [ ]
},
"aupSettings" : {
"includeAup" : false,
"useDiffAupForEmployees" : false,
"skipAupForEmployees" : false,
"requireAccessCode" : false,
"requireScrolling" : true,
"displayFrequency" : "FIRSTLOGIN"
},
"employeeChangePasswordSettings" : {
"allowEmployeeToChangePwd" : false
},
"postLoginBannerSettings" : {
"includePostAccessBanner" : true
},
"supportInfoSettings" : {
"includeSupportInfoPage" : false,
"includeMacAddr" : true,
"includeIpAddress" : true,
"includeBrowserUserAgent" : true,
"includePolicyServer" : true,
"includeFailureCode" : true,
"emptyFieldDisplay" : "HIDE"
}
},
"customizations" : {
"portalTheme" : {
"id" : "themeId",
"name" : "ThemeName",
"themeData" : "Base 64
encoded string of Theme CSS file"
},
"portalTweakSettings" : {
"bannerColor" : "Banner
Color from GUI",
"bannerTextColor" : "Banner
Text color code from GUI",
"pageBackgroundColor" : "Color
code from GUI",
"pageLabelAndTextColor" : "Label
and Text color from GUI"
},
"language" : {
"viewLanguage" : "English"
},
"globalCustomizations" : {
"mobileLogoImage" : {
"data" : "base 64 encoded value of image"
},
"desktopLogoImage" : {
"data" : "base 64 encoded value of image"
},
"bannerImage" : {
"data" : "base 64 encoded value of image"
},
"bannerTitle" : "Banner
Title",
"contactText" : "Contact
Information ",
"footerElement" : "Footer
Element"
},
"pageCustomizations" : {
"data" : [ {
"key" : "ui_contact_link",
"value" : "Contact Support"
} ]
}
}
}
}
Response: (N/A)
HTTP Status: |
201 (Created) |
Content:
N/A
Get-All
Request:
Method: |
GET |
URI: |
https://10.56.60.175:9060/ers/config/mydeviceportal |
HTTP 'Content-Type' Header: |
application/xml | application/json |
HTTP 'Accept' Header: |
application/xml | application/json |
HTTP 'ERS-Media-Type' Header (Not
Mandatory): |
portal.mydeviceportal.1.0 |
HTTP 'X-CSRF-TOKEN' Header
(Required Only if Enabled from GUI): |
fetch |
Request Content:
N/A
Response: (SearchResult)
HTTP Status: |
200 (OK) |
Content:
XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:searchResult xmlns:ns0="v2.ers.ise.cisco.com" xmlns:ns1="ers.ise.cisco.com" xmlns:ers-v2="ers-v2" total="2">
<ns0:nextPage rel="next" href="link-to-next-page" type="application/xml"/>
<ns0:previousPage rel="previous" href="link-to-previous-page" type="application/xml"/>
<ns0:resources>
<ns1:resource description="description1" id="id1" name="name1"/>
<ns1:resource description="description2" id="id2" name="name2"/>
</ns0:resources>
</ns0:searchResult>
JSON
{
"SearchResult" : {
"total" : 2,
"resources" : [ {
"id" : "id1",
"name" : "name1",
"description" : "description1"
}, {
"id" : "id2",
"name" : "name2",
"description" : "description2"
} ],
"nextPage" : {
"rel" : "next",
"href" : "link-to-next-page",
"type" : "application/xml"
},
"previousPage" : {
"rel" : "previous",
"href" : "link-to-previous-page",
"type" : "application/xml"
}
}
}
Supported Filter and Sorting Fields:
Filter: [name, description]
To search guest
users by using toDate column, please follow the below format:
DD-MON-YY (Ex: 13-SEP-18)
* Day or Year: GET /ers/config/guestuser/?filter=toDate.CONTAINS.13
* Month: GET /ers/config/guestuser/?filter=toDate.CONTAINS.SEP
* Date: GET /ers/config/guestuser/?filter=toDate.CONTAINS.13-SEP-18
Sorting: [name, description]
Get Version
Request:
Method: |
GET |
URI: |
https://10.56.60.175:9060/ers/config/mydeviceportal/versioninfo |
HTTP 'Content-Type' Header: |
application/xml | application/json |
Response: (Version Info)
HTTP Status: |
200 (OK) |
Content:
XML
<?xml version="1.0" encoding="UTF-8"?>
<ns0:versionInfo xmlns:ns0="ers.ise.cisco.com" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<currentServerVersion>1.0</currentServerVersion>
<link rel="self" href="link" type="application/xml"/>
<supportedVersions>0.9,0.8</supportedVersions>
</ns0:versionInfo>
JSON
{
"VersionInfo" : {
"currentServerVersion" : "1.0",
"supportedVersions" : "0.9,0.8",
"link" : {
"rel" : "self",
"href" : "link",
"type" : "application/xml"
}
}
}