The following actions are supported:
POST
/idv/driver/consumer
https://<hostname>:<port>/idv/driver/consumer
Adds a consumer.
A consumer represents a view in the application. For example, Identity Governance. You can add multiple consumers for the same set of object classes or attributes. The driver filter is constructed from the classes or attributes registered for each consumer. Direct update to the filter is not available.
To eliminate the need for issuing multiple REST calls for flushing events and restarting the driver, specify the following parameters in the request payload:
purgeParam: Purges the cached events of all or specific consumers.
restartParam: Restarts the driver automatically after the duration specified for the parameter. This is a mandatory parameter because the changes will not be applied to the consumer until the driver is restarted.
POST https://192.168.0.1:7708/idv/driver/consumer Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs Content-Type: application/json { "consumer": { "consumerName": "Acme", "filter": [{ "className": "inetorgperson", "attributes": [ "cn", "sn", "givenname" ] }] } }
200 OK Content-Type: application/json Date: Wed, 10 Oct 2018 08:26:44 GMT Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "consumerName": "Acme", "consumerId": "2119f87e-899a-4e91-97e0-c7c4e28daf09", "filter": [{ "className": "inetorgperson", "attributes": ["cn", "sn", "givenname"] }] }
POST https://192.168.0.1:7708/idv/driver/consumer Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs Content-Type: application/json { "consumer":{ "consumerName":"LooneyCorporation", "filter":[ { "className":"inetorgperson", "attributes":[ "cn", "fullName", "title" ] } ] }, "restartParam":{ "initialDelay":5000 }, "purgeParam":{"purgeConsumers":["2119f87e-899a-4e91-97e0-c7c4e28daf09"] } }
NOTE:
The purgeConsumers parameter accepts the set of consumer IDs for which all the cached events are purged. To purge all cached events for all consumers, specify the purgeParam parameter in the request payload in the following syntax:
"purgeParam":{ "purgeAll":true}
The restartParam parameter uses the value of initialDelay in milliseconds after that the driver is restarted.
200 OK Content-Type: application/json Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "consumerName": "LooneyCorporation", "consumerId": "6c0f26da-c83e-4c1f-a90d-7f8de2ff3129", "filter": [ { "className": "inetorgperson", "attributes": [ "cn", "fullName", "title" ] } ] }
Yes
200 - OK
204 - No response, OK
400 - Bad Request, ERROR
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
GET
/idv/driver/consumer
https://<hostname>:<port>/idv/driver/consumer
Obtains the details of registered consumers.
GET https://192.168.0.1:7708/idv/driver/consumer
Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
200 OK Content-Type: application/json Date: Wed, 10 Oct 2018 08:30:17 GMT Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "consumers": [{ "consumerName": "Acme", "consumerId": "2119f87e-899a-4e91-97e0-c7c4e28daf09", "filter": [{ "className": "inetorgperson", "attributes": ["cn", "sn", "givenname"] }] }, { "consumerName": "LooneyCorporation", "consumerId": "6c0f26da-c83e-4c1f-a90d-7f8de2ff3129", "filter": [{ "className": "inetorgperson", "attributes": ["cn", "fullName", "title"] }] }] }
Yes
200 - OK
204 - No response, OK
400 - Bad Request, ERROR
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
GET
/idv/driver/consumer/{consumerId}
https://<hostname>:<port>/idv/driver/consumer/{consumerId}
Obtains the details of a consumer.
GET https://192.168.0.1:7708/idv/driver/consumer/2119f87e-899a-4e91-97e0-c7c4e28daf09 Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
200 OK Content-Type: application/json Date: Wed, 10 Oct 2018 08:30:57 GMT Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "consumerName": "Acme", "consumerId": "2119f87e-899a-4e91-97e0-c7c4e28daf09", "filter": [{ "className": "inetorgperson", "attributes": ["cn", "sn", "givenname"] }] }
Yes
200 - OK
204 - No response, OK
400 - Bad Request, ERROR
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
PUT
/idv/driver/consumer
https://<hostname>:<port>/idv/driver/consumer
Updates a consumer.
To eliminate the need for issuing multiple REST calls for flushing events and restarting the driver, specify the following parameters in the request payload:
purgeParam: Purges the cached events of all or specific consumers.
restartParam: Restarts the driver automatically after the duration specified for the parameter. This is a mandatory parameter because the changes will not be applied to the consumers until the driver is restarted.
PUT https://192.168.0.1:7708/idv/driver/consumer Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs Content-Type: application/json { "consumer":{ "consumerName":"Acme", "filter":[ {"className":"inetorgperson", "attributes":["givenname"] } ] }, "restartParam":{ "initialDelay":5000 }, "purgeParam":{"purgeConsumers":["2119f87e-899a-4e91-97e0-c7c4e28daf09”] } }
200 OK Content-Type: application/json Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "consumerName": "Acme", "consumerId": "2119f87e-899a-4e91-97e0-c7c4e28daf09", "filter": [ { "className": "inetorgperson", "attributes": ["givenname"] } ] }
Yes
200 - OK
204 - No response, OK
400 - Bad Request, ERROR
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
DELETE
/idv/driver/consumer/{consumerId}
https://<hostname>:<port>/idv/driver/consumer/{consumerId}
Deletes a consumer.
DELETE https://192.168.0.1:7708/idv/driver/consumer/2119f87e-899a-4e91-97e0-c7c4e28daf09 Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
204 No Content Content-Type: application/json Date: Wed, 10 Oct 2018 08:54:11 GMT Server: Jetty(9.4.z-SNAPSHOT)
Yes
200 - OK
204 - No response, OK
400 - Bad Request, ERROR
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
GET
/idv/events/{consumerId}
pageSize
Default: 25
Min: 1
Max: 500
https://<hostname>:<port>/idv/events/{consumerId}
Obtains a page of cached events for the specified consumer. If you are registering a consumer, it returns a consumerId for the consumer.
GET https://192.168.0.1:7708/idv/events/6c0f26da-c83e-4c1f-a90d-7f8de2ff3129 Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
200 OK Content-Type: application/json Date: Thu, 11 Oct 2018 08:11:22 GMT Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "events": [{ "eventType": "modify", "objectClass": "inetorgperson", "srcDn": "CN=ab4,OU=engg,OU=users,O=data", "association": "uv8QJqFRUkSxObr\/ECahUQ==", "attributes": { "cn": { "removeAllValues": true, "addValue": ["ab4"] }, "fullName": { "removeAllValues": true, "addValue": ["ab4 ab4"] }, "title": { "removeAllValues": true } } }, { "eventType": "move", "objectClass": "inetorgperson", "srcDn": "CN=ab4,OU=engg,OU=users,O=data", "cachedTime": "20171012042831.471Z", "oldSrcDn": "CN=ab4,OU=users,O=data", "association": "uv8QJqFRUkSxObr\/ECahUQ==", "parent": { "srcDn": "OU=engg,OU=users,O=data" } }], "size": 2, "hasMore": false, "pageId": "a763bf7d-6b3b-4f5f-8881-ecad91483f50" }
In Manual flush mode, the cached events are cleaned up by the Flush API. The API returns an empty response in absence of change events.
Yes
200 - OK
204 - No response, OK
400 - Bad Request, ERROR
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
DELETE
/idv/events
https://<hostname>:<port>/idv/events
Deletes all cached events.
DELETE http://192.168.0.1:7708/idv/events Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
204 No Content Content-Type: application/json Date: Wed, 12 Sep 2018 08:55:50 GMT Server: Jetty(9.4.z-SNAPSHOT)
Yes
204 - No response, OK
401 - Authentication Failure, ERROR
500 - Driver Error, ERROR
DELETE
/idv/events/{consumerId}
https://<hostname>:<port>/idv/events/{consumerId}
Deletes all cached events for a consumer.
DELETE http://192.168.0.1:7708/idv/events/6c0f26dac83e-4c1f-a90d-7f8de2ff3129 Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
204 No Content Content-Type: application/json Date: Wed, 10 Oct 2018 09:28:12 GMT Server: Jetty(9.4.z-SNAPSHOT)
Yes
204 - No response, OK
401 - Authentication Failure, ERROR
500 - Driver Error, ERROR
DELETE
/idv/events/{consumerId}/{pageId}
https://<hostname>:<port>/idv/events/{consumerId}/{pageId}
Deletes a cached event page for a consumer.
DELETE http://192.168.0.1:7708/idv/events/6c0f26dac83e-4c1f-a90d-7f8de2ff3129/bf4dcbf8-31a8-4701-a9e4-4fc2ad7d40d4 Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
204 No Content Content-Type: application/json Date: Wed, 12 Sep 2018 08:54:39 GMT Server: Jetty(9.4.z-SNAPSHOT)
Yes
204 - No response, OK
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
GET
/idv/driver/filter
https://<hostname>:<port>/idv/driver/filter
Obtains details of the driver filter.
GET http://192.168.0.1:7708/idv/driver/filter Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
{ "objectClasses": { "className": "inetorgperson", "attributes": [ "cn","fullName","title" ] } }
Yes
200 - OK
204 - No response, OK
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
GET
/idv/driver/filter/{objectclass}
https://<hostname>:<port>/idv/driver/filter/{objectclass}
Obtains details of attribute filter of an object class.
GET http://192.168.0.1:7708/idv/driver/filter/inetorgperson Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs
{ "className": "inetorgperson", "attributes": [ "cn","fullName","title" ] }
Yes
200 - OK
204 - No response, OK
401 - Authentication Failure, ERROR
404 - Not Found, ERROR
500 - Driver Error, ERROR
PUT
/idv/driver/restart
https://<hostname>:<port>/idv/driver/restart
Restarts the driver.
PUT http://192.168.0.1:7708/idv/driver/restart Authorization: Basic Y249YWRtaW4sb3U9c2Esbz1zeXN0ZW06bm92ZWxs Content-Type: application/json { "initialDelay":10000 }
200 OK Content-Type: application/json Date: Mon, 10 Sep 2018 08:22:54 GMT Server: Jetty(9.4.z-SNAPSHOT) Transfer-Encoding: chunked { "submitted": true }
Yes
200 - OK
401 - Authentication Failure, ERROR
500 - Driver Error, ERROR