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

Top of Form

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"

    }

  }

}

Bottom of Form