# Update Participant

# Overview
Use this API to update an existing participant.
## Scope
Client application must have 'app.conversation.conversationmgr.manage' scope assigned.

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

## Description:

  - `Overview` ()
    Use this API to update an existing participant.

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

## Security:

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

## Path parameters:

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

## Request body:

  - `application/json` (unknown)
    Update participant

## Request fields (application/json):

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

  - `type` (string, required)
    Type of participant. eGain Bot participants are created automatically when bot is created in eGain VA application.
    Enum: "custom_bot", "egain_bot"

  - `description` (string)

  - `active` (boolean)

  - `application` (object, required)

  - `application.id` (string, required)
    ID to clientApplication, messages for this participant are sent to call back url registered in this client application
    Example: d987d07a-d59c-11ea-87d0-0242ac130001

  - `intents` (object)
    Intents supported by bot.

  - `intents.intent` (array, required)

  - `intents.intent.value` (string, required)
    Internal value for intent.

  - `intents.intent.displayValue` (string, required)
    Display value for intent.

  - `options` (array)

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

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

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

## Response 204:

  - `204` (unknown)
    No Content

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

  - `404` (unknown)
    Not Found

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

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

  - `Required Attribute missing` (unknown)
    Required attribute is missing in payload

  - `Duplicate Resource Found` (unknown)
    Resouce with same details found

  - `Unallowed attribute value` (unknown)
    One of the attribute has value which is not allowed

  - `Max length exceeded` (unknown)
    Attribute value has length that exceeds limit

  - `Unknown Attribute Present` (unknown)
    Unknown attribute present in request body

  - `Value doesn't match pattern` (unknown)
    Attribute value doesn't match pattern of allowed characters

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

  - `Resource Not Found` (unknown)
    Resource not found

## Response 500 examples:

  - `Internal Server Error` (unknown)

