> ## Documentation Index
> Fetch the complete documentation index at: https://docs.usefini.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Get agent analytics section

> Fetch one analytics section for one agent.

Returns one section of the analytics summary for one agent. The accepted section values are `summary`, `trends`, `knowledge`, `rules`, and `escalations`.

Use this route when you only need part of the analytics payload. Use [Get agent analytics](/en/api-reference/get-agent-analytics) when you need the full summary object. For the analytics endpoint family, see [Analytics](/en/api-reference/analytics).

## Headers

<ParamField header="Authorization" type="string" required>
  Bearer token containing your Fini workspace API key. Format: `Bearer fini_...` The key needs `read` scope.
</ParamField>

## Path parameters

<ParamField path="id" type="string" required>
  Agent ID whose analytics you want to read. Use [List agents](/en/api-reference/list-agents) to get the `botId`.
</ParamField>

<ParamField path="section" type="string" required>
  Analytics section to return. Accepted values are `summary`, `trends`, `knowledge`, `rules`, and `escalations`.
</ParamField>

## Query parameters

<ParamField query="startEpoch" type="number" required>
  Start of the analytics window as a Unix epoch timestamp.
</ParamField>

<ParamField query="endEpoch" type="number" required>
  End of the analytics window as a Unix epoch timestamp.
</ParamField>

<ParamField query="source" type="string | string[]">
  Conversation source filter. Pass `all` to include all supported sources, or pass one or more source values accepted by Fini.
</ParamField>

<ParamField query="channel" type="string | string[]">
  Optional channel filter.
</ParamField>

<ParamField query="latestStatus" type="string | string[]">
  Optional latest-status filter.
</ParamField>

<ParamField query="latestSentiment" type="string | string[]">
  Optional latest-sentiment filter.
</ParamField>

<ParamField query="usedSubfolderIds" type="string | string[]">
  Optional knowledge subfolder IDs to filter by.
</ParamField>

<ParamField query="tagIds" type="string | string[]">
  Optional tag IDs to filter by.
</ParamField>

<ParamField query="ruleIds" type="string | string[]">
  Optional rule IDs to filter by.
</ParamField>

<ParamField query="escalationReasonTagIds" type="string | string[]">
  Optional escalation-reason tag IDs to filter by.
</ParamField>

<ParamField query="csatRatings" type="number | number[]">
  Optional CSAT ratings to filter by. Values must be integers from `1` through `5`.
</ParamField>

<ParamField query="timezone" type="string">
  Optional timezone used for date grouping.
</ParamField>

<RequestExample>
  ```bash cURL theme={null}
  curl --request GET \
    --url 'https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-analytics/summary/public?startEpoch=1784073600000&endEpoch=1784678400000&source=all' \
    --header 'Authorization: Bearer fini_your_api_key'
  ```

  ```python Python theme={null}
  import requests

  response = requests.get(
      "https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-analytics/summary/public",
      headers={"Authorization": "Bearer fini_your_api_key"},
      params={
          "startEpoch": 1784073600000,
          "endEpoch": 1784678400000,
          "source": "all",
      },
  )
  section = response.json()
  ```

  ```javascript Node.js theme={null}
  const params = new URLSearchParams({
    startEpoch: "1784073600000",
    endEpoch: "1784678400000",
    source: "all",
  });

  const response = await fetch(
    `https://api-prod.usefini.com/v2/bots/4f5ef695-d03b-4d56-8fef-7f2bd5c17ef3/hc-analytics/summary/public?${params.toString()}`,
    {
      headers: {
        Authorization: "Bearer fini_your_api_key",
      },
    }
  );
  const section = await response.json();
  ```
</RequestExample>

<ResponseExample>
  ```json 200 OK theme={null}
  {
    "id": "escalations",
    "title": "Escalations",
    "value": 223,
    "trend": "down",
    "series": [
      {
        "date": "2026-07-28",
        "value": 12
      }
    ]
  }
  ```
</ResponseExample>

## Response

Returns a partial analytics summary object for the requested section.

| Section       | Included fields                                                                             |
| ------------- | ------------------------------------------------------------------------------------------- |
| `summary`     | Summary metrics, comparison metrics, summary cards, status breakdown, and usage by channel. |
| `trends`      | Conversation-volume, resolution-rate, response-time, hourly-volume, and CSAT chart data.    |
| `knowledge`   | Knowledge usage data.                                                                       |
| `rules`       | Rule analytics data.                                                                        |
| `escalations` | Escalation-reason data.                                                                     |

See [Get agent analytics](/en/api-reference/get-agent-analytics) for the field-level analytics schema.

## Errors

<AccordionGroup>
  <Accordion title="400 Bad Request" icon="circle-exclamation">
    The path ID, section, or query parameters are invalid. `startEpoch` and `endEpoch` are required.
  </Accordion>

  <Accordion title="401 Unauthorized" icon="lock">
    The API key is missing, malformed, revoked, or invalid.
  </Accordion>

  <Accordion title="403 Forbidden" icon="shield-halved">
    The API key does not include the `read` scope required for this route.
  </Accordion>

  <Accordion title="406 Not Acceptable" icon="circle-question">
    The agent belongs to a different workspace.
  </Accordion>

  <Accordion title="500 Internal Server Error" icon="triangle-exclamation">
    Fini failed while loading analytics.
  </Accordion>
</AccordionGroup>
