# Get Accounts

# Overview
This APIs allows you to get details of all accounts
## Scope
Client application must have 'app.conversation.conversationmgr.manage' or 'app.conversation.conversationmgr.read' scope assigned.

Endpoint: GET /accounts
Security: oAuthClient

## Description:

  - `Overview` ()
    This APIs allows you to get details of all accounts

  - `Scope` ()
    Client application must have 'app.conversation.conversationmgr.manage' or 'app.conversation.conversationmgr.read' scope assigned.

## Security:

  - `oAuthClient` (unknown)
    oauth2 scopes: https://api-qe1.ezdev.net/auth/.default

## Response 200:

  - `200` (unknown)
    OK

## 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

  - `account` (array)

  - `account.id` (string)

  - `account.created` (string)
    Last modified time in GMT

  - `account.modified` (string)
    Last modified time in GMT

  - `account.name` (string, required)
    Unique name for account

  - `account.description` (string)

  - `account.active` (boolean)

  - `account.address` (string, required)
    Account ID like email address, phone numbers.

  - `account.channel` (object, required)

  - `account.channel.id` (string)
    UUID generated for account
    Example: c987d07a-d59c-11ea-87d0-0242ac130200

  - `account.caseManagement` (object)

  - `account.caseManagement.sameCaseDuration` (number)
    If same customer returns before this duration ends, then chat activity will be linked with same case.

  - `account.caseManagement.copyCustomAttributes` (boolean)
    If bypass VA feature is enabled in orchestration object and if set to true, then custom attributes from previous conversation will be copied for this conversation as well.

  - `account.chatConfigurations` (object, required)

  - `account.chatConfigurations.timeout` (number)
    Timeout for conversation created for this account. Time is calculated from last message in conversation.
Client applications should start new conversation after timeout.

  - `account.chatConfigurations.defaultLanguage` (string)
    Default language
    Example: en-US

  - `account.chatConfigurations.onAgentUnavailability` (string)
    This attribute indicates action on agent unavailability, in case of 'off_hours' if agent is not available then 'off hours' message is sent back. In case of 'retain_and_retry' message is held on Conversation Hub until agent is online
    Enum: "off_hours", "retain_and_retry"

  - `account.chatConfigurations.allowLogoutWithOpenChats` (boolean)
    Allow agents to logout with open messages in their inbox.

  - `account.chatConfigurations.allowQueueTransferOnAgentUnavailability` (boolean)
    Allow agents to transfer messages back to queue when no agents are available.

  - `account.chatConfigurations.orchestration` (object, required)

  - `account.chatConfigurations.orchestration.id` (string)
    UUID generated for orchestration object, which will be used for orchestration of conversations for this account
    Example: c987d07a-d59c-11ea-87d0-0242ac13000d

  - `account.chatConfigurations.entryPoint` (object, required)

  - `account.chatConfigurations.entryPoint.id` (string, required)
    Unique id of entrypoint in client application

  - `account.attributes` (array)

  - `account.attributes.name` (string, required)
    name of attribute

  - `account.attributes.value` (string, required)
    value of attribute

## Response 400:

  - `400` (unknown)
    Bad Request

## 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:

  - `401` (unknown)
    Unauthorized

## 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:

  - `403` (unknown)
    Forbidden

## 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 500:

  - `500` (unknown)
    Internal server error

## 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

## Response 400 examples:

  - `Unsupported Parameters` (unknown)

  - `Invalid Value` (unknown)

  - `Missing required query parameter` (unknown)

## Response 401 examples:

  - `Invalid Authorization` (unknown)
    Invalid on expired Authorization. Generate new Authorization header and try again.

## Response 403 examples:

  - `Required Scope Missing` (unknown)
    OAuth Client application used for generating Authorization token doesn't have required scope to call this API.
Refer API description to know which scope needs to be assigned to OAuth client.

## Response 500 examples:

  - `Internal Server Error` (unknown)

