Skip to main content
GET
/
ai
/
conversations
/
conversation-insights
/
aggregates
JavaScript
import Telnyx from 'telnyx';

const client = new Telnyx({
  apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
});

const response = await client.ai.conversations.conversationInsights.retrieveAggregates();

console.log(response.data);
import os
from telnyx import Telnyx

client = Telnyx(
    api_key=os.environ.get("TELNYX_API_KEY"),  # This is the default and can be omitted
)
response = client.ai.conversations.conversation_insights.retrieve_aggregates()
print(response.data)
package main

import (
	"context"
	"fmt"

	"github.com/team-telnyx/telnyx-go"
	"github.com/team-telnyx/telnyx-go/option"
)

func main() {
	client := telnyx.NewClient(
		option.WithAPIKey("My API Key"),
	)
	response, err := client.AI.Conversations.ConversationInsights.GetAggregates(context.TODO())
	if err != nil {
		panic(err.Error())
	}
	fmt.Printf("%+v\n", response.Data)
}
package com.telnyx.sdk.example;

import com.telnyx.sdk.client.TelnyxClient;
import com.telnyx.sdk.client.okhttp.TelnyxOkHttpClient;

public final class Main {
    private Main() {}

    public static void main(String[] args) {
        TelnyxClient client = TelnyxOkHttpClient.fromEnv();

        ConversationInsightAggregateResp response = client.ai()conversations()conversationInsights()retrieveAggregates();
    }
}
require "telnyx"

telnyx = Telnyx::Client.new(api_key: "My API Key")

response = telnyx.ai.conversations.conversation_insights.retrieve_aggregates

puts(response)
<?php

require_once dirname(__DIR__) . '/vendor/autoload.php';

use Telnyx\Client;
use Telnyx\Core\Exceptions\APIException;

$client = new Client(apiKey: getenv('TELNYX_API_KEY') ?: 'My API Key');

try {
  $response = $client->ai->conversations->conversationInsights->retrieveAggregates();

  var_dump($response);
} catch (APIException $e) {
  echo $e->getMessage();
}
telnyx ai:conversations:conversation-insights retrieve-aggregates \
  --api-key 'My API Key'
curl --request GET \
  --url https://api.telnyx.com/v2/ai/conversations/conversation-insights/aggregates \
  --header 'Authorization: Bearer <token>'
{
  "data": [
    {
      "record_count": 123
    }
  ]
}
{
  "detail": [
    {
      "loc": [
        "<string>"
      ],
      "msg": "<string>",
      "type": "<string>"
    }
  ]
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Query Parameters

group_by
string[]

Fields to group by (can be comma-separated or multiple parameters). Prefix a field with 'metadata.' (e.g. 'metadata.assistant_id') to group by the conversation's metadata instead of the insight result.

Common fields used for over-time charts:

  • score — Group by the insight's score value (e.g. for Agent Instruction Following, User Satisfaction).
  • metadata.assistant_id — Group by the assistant that handled the conversation.
  • metadata.assistant_version_id — Group by the assistant version, useful for comparing performance across versions in the portal's 'Insights Over Time' chart.
  • metadata.telnyx_conversation_channel — Group by conversation channel (phone_call, web_chat, etc.).
show
string[]

Fields to include in the result (can be comma-separated or multiple parameters). Supports the same 'metadata.' prefix as group_by. Each returned row will contain the grouped field values plus a record_count indicating how many conversation insights match that combination.

insight_id
string<uuid>

Optional insight ID to filter conversation insights. Only insights matching this ID will be included in the aggregation.

created_at
string

Filter by creation datetime to scope the aggregation window. Supports range operators (e.g., created_at=gte.2025-01-01T00:00:00Z for the start of the range, created_at=lt.2025-01-02T00:00:00Z for the end). To build per-day time series (as the portal does for the 'Insights Over Time' chart), issue one request per day bounded by created_at=gte.<day_start> and created_at=lt.<next_day_start>.

metadata.assistant_id
string

Filter by assistant ID (e.g., metadata.assistant_id=eq.<assistant_id>). When provided, only conversation insights for the specified assistant are aggregated. Used by the portal to scope the 'Insights Over Time' chart to a single assistant.

Response

Successful Response

Aggregated conversation insight counts grouped by the specified fields. Each item in data contains the grouped field values and a record_count indicating how many conversation insights match that combination.

data
Data · object[]
required

Aggregation result rows. Each row contains the grouped field values and a record_count.