# Update account

# Overview
This APIs allows you to update an existing Conversation Manager account.
## Scope
Client application must have 'app.conversation.conversationmgr.manage' scope assigned.

Endpoint: PUT /accounts/{id}
Security: oAuthClient

## Path parameters:

  - `id` (string, required)
    id of object

## Request fields (application/json):

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

  - `description` (string)

  - `active` (boolean)

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

  - `channel` (object, required)

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

  - `caseManagement` (object)

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

  - `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.

  - `chatConfigurations` (object, required)

  - `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.

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

  - `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"

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

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

  - `chatConfigurations.orchestration` (object, required)

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

  - `chatConfigurations.entryPoint` (object, required)

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

  - `attributes` (array)

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

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

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

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

