# Conversation Dynamics

#### URL

```
GET /single-feature-api/meeting/meeting-dynamics
```

#### Parameters

The endpoint requires the following parameters:

* `Authorization` (header, required): Bearer token for authentication.
* `file-hash` (query parameter, required): Hash of the meeting recording file.
* `period_seconds` (query parameter, optional): Length of the period in seconds (default: 300).

#### Responses

* **200**: Meeting dynamics successfully retrieved.
* **401**: Unauthorized. Invalid or missing authentication token.
* **404**: Meeting not found. The specified meeting recording file hash does not exist.
* **400**: Bad request. The request is missing required parameters or contains invalid values.

**Success Response**

This is the JSON response for the successful 200 response:

```json
{
  "dynamics": [
    {
      "start": 0,
      "end": 300000,
      "sentiment": "Neutral",
      "energy_score": 80,
      "interactions_score": 75,
      "emotions": ["Neutral", "Happiness"]
    },
    {
      "start": 300000,
      "end": 600000,
      "sentiment": "Somewhat Positive",
      "energy_score": 65,
      "interactions_score": 60,
      "emotions": ["Neutral", "Happiness"]
    },
    ...
  ]
}
```

* `dynamics` (array): An array of meeting dynamics objects.
* `start` (integer): The start time of the period in milliseconds.
* `end` (integer): The end time of the period in milliseconds.
* `sentiment` (string): The sentiment detected for the period.
* `energy_score` (integer): The energy score for the period.
* `interactions_score` (integer): The interactions score for the period.
* `emotions` (array): An array of emotions detected in the period.

**Error Responses**

**Unauthorized (401)**

This is the JSON response for the unauthorized 401 response:

```json
{
  "message": "Unauthorized"
}
```

* `message`: Error message indicating unauthorized access due to an invalid or missing authentication token.

**Meeting Not Found (404)**

This is the JSON response for the meeting not found 404 response:

```json
{
  "message": "Meeting not found"
}
```

* `message`: Error message indicating that the specified meeting recording file hash does not exist.

**Bad Request (400)**

This is the JSON response for the bad request 400 response:

```json
{
  "message": "Bad request"
}
```

* `message`: Error message indicating a bad request due to missing required parameters or invalid parameter values.

#### Example

**Request**

```
GET /single-feature-api/meeting/meeting-dynamics?file-hash=7faa938dfb14e7ca8129a40a7e47bb02&period_seconds=600
Authorization: Bearer <JWT_token>
```

**Response**

<pre><code>HTTP/1.1 200 OK
Content-Type: application/json

{
  "dynamics": [
    {
      "start": 0,
      "end": 600000,
      "sentiment": "Neutral",
      "energy_score": 80,
      "interactions_score": 75,
      "emotions": ["Neutral", "Happiness"]
    },
    {
      "start": 600000,
      "end": 1200000,
      "sentiment": "Somewhat Positive",
      "energy_score": 65,
      "interactions_score": 60,
      "emotions": ["Neutral", "Happiness"]
    },
...
<strong>  ]
</strong>}
</code></pre>
