openapi: 3.2.0 info: title: ISE ERS Endpoint API version: 3.1.0 x-provenance: method: harvested authored_by: Cisco harvested_by: API Evangelist harvested_on: '2026-08-19' first_party: true provider_published: true source_host: pubhub.devnetcloud.com note: 103 ISE API descriptions (1,490 operations; 32 OpenAPI 3.0.x + 71 Swagger 2.0) enumerated from Cisco's own DevNet project manifest and fetched anonymously. Byte-identity reconfirmed 2026-08-19 by SHA-256 against the live source. x-evidence: - type: source url: https://pubhub.devnetcloud.com/media/identity-services-engine-api-v1/docs/ - type: source url: https://developer.cisco.com/docs/identity-services-engine/ servers: - url: https://{server}:{port}/ers/config description: Append /ctsapi/v2 or /ctsapi/v3 to above URL while accessing CTS APIs variables: server: description: The host where the API is rooted default: localhost port: description: The port no for CTS APIs is 9063 and for other APIs it is 443 default: '443' security: - HTTPBasicAuthentication: [] tags: - name: endpoint paths: /endpoint/: get: tags: - endpoint summary: Get-All parameters: - name: filter in: query description: Filter Supported Fields:[logicalProfileName, portalUser, staticProfileAssignment, profileId, profile, groupId, staticGroupAssignment, mac] required: false allowReserved: true schema: type: string example: toDate.CONTAINS.SEP - $ref: '#/components/parameters/ppage' - $ref: '#/components/parameters/psize' - name: sortdsc in: query description: Sorting Supported Fields:[name, description] required: false allowReserved: true schema: example: null enum: - name - description - name: sortasc in: query description: Sorting Supported Fields:[name, description] required: false allowReserved: true schema: example: null enum: - name - description responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/endpointListResponse' application/xml: schema: $ref: '#/components/schemas/endpointListResponse' text/html: schema: type: string example: null '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null post: tags: - endpoint summary: Create parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/identity.endpoint' example: ERSEndPoint: mdmAttributes: mdmReachable: true mdmManufacturer: Apple Inc. mdmComplianceStatus: false mdmPinlock: false mdmJailBroken: false mdmServerName: MdmServerName mdmSerial: '10000000001' mdmEncrypted: false mdmPhoneNumber: Phone Number mdmIMEI: IMEI mdmEnrolled: false mdmModel: iPad mdmOS: iOS staticProfileAssignment: false groupId: groupId description: description staticGroupAssignment: true staticProfileAssignmentDefined: true mac: 00:01:02:03:04:05 portalUser: portalUser profileId: profileId name: name id: dceff5c6-d4f2-48b7-92ae-87adcdd2777b staticGroupAssignmentDefined: true identityStore: identityStore identityStoreId: identityStoreId customAttributes: customAttributes: key1: value1 key2: value2 required: true responses: '201': description: Created '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '500': description: Internal Server Error /endpoint/{id}/deregister: put: tags: - endpoint summary: DeRegister parameters: - name: id in: path required: true schema: title: id type: string example: null responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null /endpoint/{id}/releaserejectedendpoint: put: tags: - endpoint summary: ReleaseRejectedEndpoint parameters: - name: id in: path required: true schema: title: id type: string example: null responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null /endpoint/getrejectedendpoints: get: tags: - endpoint summary: GetRejectedEndpoints parameters: - name: filter in: query description: Filter Supported Fields:[logicalProfileName, portalUser, staticProfileAssignment, profileId, profile, groupId, staticGroupAssignment, mac] required: false allowReserved: true schema: type: string example: toDate.CONTAINS.SEP - $ref: '#/components/parameters/ppage' - $ref: '#/components/parameters/psize' - name: sortdsc in: query description: Sorting Supported Fields:[name, description] required: false allowReserved: true schema: example: null enum: - name - description - name: sortasc in: query description: Sorting Supported Fields:[name, description] required: false allowReserved: true schema: example: null enum: - name - description responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/OperationResultEntity' application/xml: schema: $ref: '#/components/schemas/OperationResultEntity' text/html: schema: type: string example: null '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null /endpoint/name/{name}: get: tags: - endpoint summary: Get-By-Name parameters: - name: name in: path required: true schema: title: name type: string example: null responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/endpointResponse' application/xml: schema: $ref: '#/components/schemas/endpointResponse' text/html: schema: type: string example: null '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null /endpoint/{id}: get: tags: - endpoint summary: Get-By-Id parameters: - name: id in: path required: true schema: title: id type: string example: null responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/endpointResponse' application/xml: schema: $ref: '#/components/schemas/endpointResponse' text/html: schema: type: string example: null '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null put: tags: - endpoint summary: Update parameters: - name: id in: path required: true schema: title: id type: string example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/identity.endpoint' example: ERSEndPoint: mdmAttributes: mdmReachable: true mdmManufacturer: Apple Inc. mdmComplianceStatus: false mdmPinlock: false mdmJailBroken: false mdmServerName: MdmServerName mdmSerial: '10000000001' mdmEncrypted: false mdmPhoneNumber: Phone Number mdmIMEI: IMEI mdmEnrolled: false mdmModel: iPad mdmOS: iOS staticProfileAssignment: false groupId: groupId description: description staticGroupAssignment: true staticProfileAssignmentDefined: true mac: 00:01:02:03:04:05 portalUser: portalUser profileId: profileId name: name id: dceff5c6-d4f2-48b7-92ae-87adcdd2777b staticGroupAssignmentDefined: true identityStore: identityStore identityStoreId: identityStoreId customAttributes: customAttributes: key1: value1 key2: value2 required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/UpdatedFieldsResponse' application/xml: schema: $ref: '#/components/schemas/UpdatedFieldsResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '500': description: Internal Server Error response content: application/json: schema: $ref: '#/components/schemas/ERSResponse' delete: tags: - endpoint summary: Delete parameters: - name: id in: path required: true schema: title: id type: string example: null responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null patch: tags: - endpoint summary: Patch description: Update any attribute subset. Only attributes that sent will be affected. parameters: - name: id in: path required: true schema: title: id type: string example: null requestBody: content: application/json: schema: $ref: '#/components/schemas/identity.endpoint' example: ERSEndPoint: mdmAttributes: mdmReachable: true mdmManufacturer: Apple Inc. mdmComplianceStatus: false mdmPinlock: false mdmJailBroken: false mdmServerName: MdmServerName mdmSerial: '10000000001' mdmEncrypted: false mdmPhoneNumber: Phone Number mdmIMEI: IMEI mdmEnrolled: false mdmModel: iPad mdmOS: iOS staticProfileAssignment: false groupId: groupId description: description staticGroupAssignment: true staticProfileAssignmentDefined: true mac: 00:01:02:03:04:05 portalUser: portalUser profileId: profileId name: name id: dceff5c6-d4f2-48b7-92ae-87adcdd2777b staticGroupAssignmentDefined: true identityStore: identityStore identityStoreId: identityStoreId customAttributes: customAttributes: key1: value1 key2: value2 required: true responses: '200': description: Successful response content: application/json: schema: $ref: '#/components/schemas/endpointResponse' '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '500': description: Internal Server Error response content: application/json: schema: $ref: '#/components/schemas/ERSResponse' /endpoint/register: put: tags: - endpoint summary: Register parameters: [] requestBody: content: application/json: schema: $ref: '#/components/schemas/identity.endpoint' example: ERSEndPoint: mdmAttributes: mdmReachable: true mdmManufacturer: Apple Inc. mdmComplianceStatus: false mdmPinlock: false mdmJailBroken: false mdmServerName: MdmServerName mdmSerial: '10000000001' mdmEncrypted: false mdmPhoneNumber: Phone Number mdmIMEI: IMEI mdmEnrolled: false mdmModel: iPad mdmOS: iOS staticProfileAssignment: false groupId: groupId description: description staticGroupAssignment: true staticProfileAssignmentDefined: true mac: 00:01:02:03:04:05 portalUser: portalUser profileId: profileId name: name id: dceff5c6-d4f2-48b7-92ae-87adcdd2777b staticGroupAssignmentDefined: true identityStore: identityStore identityStoreId: identityStoreId customAttributes: customAttributes: key1: value1 key2: value2 required: true responses: '204': description: No Content '400': description: Bad Request content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '401': description: Unauthorized '403': description: Forbidden '404': description: Not Found content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '406': description: Not Acceptable '415': description: UnSupported Media Type content: application/json: schema: $ref: '#/components/schemas/ERSResponse' application/xml: schema: $ref: '#/components/schemas/ERSResponse' text/html: schema: type: string example: null '500': description: Internal Server Error response content: application/json: schema: $ref: '#/components/schemas/ERSResponse' components: schemas: Link: type: object properties: rel: type: string example: self enum: - next - previous - self - status href: type: string example: https://{server}:{port}/ers/config type: type: string example: application/json example: null endpointResponse: type: object properties: ERSEndPoint: $ref: '#/components/schemas/endpointResponseEntity' example: ERSEndPoint: mdmAttributes: mdmReachable: true mdmManufacturer: Apple Inc. mdmComplianceStatus: false mdmPinlock: false mdmJailBroken: false mdmServerName: MdmServerName mdmSerial: '10000000001' mdmEncrypted: false mdmPhoneNumber: Phone Number mdmIMEI: IMEI mdmEnrolled: false mdmModel: iPad mdmOS: iOS staticProfileAssignment: false groupId: groupId description: description staticGroupAssignment: true staticProfileAssignmentDefined: true mac: 00:01:02:03:04:05 portalUser: portalUser profileId: profileId name: name id: dceff5c6-d4f2-48b7-92ae-87adcdd2777b staticGroupAssignmentDefined: true identityStore: identityStore identityStoreId: identityStoreId customAttributes: customAttributes: key1: value1 key2: value2 endpointResponseEntity: properties: customAttributes: title: customAttributes type: object description: Key value map example: null groupId: title: groupId type: string description: '' example: null identityStore: title: identityStore type: string description: This field is for read only example: null identityStoreId: title: identityStoreId type: string description: This field is for read only example: null mac: title: mac type: string description: '' example: null portalUser: title: portalUser type: string description: '' example: null profileId: title: profileId type: string description: '' example: null staticGroupAssignment: title: staticGroupAssignment type: boolean description: '' example: null staticGroupAssignmentDefined: title: staticGroupAssignmentDefined type: boolean description: '' example: null staticProfileAssignment: title: staticProfileAssignment type: boolean description: '' example: null staticProfileAssignmentDefined: title: staticProfileAssignmentDefined type: boolean description: '' example: null mdmAttributes: title: mdmAttributes type: object description: MDM Attributes example: null name: title: name type: string description: name example: null id: title: id type: string description: Id example: null description: title: description type: string description: Description example: null link: $ref: '#/components/schemas/Link' example: null updatedField: properties: field: type: string example: null oldValue: type: string example: null newValue: type: string example: null example: null OperationResultEntity: properties: OperationResult: properties: resultValue: type: array example: null items: properties: Value: type: integer example: null name: type: string example: null example: null example: null example: null endpointListResponseEntity: properties: id: title: id type: string description: Id description example: null name: title: name type: string description: name description example: null description: title: description type: string description: description example: null link: $ref: '#/components/schemas/Link' example: null identity.endpoint: required: - ERSEndPoint type: object properties: ERSEndPoint: $ref: '#/components/schemas/ERSEndPoint' example: null ERSEndPoint: required: - groupId - mac - name - staticGroupAssignment - staticProfileAssignment properties: customAttributes: title: customAttributes type: object description: Key value map example: null groupId: title: groupId type: string description: '' example: null identityStore: title: identityStore type: string description: This field is for read only example: null identityStoreId: title: identityStoreId type: string description: This field is for read only example: null mac: title: mac type: string description: '' example: null portalUser: title: portalUser type: string description: '' example: null profileId: title: profileId type: string description: '' example: null staticGroupAssignment: title: staticGroupAssignment type: boolean description: '' example: null staticGroupAssignmentDefined: title: staticGroupAssignmentDefined type: boolean description: '' example: null staticProfileAssignment: title: staticProfileAssignment type: boolean description: '' example: null staticProfileAssignmentDefined: title: staticProfileAssignmentDefined type: boolean description: '' example: null mdmAttributes: title: mdmAttributes type: object description: MDM Attributes example: null name: title: name type: string description: name example: null id: title: id type: string description: Id example: null description: title: description type: string description: Description example: null example: ERSEndPoint: mdmAttributes: mdmReachable: true mdmManufacturer: Apple Inc. mdmComplianceStatus: false mdmPinlock: false mdmJailBroken: false mdmServerName: MdmServerName mdmSerial: '10000000001' mdmEncrypted: false mdmPhoneNumber: Phone Number mdmIMEI: IMEI mdmEnrolled: false mdmModel: iPad mdmOS: iOS staticProfileAssignment: false groupId: groupId description: description staticGroupAssignment: true staticProfileAssignmentDefined: true mac: 00:01:02:03:04:05 portalUser: portalUser profileId: profileId name: name id: dceff5c6-d4f2-48b7-92ae-87adcdd2777b staticGroupAssignmentDefined: true identityStore: identityStore identityStoreId: identityStoreId customAttributes: customAttributes: key1: value1 key2: value2 ERSResponse: type: object properties: operation: type: string example: Operation messages: type: array example: null items: properties: title: type: string example: title type: type: string example: type code: type: string example: code example: null example: null endpointListResponse: type: object properties: SearchResult: type: object properties: total: type: integer example: '2' resources: type: array example: null items: $ref: '#/components/schemas/endpointListResponseEntity' example: null example: SearchResult: total: 2 previousPage: rel: previous href: link-to-previous-page type: application/xml nextPage: rel: next href: link-to-next-page type: application/xml resources: - name: name1 link: rel: self href: type: application/xml description: description1 id: id1 - name: name2 link: rel: self href: type: application/xml description: description2 id: id2 UpdatedFieldsResponse: type: object properties: UpdatedFieldsList: type: object properties: updatedField: type: array example: null items: $ref: '#/components/schemas/updatedField' example: null example: null parameters: ppage: name: page in: query description: Page Number (0...N) allowReserved: true schema: type: integer example: null example: '1' psize: name: size in: query description: Items by Page allowReserved: true schema: type: integer example: null example: '20' securitySchemes: HTTPBasicAuthentication: type: http scheme: basic