Table Of Contents
External RESTful Services Calls
Invoking an External RESTful Services API Call
GetVersion API Call
GetVersion Sample Request
GetVersion Sample Response
Internal User External RESTful Services API Calls
Internal User Schema
Get All Users API Call
Get All Users Sample Request
Get All Users Sample Response
Get User API Call
Get User Sample Request
Get User Sample Response
Create User API Call
Create User Sample Request
Create User Sample Response
Update User API Call
Update User Sample Request
Update User Sample Response
Delete User API Call
Delete User Sample Request
Delete User Sample Response
Endpoint External RESTful Services API Calls
Endpoint Schema
Get All Endpoints API Call
Get All Endpoints Sample Request
Get All Endpoints Sample Response
Get Endpoint API Call
Get Endpoint Sample Request
Get Endpoint Sample Response
Create Endpoint API Call
Create Endpoint Sample Request
Create Endpoint Sample Response
Update Endpoint API Call
Update Endpoint Sample Request
Update Endpoint Sample Response
Delete Endpoint API Call
Delete Endpoint Sample Request
Delete Endpoint Sample Response
Register Endpoint API Call
Register Endpoint Sample Request
Register Endpoint Sample Response
Deregister Endpoint API Call
Deregister Endpoint Sample Request
Deregister Endpoint Sample Response
Endpoint Identity Group External RESTful Services API Calls
Endpoint Identity Groups Schema
Get All Endpoint Identity Groups API Call
Get All Endpoint Identity Groups Sample Request
Get All Endpoint Identity Groups Sample Response
Get Endpoint Identity Group API Call
Get Endpoint Identity Group Sample Request
Get Endpoint Identity Group Sample Response
Create Endpoint Identity Group API Call
Create Endpoint Identity Group Sample Request
Create Endpoint Identity Group Sample Response
Update Endpoint Identity Group API Call
Update Endpoint Identity Group Sample Request
Update Endpoint Identity Group Sample Response
Delete Endpoint Identity Group API Call
Delete Endpoint Identity Group Sample Request
Delete Endpoint Identity Group Sample Response
Profiler Profile External RESTful Services API Calls
Profiler Profile Schema
Get All Profiles API Call
Get All Profiles Sample Request
Get All Profiles Sample Response
Get Profile API Call
Get Profile Sample Request
Get Profile Sample Response
Create Profiler Profile API Call
Create Profile Sample Request
Create Profile Sample Response
Identity Group External RESTful Services API Calls
Identity Group Schema
Get All Identity Groups API Call
Get All Identity Groups Sample Request
Get All Identity Groups Sample Response
Get Identity Group API Call
Get Identity Group Sample Request
Get Identity Group Sample Response
External RESTful Services API Calls for Security Group Tags
Get All SGTs API Call
Get All SGTs Sample Request
Get All SGTs Sample Response
Get SGT API Call
Get SGT Sample Request
Get SGT Sample Response
Using a REST API Client
Making an External RESTful Services API Call Using GET
URI
Accept Header
Authorization Header
Making a GET Request Using POSTMAN
Making an External RESTful Services API Call Using POST
URI
Content-Type Header
Authorization Header
Making a POST Request Using POSTMAN
Making an External RESTful Services API Call Using PUT
URI
Content-Type Header
Authorization Header
Making a PUT Request Using POSTMAN
Making an External RESTful Services API Call Using DELETE
URI
Accept Header
Authorization Header
Making a DELETE Request Using POSTMAN
Java External RESTful Services Demo Application
Downloading the Java External RESTful Services Demo Application
External RESTful Services Calls
•
Invoking an External RESTful Services API Call
•
GetVersion API Call
•
Internal User External RESTful Services API Calls
•
Endpoint External RESTful Services API Calls
•
Endpoint Identity Group External RESTful Services API Calls
•
Identity Group External RESTful Services API Calls
•
External RESTful Services API Calls for Security Group Tags
•
Using a REST API Client
•
Java External RESTful Services Demo Application
Invoking an External RESTful Services API Call
You should fulfill the following prerequisites before invoking an External RESTful Services API call:
•
Enable External RESTful Services from the CLI.
•
Enable External RESTful Services Admin privileges.
You can use any REST client like JAVA, cURL Linux command, python to invoke External RESTful Services API calls.
Related Topics
•
Enabling the External RESTful Services API
•
External RESTful Services Authorization
GetVersion API Call
The GetVersion API call is common to all available resources: endpoints, internal users, endpoint identity groups, and security group tags (SGTs). It fetches the version information of the required resource.
Table 6-1 GetVersion Characteristics
Characteristics
|
Description
|
Description
|
Retrieve the version information of the specified resource
|
Synopsis
|
GET/ers/config/<resource-name>/versioninfo
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type VersionInfo
|
Response Status
|
200, 400, 401,403,404,415,500
|
GetVersion Sample Request
Sample Request for Get Version Internal Users API
URI: https://10.56.13.196:9060/ers/config/internaluser/versioninfo
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
GetVersion Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:versionInfo xmlns:ns2="ers.ise.cisco.com">
<currentServerVersion>1.0</currentServerVersion>
<link type="application/xml" href="link" rel="self"/>
<supportedVersions>0.9,0.8</supportedVersions>
Internal User External RESTful Services API Calls
External RESTful Services API Calls for Internal users support full Create, Read, Update, Delete (CRUD) functionality. The internal user ID used in these API calls is the UUID type stored in the Cisco ISE database.
Table 6-2 External RESTful Services API Calls Available for Internal Users
API Call
|
HTTP Method
|
URL
|
Content
|
QueryString
|
Get All Users
|
GET
|
/ers/config/internaluser
|
—
|
Page, Size, sortacs or sortdsn, Filter
|
Get User
|
GET
|
/ers/config/internaluser/{internaluser-id}
|
—
|
—
|
Create User
|
POST
|
/ers/config/internaluser/
|
internaluser
|
—
|
Update User
|
PUT
|
/ers/config/internaluser/{internaluser-id}
|
internaluser
|
—
|
Delete User
|
DELETE
|
/ers/config/internaluser/{internaluser-id}
|
—
|
—
|
Internal User Schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:internaluser name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<changePassword>true</changePassword>
<customAttributes>
<entry>
<key>key2</key>
<value>value3</value>
</entry>
<entry>
<key>key1</key>
<value>value1</value>
</entry>
</customAttributes>
<email>email@domain.com</email>
<enabled>true</enabled>
<firstName>firstName</firstName>
<identityGroups>identityGroups</identityGroups>
<lastName>lastName</lastName>
<password>password</password>
</ns3:internaluser>
Get All Users API Call
You use Get All Users API call to retrieve all the internal users in Cisco ISE.
Table 6-3 Get All Users Characteristics
Characteristics
|
Description
|
Description
|
Retrieve collection of internal users
|
Synopsis
|
GET /ers/config/internaluser
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name, description, firstName, lastName, identityGroup, email, enabled)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get All Users Sample Request
URI: https://10.56.13.196:9060/ers/config/internaluser
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Get All Users Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:searchResult total="2" xmlns:ns2="ers.ise.cisco.com">
<nextPage type="application/xml" href="link-to-next-page" rel="next"/>
<previousPage type="application/xml" href="link-to-previous-page" rel="previous"/>
<resource name="name1" id="id1" description="description1"/>
<resource name="name2" id="id2" description="description2"/>
Get User API Call
You use the Get User API call to retrieve an internal user using the user ID.
Table 6-4 Get User Characteristics
Characteristics
|
Description
|
Description
|
Retrieve the specified internal user
|
Synopsis
|
GET /ers/config/internaluser/{internaluser-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type InternalUser
|
Response Status
|
200, 400, 401,403, 404, 415, 500
|
Get User Sample Request
URI: https://10.56.13.196:9060/ers/config/internaluser/{id}
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Get User Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:internaluser name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<changePassword>true</changePassword>
<email>email@domain.com</email>
<firstName>firstName</firstName>
<identityGroups>identityGroups</identityGroups>
<lastName>lastName</lastName>
<password>password</password>
Create User API Call
You use the Create User API call to create internal users in Cisco ISE. A password is mandatory for creating an internal user using the External RESTful Services API.
Table 6-5 Create User API Call Characteristics
Characteristic
|
Description
|
Description
|
Create the specified internal user
|
Synopsis
|
POST /ers/config/internaluser/
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
InternalUser
|
Response Headers
|
Content-Length, Content-Type, Location
|
Response Message Body
|
Resource of type InternalUser
|
Response Status
|
201, 400, 401, 403, 415, 500
|
Create User Sample Request
URI: https://10.56.13.196:9060/ers/config/internaluser
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:internaluser name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<changePassword>true</changePassword>
<email>email@domain.com</email>
<firstName>firstName</firstName>
<identityGroups>identityGroups</identityGroups>
<lastName>lastName</lastName>
<password>password</password>
Create User Sample Response
HTTP Status: 201 (Created)
Update User API Call
You use the Update User API call to update internal users in Cisco ISE. While updating internal users using the External RESTful Services API, if you do not intend to change the existing password, you need not supply the current password. In case you want to change the existing password when you update internal users, you can specify it in plain text.
Table 6-6 Update User Characteristics
Characteristic
|
Description
|
Description
|
Update the specified internal user
|
Synopsis
|
PUT /ers/config/internaluser/{internaluser-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
InternalUser
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
List of updated fields
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Update User Sample Request
URI: https://10.56.13.196:9060/ers/config/internaluser/{id}
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:internaluser name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<changePassword>true</changePassword>
<email>email@domain.com</email>
<firstName>firstName</firstName>
<identityGroups>identityGroups</identityGroups>
<lastName>lastName</lastName>
<password>password</password>
Update User Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:updatedFields xmlns:ns2="ers.ise.cisco.com">
<updatedField field="field1">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
<updatedField field="some other field">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
Delete User API Call
You use the Delete User API call to delete internal users from Cisco ISE.
Table 6-7 Delete User Characteristics
Characteristic
|
Description
|
Description
|
Delete the specified internal user
|
Synopsis
|
DELETE /ers/config/internaluser/{internaluser-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type InternalUser
|
Response Status
|
204, 400, 401, 403, 404, 415, 500
|
Delete User Sample Request
URI: https://10.56.13.196:9060/ers/config/internaluser/{id}
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Delete User Sample Response
HTTP Status: 204 (No Content)
Endpoint External RESTful Services API Calls
The internal user ID used in these API calls is the UUID type stored in the Cisco ISE database.
Note
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.
Table 6-8 External RESTful Services API Calls Available for Endpoints
Operation
|
Method
|
URL
|
Content
|
QueryString
|
Get All Endpoints
|
GET
|
/ers/config/endpoint
|
—
|
page, size, sortacs or sortdsn, filter
|
Get Endpoint
|
GET
|
/ers/config/endpoint/{endpoint-id}
|
—
|
—
|
Create Endpoint
|
POST
|
/ers/config/endpoint/
|
endpoint
|
—
|
Update Endpoint
|
PUT
|
/ers/config/endpoint/{endpoint-id}
|
endpoint
|
—
|
Delete Endpoint
|
DELETE
|
/ers/config/endpoint/{endpoint-id}
|
—
|
—
|
Register Endpoint
|
PUT
|
/ers/config/endpoint/register
|
endpoint
|
—
|
Deregister Endpoint
|
PUT
|
/ers/config/endpoint/{endpoint-id}/deregister
|
—
|
—
|
Endpoint Schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
</ns3:endpoint>
Get All Endpoints API Call
You use the Get All Endpoints API call to retrieve a list of endpoints.
Table 6-9 Get All Endpoints Characteristics
Characteristic
|
Description
|
Description
|
Retrieve collection of endpoints
|
Synopsis
|
GET ers/config/endpoint
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: mac, portalUser, profileId, staticGroupAssignment, staticProfileAssignment)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get All Endpoints Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml
Get All Endpoints Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:searchResult total="2" xmlns:ns2="ers.ise.cisco.com">
<nextPage type="application/xml" href="link-to-next-page" rel="next"/>
<previousPage type="application/xml" href="link-to-previous-page" rel="previous"/>
<resource name="name1" id="id1" description="description1"/>
<resource name="name2" id="id2" description="description2"/>
Note
The endpoint do not have hyperlinks for the complete object as it is not supported. Only the name description and ID are presented.
Get Endpoint API Call
You use Get Endpoint API call to retrieve an endpoint using the user ID.
Table 6-10 Get Endpoint Characteristics
Characteristics
|
Description
|
Description
|
Retrieve the specified endpoint
|
Synopsis
|
GET /ers/config/endpoint/{endpoint-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type InternalUser
|
Response Status
|
200, 400, 401,403, 404, 415, 500
|
Get Endpoint Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint/{id}
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml
Get Endpoint Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"
xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
Create Endpoint API Call
You use the Create Endpoint API call to create endpoints in Cisco ISE.
Table 6-11 Create Endpoint Characteristics
Characteristic
|
Description
|
Description
|
Create the specified endpoint
|
Synopsis
|
POST /ers/config/endpoint
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
Endpoint
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type InternalUser
|
Response Status
|
200, 400, 401,403, 404, 415, 500
|
Create Endpoint Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
Create Endpoint Sample Response
HTTP Status: 201 (Created)
Update Endpoint API Call
You use the Update Endpoint API call to update endpoints in Cisco ISE.
Table 6-12 Update Endpoint Characteristics
Characteristic
|
Description
|
Description
|
Update the specified endpoint
|
Synopsis
|
PUT /ers/config/endpoint/{endpoint-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
Endpoint
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
List of updated fields
|
Response Status
|
200, 400, 401,403, 404, 415, 500
|
Update Endpoint Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint/{id}
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"
xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
Update Endpoint Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:updatedFields xmlns:ns2="ers.ise.cisco.com">
<updatedField field="field1">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
<updatedField field="some other field">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
Delete Endpoint API Call
You use the Delete Endpoint API call to delete endpoints in Cisco ISE.
Table 6-13 Delete Endpoint Characteristics
Characteristic
|
Description
|
Description
|
Delete the specified endpoint
|
Synopsis
|
DELETE /ers/config/endpoint/{endpoint-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
—
|
Response Status
|
200, 400, 401,403, 404, 415, 500
|
Delete Endpoint Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint/{id}
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml
Delete Endpoint Sample Response
HTTP Status: 204 (No Content)
Register Endpoint API Call
You use the Register Endpoint API call to register endpoints in Cisco ISE. If the endpoint already exists, it will be registered. If it does not exist, it will be created and then registered. In both scenarios, the return status will be 204, which means no content. Similar to the GUI registration flow, the endpoint is statically assigned to the Registered Devices group and the portal user and identity store will be set as specified in the content.
Table 6-14 Register Endpoint Characteristics
Characteristic
|
Description
|
Description
|
Register the specified endpoint
|
Synopsis
|
PUT /ers/config/endpoint/register
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
endpoint
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
List of updated fields
|
Response Status
|
202, 400, 401, 403, 404, 415, 500
|
Register Endpoint Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint/register
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"
xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
Register Endpoint Sample Response
Deregister Endpoint API Call
You use the Deregister Endpoint API call to deregister endpoints in Cisco ISE.
Table 6-15 Deregister Endpoint Characteristics
Characteristic
|
Description
|
Description
|
Deregister the specified endpoint
|
Synopsis
|
PUT /ers/config/endpoint/{endpoint-id}/deregister
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Message Body
|
—
|
Response Status
|
202, 400, 401, 403, 404, 415, 500
|
Deregister Endpoint Sample Request
URI: https://10.56.13.196:9060/ers/config/endpoint/{id}/deregister
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"
xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
Deregister Endpoint Sample Response
Endpoint Identity Group External RESTful Services API Calls
The internal user ID used in these API calls is the UUID type stored in the Cisco ISE database.
Note
The examples shown in the subsequent sections 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.
Table 6-16 External RESTful Services API Calls Available for Endpoint Identity Groups
Operation
|
Method
|
URL
|
Content
|
QueryString
|
Get All Endpoint Groups
|
GET
|
/ers/config/endpointgroup
|
—
|
page, size, sortacs or sortdsn, filter
|
Get Endpoint Group
|
GET
|
/ers/config/endpointgroup/{endpointgroup-id}
|
—
|
—
|
Create Endpoint Group
|
POST
|
/ers/config/endpointgroup/
|
Endpointgroup
|
—
|
Update Endpoint Group
|
PUT
|
/ers/config/endpointgroup/{endpointgroup-id}
|
Endpointgroup
|
—
|
Delete Endpoint Group
|
DELETE
|
/ers/config/endpointgroup/{endpointgroup-id}
|
—
|
—
|
Endpoint Identity Groups Schema
Method: GET
URI: https://10.56.13.196:9060/ers/config/endpoint
HTTP Accept header:
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml
Get All Endpoint Identity Groups API Call
You use the Get All Endpoint Identity Groups API call to retrieve a collection of endpoint identity groups.
Table 6-17 Get All Endpoint Identity Groups Characteristics
Characteristic
|
Description
|
Description
|
Retrieve a collection of endpoint groups
|
Synopsis
|
GET /ers/config/endpointgroup
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
202, 400, 401, 403, 404, 415, 500
|
Get All Endpoint Identity Groups Sample Request
URI: https://10.56.13.196:9060/ers/config/endpointgroup
application/vnd.com.cisco.ise.identity.endpointgroup.1.0+xml
Get All Endpoint Identity Groups Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:searchResult total="2" xmlns:ns2="ers.ise.cisco.com">
<nextPage type="application/xml" href="link-to-next-page" rel="next"/>
<previousPage type="application/xml" href="link-to-previous-page" rel="previous"/>
<resource name="name1" id="id1" description="description1"/>
<resource name="name2" id="id2" description="description2"/>
Note
The endpoint do not have hyperlinks for the complete object, only the name, description, and ID are presented.
Get Endpoint Identity Group API Call
You use the Get Endpoint Identity Group API call to retrieve the specified endpoint identity group.
Table 6-18 Get Endpoint Identity Group Characteristics
Characteristic
|
Description
|
Description
|
Retrieve the specified endpoint group
|
Synopsis
|
GET /ers/config/endpoint/{endpointgroup-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type Endpoint
|
Response Status
|
200, 400, 401,403, 404, 415, 500
|
Get Endpoint Identity Group Sample Request
URI: https://10.56.13.196:9060/ers/config/endpointgroup/{id}
application/vnd.com.cisco.ise.identity.endpointgroup.1.0+xml
Get Endpoint Identity Group Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpointgroup name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<systemDefined>true</systemDefined>
Create Endpoint Identity Group API Call
You use the Create Endpoint Identity Group API call to create a specified endpoint identity group.
Table 6-19 Create Endpoint Identity Group Characteristics
Characteristic
|
Description
|
Description
|
Create the specified endpoint group
|
Synopsis
|
POST /ers/config/endpoint/
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
Endpoint Group
|
Response Headers
|
Content-Length, Content-Type, Location
|
Response Message Body
|
Resource of type Endpoint Group
|
Response Status
|
201, 400, 401, 403, 415, 500
|
:
Create Endpoint Identity Group Sample Request
URI: https://10.56.13.196:9060/ers/config/endpointgroup
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpointgroup.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpointgroup name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<systemDefined>true</systemDefined>
Create Endpoint Identity Group Sample Response
HTTP Status: 201 (Created)
Update Endpoint Identity Group API Call
You use the Update Endpoint Identity Group API call to update a specified endpoint group.
Table 6-20 Update Endpoint Identity Group Characteristics
Characteristic
|
Description
|
Description
|
Update the specified endpoint group
|
Synopsis
|
PUT /ers/config/endpoint/{endpointgroup-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
Endpoint Group
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
List of updated fields
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Update Endpoint Identity Group Sample Request
URI: https://10.56.13.196:9060/ers/config/endpointgroup/{id}
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpointgroup.1.0+xml; charset=utf-8
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpointgroup name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<systemDefined>true</systemDefined>
Update Endpoint Identity Group Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:updatedFields xmlns:ns2="ers.ise.cisco.com">
<updatedField field="field1">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
<updatedField field="some other field">
<newValue>val_new</newValue>
<oldValue>val_old</oldValue>
Delete Endpoint Identity Group API Call
You use the Delete Endpoint Identity Group API call to delete a specified endpoint identity group.
Table 6-21 Delete Endpoint Identity Group Characteristics
Characteristic
|
Description
|
Description
|
Delete the specified endpoint group
|
Synopsis
|
DELETE /ers/config/endpointgroup/{endpointgroup-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
—
|
Response Status
|
204, 400, 401, 403, 404, 415, 500
|
Delete Endpoint Identity Group Sample Request
URI: https://10.56.13.196:9060/ers/config/endpointgroup/{id}
application/vnd.com.cisco.ise.identity.endpointgroup.1.0+xml
Delete Endpoint Identity Group Sample Response
HTTP Status: 204 (No Content)
Profiler Profile External RESTful Services API Calls
Profiler Profile API calls enable you to search profiles. Profiler profile is the profile the endpoint is classified as or statically assigned to. Profiler Profile is also called profiler policy. The profile Id is an attribute on the endpoint. Endpoints can be filtered by names.
Note
The examples shown in the following sections 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.
Table 6-22 External RESTful Services API Calls Available for Profiler Profile
Operation
|
Method
|
URL
|
Content
|
QueryString
|
Get All Profiles
|
GET
|
/ers/config/profilerprofile
|
—
|
Start
Size
sortacs or sortdsn
filter
|
Get Profile (Get by ID)
|
GET
|
/ers/config/profilerprofile/{id}
|
—
|
—
|
Create Profile
|
POST
|
ers/config/profilerprofile
|
—
|
—
|
Profiler Profile Schema
Request Content:
N/A
Get All Profiles API Call
You use the Get All Profiles API call to retrieve a list of Profiler profiles.
Table 6-23 Get All Profiles Characteristics
Characteristic
|
Description
|
Description
|
Retrieves a collection of profiler profiles
|
Synopsis
|
GET /ers/config/profilerprofile
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get All Profiles Sample Request
HTTP Status: 200 (OK)
Content:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"
xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
Get All Profiles Sample Response
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
</ns3:endpoint>
Method: POST
URI: https://10.56.13.196:9060/ers/config/endpoint
HTTP Content-Type header:
application/vnd.com.cisco.ise.identity.endpoint.1.0+xml; charset=utf-8
Note
The Profiler profile will not have the hyperlinks for the complete object as it is not supported in this release. And only name description and id will be presented.
Get Profile API Call
You use the Get Profile API call to retrieve a specific profiler profile.
Table 6-24 Get Profile Characteristics
Characteristic
|
Description
|
Description
|
Retrieves the specified profiler profile.
|
Synopsis
|
GET ers/config/profilerprofile/{id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get Profile Sample Request
Request Content:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:endpoint name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<groupId>groupId</groupId>
<identityStore>identityStore</identityStore>
Get Profile Sample Response
<identityStoreId>identityStoreId</identityStoreId>
<mac>00:01:02:03:04:05</mac>
<portalUser>portalUser</portalUser>
<profileId>profileId</profileId>
Create Profiler Profile API Call
You use the Create Profile API call to create a profiler profile.
Table 6-25 Create Profile Characteristics
Characteristic
|
Description
|
Description
|
Create a profiler profile
|
Synopsis
|
POST ers/config/profilerprofile
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
—
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Create Profile Sample Request
<staticGroupAssignment>true</staticGroupAssignment>
<staticProfileAssignment>false</staticProfileAssignment>
</ns3:endpoint>
HTTP Status: 201 (Created)
Content:
N/A
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
Create Profile Sample Response
<ns3:endpointgroup name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
<systemDefined>true</systemDefined>
</ns3:endpointgroup>
Identity Group External RESTful Services API Calls
External RESTful Services Identity Groups API calls enable you to search Identity Groups.
Note
The examples shown in the subsequent sections 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.
Table 6-26 External RESTful Services API Calls Available for Identity Groups
Operation
|
Method
|
URL
|
Content
|
QueryString
|
Get Identity Group (Get by ID)
|
GET
|
/ers/config/identitygroup/{id}
|
—
|
—
|
List Identity Groups
|
GET
|
/ers/config/identitygroup
|
—
|
page, size, sortacs or sortdsn, filter
|
Get IdentityGroup Resource Version Info
|
GET
|
/ers/config/identitygroup/version
|
—
|
—
|
Identity Group Schema
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:profilerprofile name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com"/>
Method: GET
URI: https://10.56.13.196:9060/ers/config/profilerprofile
Get All Identity Groups API Call
You use the Get All Identity Groups API call to retrieve identity groups by ID in Cisco ISE.
Table 6-27 Get All Identity Groups Characteristics
Characteristic
|
Description
|
Description
|
Retrieve identity group resources by ID.
|
Synopsis
|
GET /ers/config/identitygroup/{id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name, description)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
—
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get All Identity Groups Sample Request
URI: https://10.56.13.196:9060/ers/config/identitygroup/{id}
application/vnd.com.cisco.ise.identity.identitygroup.1.0+xml
Get All Identity Groups Sample Response
HTTP Accept header:
application/vnd.com.cisco.ise.identity.profilerprofile.1.0+xml
Request Content:
N/A
HTTP Status: 200 (OK)
Content:
Get Identity Group API Call
You use the Get Identity Group API call to retrieve a specific identity group in Cisco ISE.
Table 6-28 Get Identity Group Characteristics
Characteristic
|
Description
|
Description
|
Retrieves a specified identity group resource
|
Synopsis
|
GET /ers/config/identitygroup
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name, description)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get Identity Group Sample Request
URI: https://10.56.13.196:9060/ers/config/identitygroup/{id}
application/vnd.com.cisco.ise.identity.identitygroup.1.0+xml
Get Identity Group Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:identitygroup name="name" id="id" description="description"
xmlns:ns2="ers.ise.cisco.com" xmlns:ns3="identity.ers.ise.cisco.com">
External RESTful Services API Calls for Security Group Tags
Security Group Tags (SGT) API calls enable you to search SGTs. The internal user ID used in these API calls is the UUID type stored in the Cisco ISE database.
Note
The examples shown in the subsequent sections 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.
Table 6-29 External RESTful Services API Calls Available for SGTs
Operation
|
Method
|
URL
|
Content
|
QueryString
|
Get All SGTs
|
GET
|
/ers/config/sgt
|
—
|
page, size, sortacs or sortdsn, filter
|
Get SGT (Get by ID)
|
GET
|
/ers/config/sgt/{sgt-id}
|
—
|
—
|
Get All SGTs API Call
You use the Get All SGTs API call to retrieve a collection of SGT resources.
Table 6-30 Get All SGTs Characteristics
Characteristic
|
Description
|
Description
|
Retrieve a collection of SGT resources
|
Synopsis
|
GET /ers/config/sgt
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
start, size, sortbyacn, sortbydcn, filter (fields supported by filter: name)
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
SearchResult
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get All SGTs Sample Request
URI: https://10.56.13.196:9060/ers/config/sgt
application/vnd.com.cisco.ise.sga.sgt.1.0+xml
Get All SGTs Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns2:searchResult total="2" xmlns:ns2="ers.ise.cisco.com">
<nextPage type="application/xml" href="link-to-next-page" rel="next"/>
<previousPage type="application/xml" href="link-to-previous-page" rel="previous"/>
<resource name="name1" id="id1" description="description1"/>
<resource name="name2" id="id2" description="description2"/>
Get SGT API Call
You use the Get SGT API call to retrieve a specific SGT resource.
Table 6-31 Get SGT Characteristics
Characteristic
|
Description
|
Description
|
Retrieve the specified SGT
|
Synopsis
|
GET /ers/config/sgt/{sgt-id}
|
Request Headers
|
Accept, Authorization, Host
|
QueryString
|
—
|
Request Message Body
|
—
|
Response Headers
|
Content-Length, Content-Type
|
Response Message Body
|
Resource of type InternalUser
|
Response Status
|
200, 400, 401, 403, 404, 415, 500
|
Get SGT Sample Request
URI: https://10.56.13.196:9060/ers/config/sgt/{id}
application/vnd.com.cisco.ise.sga.sgt.1.0+xml
Get SGT Sample Response
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<ns3:sgt name="name" id="id" description="description" xmlns:ns2="ers.ise.cisco.com"
xmlns:ns3="sga.ers.ise.cisco.com">
<generationId>generationId</generationId>
<isTagFromRange>isTagFromRange</isTagFromRange>
Using a REST API Client
To build and test applications using the External RESTful Services API, you can use any industry-standard REST API client, such as the POSTMAN plugin for Google Chrome.
Designed according to REST architecture and principles, the POSTMAN Chrome plugin is an easy to use REST client. It allows you to save collections of requests and provides many features that are useful while working in a browser environment and have lightweight specific tasks. You can also use the POStMAN plugin for testing the External RESTful Services APIs.
POSTMAN enables you to send and retrieve standard HTTP and HTTPS requests and responses using the Google Chrome web browser. You can use the following standard HTTP methods to perform CRUD operations on Cisco ISE resources:
•
GET
•
POST
•
PUT
•
DELETE
The External RESTful Services API enables you to use these HTTP requests in various API calls, which in turn enable you to perform operations on Cisco ISE servers. For a comprehensive list of operations in which these HTTP requests are used, see External RESTful Services Calls.
Note
To download the POSTMAN plugin, go to https://chrome.google.com/webstore/detail/postman-rest-client/
fdmmgilgnpjigdojojpjoooidkmcomcm?hl=en. For more information on using the POSTMAN plugin, go to https://github.com/a85/POSTMan-Chrome-Extension/wiki.
Making an External RESTful Services API Call Using GET
The GET method requests a representation of the specified resource. Requests using GET only retrieve data and do not have any other effect.
You can perform a search operation by sending a GET request to a resource URI. By default, the result is the first page (page index = 0) with default size of 20. By adding a filter, Sort, and paging parameters to the URI, you can control the results of the search operation. The search returns the following result type:
SearchResult: MediaType[MediaType: [application/vnd.com.cisco.ise.ers.searchresult.1.0+xml]
The resulting resources are a collection of base resources that contain the name, id, description, and a link to the full representation of the resource.
Note
An External RESTful Services API call uses the GET HTTP method in addition to other components of the External RESTful Services API, which are not described in this section. For more details on various External RESTful Services API components, such as the characteristics, requests, and responses, see External RESTful Services Calls.
The request body of the External RESTful Services API call that uses the GET HTTPS method contains the following three building blocks:
•
URI
•
Accept Header
•
Authorization Header
URI
The GET method sends the Uniform Resource Identifier (URI) to the Cisco ISE server and the HTTP reply is the raw result data. A typical URI must adhere to the following format:
•
https://<Cisco ISE Server address:<port>/<namespace>/config/<Cisco ISE Resource Name>
Where <Cisco ISE Server Address> denotes the server address of the Cisco ISE server, <port> denotes port 9060, <namespace> denotes the namespace to which the Cisco ISE resource belongs to, and <Cisco ISE Resource Name> denotes the name of the Cisco ISE resource.
The following example shows a URI that requests data for the interaluser Cisco ISE resource:
•
https://10.56.13.196:9060/ers/config/internaluser.
Note
The URI is not the request body; it is just a URL. This URL is sent to the server using the GET method.
Accept Header
The Accept header must adhere to the following format:
•
application/vnd.com.cisco.ise.<resource-namespace>.<resource-type>.<major version>.<minor version>+xml
Where <resource-namespace> denotes the namespace to which the Cisco ISE resource belongs to, <resource-type> denotes the type of Cisco ISE resource, <major-version> denotes the major version number of the Cisco ISE deployment, and <minor-version> denotes the minor version number of the deployment.
The following example shows a typical Accept header:
•
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Authorization Header
The Authorization header contains the encryption authorization key that is embedded in the GET request. After specifying the authorization credentials, you must generate the encryption key, which is then embedded in the request body.
Note
For more information on generating an encryption key, see Making a GET Request Using POSTMAN.
Making a GET Request Using POSTMAN
Step 1
Open the POSTMAN plugin in the Google Chrome browser.
Step 2
Create a new collection using the options in the left pane.
Note
For more information on using the POSTMAN plugin, go to https://github.com/a85/POSTMan-Chrome-Extension/wiki.
Step 3
From the drop-down menu, choose GET.
Step 4
In the URL address bar, enter a URI.
The URI specifies the Cisco ISE server with which you are trying to communicate and the Cisco ISE resource that you are trying to access. For more information on the format of the URI, see URI.
Step 5
Click the Basic Auth tab.
The options that enable you to specify the user access credentials appear.
Step 6
Specify the access credentials in the Username and Password fields and click Refresh Headers.
POSTMAN displays an Authorization header with an encryption key.
Step 7
Add an Accept header by specifying the following value: application/vnd.com.cisco.ise.ers.<namespace>.<ise resource>.1.0+xml
Note
For more information on the Accept header, see Accept Header.
Step 8
Click Send.
The POSTMAN plugin displays a 200 OK status response indicating that the request is successful. The request also returns the details of the resources that you have specified in the URI.
Making an External RESTful Services API Call Using POST
The POST method requests that the server accept the entity enclosed in the request as a new subordinate of the web resource identified by the URI.
You can create a resource by sending a POST request to a resource URI. The request content holds XML representation of the resource, and must be well formatted according to the schema. The request header holds the encrypted authorization and the content-type that defines the resource content and its version.
Note
An External RESTful Services API call uses the POST HTTP method in addition to other components of the External RESTful Services API, which are not described in this section. For more details on various components, such as characteristics, requests, and responses, see External RESTful Services Calls.
The request body of the External RESTful Services API call that uses the POST HTTP method contains the following three building blocks:
•
URI
•
Content-Type Header
•
Authorization Header
URI
The POST method sends the Uniform Resource Identifier (URI) to the Cisco ISE server. A typical URI must adhere to the following format:
•
https://<Cisco ISE Server address:<port>/<namespace>/config/<Cisco ISE Resource Name>
Where <Cisco ISE Server Address> denotes the server address of the Cisco ISE server, <port> denotes port 9060, <namespace> denotes the namespace to which the Cisco ISE resource belongs to, and <Cisco ISE Resource Name> denotes the name of the Cisco ISE resource.
The following example shows a URI that requests data for the interaluser Cisco ISE resource:
•
https://10.56.13.196:9060/ers/config/internaluser.
Note
The URI is not the request body; it is just a URL. This URL is sent to the server using the POST method.
Content-Type Header
The Content-Type header must adhere to the following format:
•
application/vnd.com.cisco.ise.<resource-namespace>.<resource-type>.<major version>.<minor version>+xml
Where <resource-namespace> denotes the namespace to which the Cisco ISE resource belongs to, <resource-type> denotes the type of Cisco ISE resource, <major-version> denotes the major version number of the Cisco ISE deployment, and <minor-version> denotes the minor version number of the deployment.
The following example shows a typical Content-Type header:
•
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Authorization Header
The Authorization header contains the encryption authorization key that is embedded in the POST request. After specifying the authorization credentials, you must generate the encryption key, which is then embedded in the request body.
Note
For more information on generating an encryption key, see Making a POST Request Using POSTMAN.
Making a POST Request Using POSTMAN
Step 1
Open the POSTMAN plugin in the Google Chrome browser.
Step 2
Create a new collection using the options in the left pane.
Note
For more information on using the POSTMAN plugin, go to https://github.com/a85/POSTMan-Chrome-Extension/wiki.
Step 3
From the drop-down menu, choose POST.
Step 4
In the URL address bar, enter the URI.
The URI specifies the Cisco ISE server with which you are trying to communicate and the Cisco ISE resource that you are trying to access. For more information on the format of the URI, see URI.
Step 5
Click the Basic Auth tab.
The options that enable you to specify the user access credentials appear.
Step 6
Specify the access credentials in the Username and Password fields and click Refresh Headers.
POSTMAN displays an Authorization header with an encryption key.
Step 7
Add a Content-Type header by specifying the following value: application/vnd.com.cisco.ise.ers.<namespace>.<ise resource>.1.0+xml
Note
For more information on the Content-Type header, see Content-Type Header.
Step 8
From the drop-down menu that appears next to the raw button, choose XML.
Step 9
Click raw.
Step 10
The POSTMAN plugin opens an editing pane that enables you to specify the body of the POST request.
Step 11
Enter the message body of your POST request in the editing pane.
Note
The message body must contain the details corresponding to the Cisco ISE resource that you trying to create on the Cisco ISE server. For example, while creating an internal user, you must specify details such as the name and description of the internal user, password, and so on. For more details on the message body of the External RESTful Services API calls that use the POST request and the details of the Cisco ISE resources that you need to specify, see External RESTful Services Calls.
Step 12
Click Send.
The POSTMAN plugin displays a 201 CREATED status response indicating that the request is successful. You can log on to Cisco ISE to verify whether the resource you added appears in the GUI.
Making an External RESTful Services API Call Using PUT
The PUT method requests that the enclosed entity be stored under the supplied URI. If the URI refers to an already existing resource, it is modified; if the URI does not point to an existing resource, then the server can create the resource with that URI.
You can update a resource by sending a PUT request to a resource URI. The request content holds XML representation of the resource, and must be well formatted according the schema. The request header holds the encrypted authorization and the content-type that defines the resource content and its version.
Note
An External RESTful Services API call uses the PUT HTTP method in addition to other components of the External RESTful Services API, which are not described in this section. For more details on various components, such as characteristics, requests, and responses, see External RESTful Services Calls.
The request body of the External RESTful Services API call that uses the PUT HTTP method contains the following three building blocks:
•
URI
•
Content-Type Header
•
Authorization Header
URI
The PUT method sends the Uniform Resource Identifier (URI) to the Cisco ISE server. A typical URI must adhere to the following format:
•
https://<Cisco ISE Server address:<port>/<namespace>/config/<Cisco ISE Resource Name>
Where <Cisco ISE Server Address> denotes the server address of the Cisco ISE server, <port> denotes the port 9060, <namespace> denotes the namespace to which Cisco ISE resource belongs to, and <Cisco ISE Resource Name> denotes the name of the Cisco ISE resource.
The following example shows a URI that requests data for the interaluser Cisco ISE resource:
•
https://10.56.13.196:9060/ers/config/internaluser.
Note
The URI is not the request body; it is just a URL. This URL is sent to the server using the PUT method.
Content-Type Header
The Content-Type header must adhere to the following format:
•
application/vnd.com.cisco.ise.<resource-namespace>.<resource-type>.<major version>.<minor version>+xml
Where <resource-namespace> denotes the namespace to which the Cisco ISE resource belongs to, <resource-type> denotes the type of Cisco ISE resource, <major-version> denotes the major version number of the Cisco ISE deployment, and <minor-version> denotes the minor version number of the deployment.
The following example shows a typical Content-Type header:
•
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Authorization Header
The Authorization header contains the encryption authorization key that is embedded in the PUT request. After specifying the authorization credentials, you must generate the encryption key, which is then embedded in the request body.
Note
For more information on generating an encryption key, see Making a PUT Request Using POSTMAN.
Making a PUT Request Using POSTMAN
Step 1
Open the POSTMAN plugin in the Google Chrome browser.
Step 2
Create a new collection using the options in the left pane.
Note
For more information on using the POSTMAN plugin, go to https://github.com/a85/POSTMan-Chrome-Extension/wiki.
Step 3
From the drop-down menu, choose PUT.
Step 4
In the URL address bar, enter the URI.
The URI specifies the Cisco ISE server with which you are trying to communicate and the Cisco ISE resource that you are trying to access. For more information on the format of the URI, see URI.
Step 5
Click the Basic Auth tab.
The options that enable you to specify the user access credentials appear.
Step 6
Specify the access credentials in the Username and Password fields and click Refresh Headers.
POSTMAN displays an Authorization header with an encryption key.
Step 7
Add a Content-Type header by specifying the following value: application/vnd.com.cisco.ise.ers.<namespace>.<ise resource>.1.0+xml
Note
For more information on the Content-Type header, see Content-Type Header.
Step 8
From the drop-down menu that appears next to the raw button, choose XML.
Step 9
Click raw.
Step 10
The POSTMAN plugin opens an editing pane that enables you to specify the body of the POST request.
Step 11
Enter the message body of your POST request in the editing pane.
Note
The message body must contain the details corresponding to the Cisco ISE resource that you trying to update on the Cisco ISE server. For example, while updating an internal user, you must specify details such as the name and description of the internal user, password, and so on. For more details on the message body of the External RESTful Services API calls that use the PUT request and the details of the Cisco ISE resources that you need to specify, see External RESTful Services Calls.
Step 12
Click Send.
The POSTMAN plugin displays a 201 CREATED status response indicating that the request is successful. You can log on to Cisco ISE to verify whether the resource you added appears in the GUI.
Making an External RESTful Services API Call Using DELETE
The DELETE method deletes the specified resource.
You can delete a resource by sending a DELETE request to a resource URI. The request header holds the encrypted authorization and the content-type that defines the resource content and its version.
Note
An External RESTful Services API call uses the DELETE HTTP method in addition to other components of the External RESTful Services API, which are not described in this section. For more details on various components, such as characteristics, requests, and responses, see External RESTful Services Calls.
The request body of the External RESTful Services API call that uses the DELETE HTTP method contains the following three building blocks:
•
URI
•
Accept Header
•
Authorization Header
URI
The DELETE method sends the Uniform Resource Identifier (URI) to the Cisco ISE server. A typical URI must adhere to the following format:
•
https://<Cisco ISE Server address:<port>/<namespace>/config/<Cisco ISE Resource Name>
Where <Cisco ISE Server Address> denotes the server address of the Cisco ISE server, <port> denotes the port 9060, <namespace> denotes the namespace to which the Cisco ISE resource belongs to, and <Cisco ISE Resource Name> denotes the name of the Cisco ISE resource.
The following example shows a URI that requests data for the interaluser Cisco ISE resource:
•
https://10.56.13.196:9060/ers/config/internaluser.
Note
The URI is not the request body; it is just a URL. This URL is sent to the server using the GET method.
Accept Header
The Accept header must adhere to the following format:
•
application/vnd.com.cisco.ise.<resource-namespace>.<resource-type>.<major version>.<minor version>+xml
Where <resource-namespace> denotes the namespace to which the Cisco ISE resource belongs to, <resource-type> denotes the type of Cisco ISE resource, <major-version> denotes the major version number of the Cisco ISE deployment, and <minor-version> denotes the minor version number of the deployment.
The following example shows a typical accept header:
•
application/vnd.com.cisco.ise.identity.internaluser.1.0+xml
Authorization Header
The Authorization header contains the encryption authorization key that is embedded in the DELETE request. After specifying the authorization credentials, you must generate the encryption key, which is then embedded in the request body.
Note
For more information on generating an encryption key, see Making a DELETE Request Using POSTMAN.
Making a DELETE Request Using POSTMAN
Step 1
Open the POSTMAN plugin in the Google Chrome browser.
Step 2
Create a new collection using the options in the left pane.
Note
For more information on using the POSTMAN plugin, go to https://github.com/a85/POSTMan-Chrome-Extension/wiki.
Step 3
From the drop-down menu, choose DELETE.
Step 4
In the URL address bar, enter the URI.
The URI specifies the Cisco ISE server with which you are trying to communicate and the Cisco ISE resource that you are trying to access. For more information on the format of the URI, see URI.
Step 5
Click the Basic Auth tab.
The options that enable you to specify the user access credentials appear.
Step 6
Specify the access credentials in the Username and Password fields and click Refresh Headers.
POSTMAN displays an Authorization header with an encryption key.
Step 7
Add an accept header by specifying the following value: application/vnd.com.cisco.ise.ers.<namespace>.<ise resource>.1.0+xml
Note
For more information on the Accept Header, see Accept Header.
Step 8
Click Send.
The POSTMAN plugin displays a 200 OK status response indicating that the request is successful. You can log on to Cisco ISE to verify whether the resource you added appears in the GUI.
Java External RESTful Services Demo Application
The External RESTful Services Java Demo application is a simple External RESTful Services client code that uses the External RESTful Services API calls to configure internal users and endpoints. The main Cisco ISE dependency for this Java client code is the ers-schema.jar file. The Java Demo application consists of a generic HTTP client that is based on the Apache DefaultHttpClient and two main classes. These classes execute REST calls in a sequential order.
The source code and the required libraries are available for your reference in the demo application zip file. You can download the Java External RESTful Services Demo application and the ers-schema.jar file from the External RESTful Services Online SDK.
Related Topics
•
Downloading the Java External RESTful Services Demo Application
Downloading the Java External RESTful Services Demo Application
Step 1
Enter the External RESTful Services SDK URL in the address bar of your browser. For example, https://<ise hostname or ip address>:9060/ers/sdk, where <ise hostname or ip address> denotes the ip address of the Cisco ISE host.
Step 2
Enter the username and case-sensitive password that was specified and configured during the initial Cisco ISE setup.
Step 3
Click Login or press Enter.
Step 4
From the Navigation pane of the External RESTful Services Online SDK page, choose Developer Resources > Downloads.
Step 5
Click Schema Jar (ers-schema-1.2.0-896.jar).
The ers-schema-1.0-892.jar file is downloaded to your local machine.
Step 6
Click Java ERS Demo Application.
The ers-demo-app.zip file is downloaded to your local machine.
After you Finish
Note
Refer to the readme.txt file that is available in the demo application zip file (ers-demo-app.zip) for all the information that is required to use the Java External RESTful Services demo application.