# Get Client Applications # Overview Use this APi to get details of all Client applications. ## Scope Client application must have 'app.conversation.conversationmgr.manage' or 'app.conversation.conversationmgr.read' scope assigned. Endpoint: GET /clientapplications Security: oAuthClient ## Response 200 fields (application/json): - `paginationInfo` (object) - `paginationInfo.count` (integer) Total number of records that match criteria of API call - `paginationInfo.pagenum` (integer) Page number - `paginationInfo.pagesize` (integer) Number of results per page - `clientApplication` (array) - `clientApplication.id` (string) - `clientApplication.created` (string) Last modified time in GMT - `clientApplication.modified` (string) Last modified time in GMT - `clientApplication.name` (string, required) Unique name for client application - `clientApplication.description` (string) - `clientApplication.active` (boolean) - `clientApplication.roles` (array, required) - `clientApplication.roles.name` (string, required) Client aplication type Enum: "customer", "custom_bot", "egain_bot", "egain_agent", "custom_agent", "business_notification" - `clientApplication.roles.version` (string, required) Conversation Hub will send payload which is specific to this version. Enum: "v1", "v3" - `clientApplication.roles.callback` (string, required) Callback API to recieve messages from Conversation Hub sent by various participants in conversation. Callback APIs needs to respond within 5 seconds. We strongly recommend to process message asynchronously. API must return 401 if Authorization header is expired, Conversation Hub will generate new Authorization header on 401. Example: "https://example.support.com/messaging/callback/customer" - `clientApplication.roles.notificationEmail` (string, required) If client application callback is not reachable, Conversation Hub sends a notification to this email address Example: "admin@example.com" - `clientApplication.roles.headers` (array) Custom headers for callback, Conversation Hub will include these while sending message to callback - `clientApplication.roles.headers.name` (string, required) name of attribute - `clientApplication.roles.headers.value` (string, required) value of attribute - `clientApplication.roles.authentication` (object) Authentication for callback API. - `clientApplication.roles.authentication.id` (string, required) UUID generated for client application Example: "a987d07a-d59c-11ea-87d0-0242ac13000." ## Response 400 fields (application/json): - `code` (string, required) String that follow the pattern {integer}-{integer}. * The first part is http status code. The code is unique as a whole. Nothing common between 400-101 and 404-101 - `developerMessage` (string, required) Response explaining what happened - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly message only supported by some API. * Client must request explicitly by passing X-egain-error-message=yes header ## Response 401 fields (application/json): - `code` (string, required) String that follow the pattern {integer}-{integer}. * The first part is http status code. The code is unique as a whole. Nothing common between 400-101 and 404-101 - `developerMessage` (string, required) Response explaining what happened - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly message only supported by some API. * Client must request explicitly by passing X-egain-error-message=yes header ## Response 403 fields (application/json): - `code` (string, required) String that follow the pattern {integer}-{integer}. * The first part is http status code. The code is unique as a whole. Nothing common between 400-101 and 404-101 - `developerMessage` (string, required) Response explaining what happened - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly message only supported by some API. * Client must request explicitly by passing X-egain-error-message=yes header ## Response 404 fields (application/json): - `code` (string, required) String that follow the pattern {integer}-{integer}. * The first part is http status code. The code is unique as a whole. Nothing common between 400-101 and 404-101 - `developerMessage` (string, required) Response explaining what happened - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly message only supported by some API. * Client must request explicitly by passing X-egain-error-message=yes header ## Response 500 fields (application/json): - `code` (string, required) String that follow the pattern {integer}-{integer}. * The first part is http status code. The code is unique as a whole. Nothing common between 400-101 and 404-101 - `developerMessage` (string, required) Response explaining what happened - `details` (array) - `details.key` (string, required) - `details.value` (string) - `userMessage` (string) UI friendly message only supported by some API. * Client must request explicitly by passing X-egain-error-message=yes header