# Get Participants

# Overview
Use this API to Get details of all participants.
## Scope
Client application must have 'app.conversation.conversationmgr.manage' or 'app.conversation.conversationmgr.read' scope assigned.

Endpoint: GET /participants
Security: oAuthClient

## Description:

  - `Overview` ()
    Use this API to Get details of all participants.

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

  - `participant` (array)

  - `participant.id` (string)

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

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

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

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

  - `participant.description` (string)

  - `participant.active` (boolean)

  - `participant.application` (object, required)

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

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

  - `participant.intents.intent` (array, required)

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

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

  - `participant.options` (array)

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

  - `participant.options.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)

