This endpoint returns aggregated values for interactions. The specific aggregates to compute are defined by the variables field in the request body.
You can optionally use the group_by field to aggregate results by various dimensions—for example, by intent or positive_implicit_feedback.
If no group_by is provided, the response returns overall totals across all interactions.You need an API key to authenticate. See here for more information about the API keys.
Optional field to be used only when the kind is tag. It should specify the tag name, which is the same as the key you used in the tags dictionary during the interaction submission.
The values of the selected filter you want to filter on. All values in the list are combined with an “OR” condition.
For example, if kind is "topic" and the values are "value A" and "value B",
the condition is interpreted as: topic="value A" OR topic="value B".
Optional field to be used to exclude the interactions that match the given filter.
If not specified, the default value is false, meaning that the interactions matching the filter will be included.
If set to true, the interactions matching the filter will be excluded.
Groups you can use to aggregate data based on the interactions you’re interested in.
If no value is provided, total aggregated values for the selected interactions will be returned.
When a group_by is provided, the selected group will appear as group_name in the response.
If not, the response will contain a single row with the overall aggregated values.
Optional field to be used only when the kind is tag. It should specify the tag name, which is the same as the key you used in the tags dictionary during the interaction submission.
The variables to compute aggregated values for. If omitted, the API computes n_interactions, n_users, cost, and latency_seconds. Any variable you do not request is null.
Show child attributes
The supported variables are
n_interactions: number of interactions
n_users: number of distinct users
user_feedback_v2: details about the user feedback, including:
n_feedback: number of total feedback
n_positive_implicit_user_feedback: number of positive implicit feedback
n_negative_implicit_user_feedback: number of negative implicit feedback
n_positive_explicit_user_feedback: number of positive explicit feedback
n_negative_explicit_user_feedback: number of negative explicit feedback
n_users_negative: number of users that provided negative feedback
n_users_negative_implicit: number of users that provided negative implicit feedback
n_users_negative_explicit: number of users that provided negative explicit feedback
explicit_feedback_ratio: ratio of explicit feedback over total feedback
n_paste_output: number of messages where user pasted the output of a previous interaction
interaction_negative_feedback_v2: details about the negative feedback on interactions, including:
n_interactions_negative: number of interactions with negative feedback
n_interactions_negative_implicit: number of interactions with negative implicit feedback
n_interactions_negative_explicit: number of interactions with negative explicit feedback
conversation_user_feedback: details about the user feedback at the conversation level, including:
n_conversations_positive_explicit: number of conversations with positive explicit feedback
n_conversations_negative_explicit: number of conversations with negative explicit feedback
n_intents: number of distinct intents
cost: total cost of the aggregated interactions
latency_seconds: average latency (time-to-response) of the aggregated interactions, in seconds
retention: percentage of users who return to engage with your LLMs at least once within the defined time period
topics: list of distinct topics for the selected aggregation
session_time: average session time in seconds, calculated as the difference between the start of the first interaction and the end of the last interaction in a conversation
session_length: average length of a session, defined as the number of interactions in a conversation
start_session: timestamp of the start of the first interaction in the requested aggregation.
end_session: timestamp of the end of the last interaction in the requested aggregation
percentage_negative_feedback: percentage of interactions where users express dissatisfaction with the LLM’s responses, encompassing both explicit feedback (e.g., thumbs down) and implicit signals.
percentage_negative_feedback_explicit: percentage of interactions with explicit negative feedback, such as thumbs down or other forms of direct user dissatisfaction.
conversation_percentage_negative_feedback: same definition as percentage_negative_feedback, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions.
conversation_percentage_negative_feedback_explicit: same definition as percentage_negative_feedback_explicit, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions.
sentiment_score: average sentiment score of the interactions, where a higher score indicates a more positive sentiment.
conversation_sentiment_score: average sentiment score of the conversations, where a higher score indicates a more positive sentiment.
n_positive_messages: number of messages in the interactions that are classified with a positive sentiment
n_negative_messages: number of messages in the interactions that are classified with a negative sentiment
n_topics: number of distinct topics in the interactions
n_topics_conversations: number of distinct conversation topics. A conversation topic is the first topic corresponding to the first interaction in a conversation.
n_user_actions: number of distinct user actions in the interactions
n_user_actions_conversations: number of distinct user actions in the conversations. A user action is the first action corresponding to the first interaction in a conversation.
n_negative_intent_v2: number of distinct negative intents in the interactions
n_keywords: number of distinct keywords in the interactions
n_data_sources: number of distinct data sources in the interactions
n_emotions: number of distinct emotions in the interactions
tags: returns the variable n_tag_values which returns the distinct tags with their relative occurrences
Note: if the conversation_id filter is applied, n_tag_values will return the distinct tags with their distinct values rather than count
bounce_rate: percentage of users having just a one-single message conversation in the given time-range
penetration (activation rate): percentage of users who have used the platform
user_rating: average user rating left by the user
aifi_score: AI Proficiency. The response field is aifi_proficiency_score. order_by.by uses aifi_score as well.
aifi_task_clarity_score: task clarity component. The response field is aifi_proficiency_task_clarity_score.
aifi_context_provision_score: context provision component. The response field is aifi_proficiency_context_provision_score.
aifi_output_specification_score: output specification component. The response field is aifi_proficiency_output_specification_score.
aifi_prompt_length_score: prompt length component. The response field is aifi_proficiency_prompt_length_score.
aifi_conversation_efficiency_score: conversation efficiency component. The response field is aifi_proficiency_conversation_efficiency_score.
aifi_constraint_specification_score: constraint specification component. The response field is aifi_proficiency_constraint_specification_score.
aifi_proficiency_moved_up: users whose AI Proficiency moved up. The response field uses the same name.
aifi_proficiency_slipped_back: users whose AI Proficiency slipped back. The response field uses the same name.
aifi_proficiency_stayed: users whose AI Proficiency stayed the same. The response field uses the same name.
Optional additional group_by filters to further refine the aggregations.
These filters allow you to split the selected variables in the main group_by
into more detailed subcategories.
The average session time in seconds for the selected group, calculated as the difference between the start of the first interaction and the end of the last interaction in a conversation.
The percentage of interactions where users expressed dissatisfaction with the LLM’s responses for the selected group, encompassing both explicit feedback (e.g., thumbs down) and implicit signals.
The percentage of interactions with explicit negative feedback, such as thumbs down or other forms of direct user dissatisfaction, for the selected group.
The same definition as percentage_negative_feedback, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions for the selected group.
The same definition as percentage_negative_feedback_explicit, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions for the selected group.
The total number of distinct conversation topics for the selected group. A conversation topic is the first topic corresponding to the first interaction in a conversation.
The total number of distinct user actions in the conversations for the selected group. A user action is the first action corresponding to the first interaction in a conversation.
The number of occurrences of the tag in the interactions.
If the conversation_id filter is applied, this will return the distinct tags with their distinct values rather than count.
Value saved for the selected group in the previous period. Null when ROI is off.
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Documentation","colors":{"primary":"#0a4fff"},"logo":{"light":"https://mintcdn.com/nebulyai/Z4cH-Z3_KpwmkdSB/images/black_logo.svg?fit=max\u0026auto=format\u0026n=Z4cH-Z3_KpwmkdSB\u0026q=85\u0026s=88e0930f5ecc7197a8159a23f17ceb3d","dark":"https://mintcdn.com/nebulyai/Z4cH-Z3_KpwmkdSB/images/white_logo.svg?fit=max\u0026auto=format\u0026n=Z4cH-Z3_KpwmkdSB\u0026q=85\u0026s=3b177bfe210caba95927e81f14efd379"},"favicon":"https://mintcdn.com/nebulyai/h9aKiGKVR2DLe52O/images/fav.png?fit=max\u0026auto=format\u0026n=h9aKiGKVR2DLe52O\u0026q=85\u0026s=1886884b14952466a25e5faa964daefd","api":{"mdx":{"auth":{"method":"bearer"},"server":"https://backend.nebuly.com/event-ingestion"}},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#FEF8F4","dark":"#1b1b1d"}},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"nebulyai","hasAudioNarration":false,"actualSubdomain":"nebulyai","customDomains":["docs.nebuly.com"],"gitSource":{"type":"github","owner":"nebuly-ai","repo":"platform-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad9eac679900545ca22d8b1","collectionId":"4ab97d8a-a2bc-4187-b53b-978b90eee187","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad9eac679900545ca22d8b1"},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad9eac679900545ca22d8b1","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Documentation","count":46},{"language":"default","tag":"API Reference","count":27},{"language":"default","tag":"PRODUCTS","count":10},{"language":"default","tag":"Insights API","count":10},{"language":"default","tag":"DATA","count":9},{"language":"default","tag":"UI components","count":9},{"language":"default","tag":"EMPLOYEE AGENTS","count":7},{"language":"default","tag":"REPORTS","count":7},{"language":"default","tag":"PLATFORM","count":7},{"language":"default","tag":"SETUP","count":7}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":"#sidebar-content li[data-title]:has(>ul a[class*=bg-primary])>button{background-color:transparent!important;color:rgb(55 65 81)!important;text-shadow:none!important}.dark #sidebar-content li[data-title]:has(>ul a[class*=bg-primary])>button{color:rgb(156 163 175)!important}"}],"page":{"pagePath":"embedded-pages/interactions/get-interaction-aggregates","slug":"/embedded-pages/interactions/get-interaction-aggregates","pageMetadata":{"title":"Get Interaction Aggregates","api":"POST https://backend.nebuly.com/api/external/get-interaction-aggregates","description":null,"href":"/embedded-pages/interactions/get-interaction-aggregates"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,br:`br`,code:`code`,li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Expandable,Heading,ParamField,ResponseField}=_components;if(!Expandable)_missingMdxReference(`Expandable`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!ParamField)_missingMdxReference(`ParamField`,true);if(!ResponseField)_missingMdxReference(`ResponseField`,true);return _jsxs(_Fragment,{children:[_jsxs(_components.p,{children:[`This endpoint returns aggregated values for interactions. The specific aggregates to compute are defined by the `,_jsx(_components.code,{children:`variables`}),` field in the request body.`,_jsx(_components.br,{}),`\n`,`You can optionally use the `,_jsx(_components.code,{children:`group_by`}),` field to aggregate results by various dimensions—for example, by `,_jsx(_components.code,{children:`intent`}),` or `,_jsx(_components.code,{children:`positive_implicit_feedback`}),`.`,_jsx(_components.br,{}),`\n`,`If no `,_jsx(_components.code,{children:`group_by`}),` is provided, the response returns overall totals across all interactions.`]}),`\n`,_jsxs(_components.p,{children:[`You need an API key to authenticate. See `,_jsx(_components.a,{href:`/embedded-pages/quickstart`,children:`here`}),` for more information about the API keys.`]}),`\n`,_jsxs(ParamField,{body:`time_range`,type:`object`,required:true,id:`param-time-range`,children:[_jsx(_components.p,{children:`The time range to consider when computing the metrics and analytics to show.`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ParamField,{path:`start`,type:`string`,default:`2024-05-30T09:27:52.420Z`,required:true,id:`param-start`,children:_jsx(_components.p,{children:`The start date for the time-range.`})}),_jsx(ParamField,{path:`end`,type:`string`,default:`2024-05-30T09:27:52.420Z`,required:true,id:`param-end`,children:_jsx(_components.p,{children:`The end date for the time-range.`})})]})]}),`\n`,_jsxs(ParamField,{body:`filters`,type:`object[]`,required:true,id:`param-filters`,children:[_jsx(_components.p,{children:`Filters you can use to get data based only on the interactions you are interested in.`}),_jsxs(Expandable,{title:`properties`,children:[_jsxs(ParamField,{path:`kind`,type:`string`,required:true,id:`param-kind`,children:[_jsx(_components.p,{children:`The filter kind. It can be one of the following values:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`user_intent`}),`\n`,_jsx(_components.li,{children:`negative_user_intent_v2`}),`\n`,_jsx(_components.li,{children:`keyword`}),`\n`,_jsx(_components.li,{children:`user_feedback_v2`}),`\n`,_jsx(_components.li,{children:`user_rating`}),`\n`,_jsx(_components.li,{children:`type_of_problem_v2`}),`\n`,_jsx(_components.li,{children:`type_of_problem_mid`}),`\n`,_jsx(_components.li,{children:`positive_comment`}),`\n`,_jsx(_components.li,{children:`user`}),`\n`,_jsx(_components.li,{children:`cohort`}),`\n`,_jsx(_components.li,{children:`data_source`}),`\n`,_jsx(_components.li,{children:`pii`}),`\n`,_jsx(_components.li,{children:`language`}),`\n`,_jsx(_components.li,{children:`emotions`}),`\n`,_jsx(_components.li,{children:`type_of_risk`}),`\n`,_jsx(_components.li,{children:`tag`}),`\n`,_jsx(_components.li,{children:`topic`}),`\n`,_jsx(_components.li,{children:`user`}),`\n`,_jsx(_components.li,{children:`user_query`}),`\n`,_jsx(_components.li,{children:`conversation_id`}),`\n`]})]}),_jsx(ParamField,{path:`tag`,type:`string`,id:`param-tag`,children:_jsx(_components.p,{children:`Optional field to be used only when the kind is tag. It should specify the tag name, which is the same as the key you used in the tags dictionary during the interaction submission.`})}),_jsx(ParamField,{path:`values`,type:`string[]`,required:true,id:`param-values`,children:_jsxs(_components.p,{children:[`The values of the selected filter you want to filter on. All values in the list are combined with an “OR” condition.`,_jsx(_components.br,{}),`\n`,`For example, if `,_jsx(_components.code,{children:`kind`}),` is `,_jsx(_components.code,{children:`\"topic\"`}),` and the values are `,_jsx(_components.code,{children:`\"value A\"`}),` and `,_jsx(_components.code,{children:`\"value B\"`}),`,`,_jsx(_components.br,{}),`\n`,`the condition is interpreted as: `,_jsx(_components.code,{children:`topic=\"value A\"`}),` OR `,_jsx(_components.code,{children:`topic=\"value B\"`}),`.`]})}),_jsx(ParamField,{path:`is_exclude`,type:`boolean`,id:`param-is-exclude`,children:_jsx(_components.p,{children:`Optional field to be used to exclude the interactions that match the given filter.\nIf not specified, the default value is false, meaning that the interactions matching the filter will be included.\nIf set to true, the interactions matching the filter will be excluded.`})})]})]}),`\n`,_jsxs(ParamField,{body:`group_by`,type:`object`,id:`param-group-by`,children:[_jsxs(_components.p,{children:[`Groups you can use to aggregate data based on the interactions you’re interested in.`,_jsx(_components.br,{}),`\n`,`If no value is provided, total aggregated values for the selected interactions will be returned.`,_jsx(_components.br,{}),`\n`,`When a group_by is provided, the selected group will appear as `,_jsx(_components.code,{children:`group_name`}),` in the response.`,_jsx(_components.br,{}),`\n`,`If not, the response will contain a single row with the overall aggregated values.`]}),_jsxs(Expandable,{title:`properties`,children:[_jsxs(ParamField,{path:`kind`,type:`string`,required:true,id:`param-kind-1`,children:[_jsx(_components.p,{children:`The group kind. It can be one of the following values:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`user_intent`}),`\n`,_jsx(_components.li,{children:`negative_user_intent_v2`}),`\n`,_jsx(_components.li,{children:`keyword`}),`\n`,_jsx(_components.li,{children:`user_feedback_v2`}),`\n`,_jsx(_components.li,{children:`user_rating`}),`\n`,_jsx(_components.li,{children:`type_of_problem_v2`}),`\n`,_jsx(_components.li,{children:`type_of_problem_mid`}),`\n`,_jsx(_components.li,{children:`positive_comment`}),`\n`,_jsx(_components.li,{children:`user`}),`\n`,_jsx(_components.li,{children:`cohort`}),`\n`,_jsx(_components.li,{children:`data_source`}),`\n`,_jsx(_components.li,{children:`pii`}),`\n`,_jsx(_components.li,{children:`language`}),`\n`,_jsx(_components.li,{children:`emotions`}),`\n`,_jsx(_components.li,{children:`type_of_risk`}),`\n`,_jsx(_components.li,{children:`tag`}),`\n`,_jsx(_components.li,{children:`topic`}),`\n`,_jsx(_components.li,{children:`user`}),`\n`,_jsx(_components.li,{children:`user_query`}),`\n`,_jsx(_components.li,{children:`conversation_id`}),`\n`]})]}),_jsx(ParamField,{path:`tag`,type:`string`,id:`param-tag-1`,children:_jsx(_components.p,{children:`Optional field to be used only when the kind is tag. It should specify the tag name, which is the same as the key you used in the tags dictionary during the interaction submission.`})}),_jsxs(ParamField,{path:`field`,type:`string`,id:`param-field`,children:[_jsx(_components.p,{children:`Optional field used only when kind is conversation_id. It’s used to pick a field of each conversation as group_name.\nAvailable values:`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`conversation_id (default)`}),`\n`,_jsx(_components.li,{children:`user_query`}),`\n`,_jsx(_components.li,{children:`negative_intent`}),`\n`]})]})]})]}),`\n`,_jsxs(ParamField,{body:`variables`,type:`string[]`,id:`param-variables`,children:[_jsxs(_components.p,{children:[`The variables to compute aggregated values for. If omitted, the API computes `,_jsx(_components.code,{children:`n_interactions`}),`, `,_jsx(_components.code,{children:`n_users`}),`, `,_jsx(_components.code,{children:`cost`}),`, and `,_jsx(_components.code,{children:`latency_seconds`}),`. Any variable you do not request is null.`]}),_jsxs(Expandable,{children:[_jsx(_components.p,{children:`The supported variables are`}),_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`n_interactions: number of interactions`}),`\n`,_jsx(_components.li,{children:`n_users: number of distinct users`}),`\n`,_jsxs(_components.li,{children:[`user_feedback_v2: details about the user feedback, including:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`n_feedback: number of total feedback`}),`\n`,_jsx(_components.li,{children:`n_positive_implicit_user_feedback: number of positive implicit feedback`}),`\n`,_jsx(_components.li,{children:`n_negative_implicit_user_feedback: number of negative implicit feedback`}),`\n`,_jsx(_components.li,{children:`n_positive_explicit_user_feedback: number of positive explicit feedback`}),`\n`,_jsx(_components.li,{children:`n_negative_explicit_user_feedback: number of negative explicit feedback`}),`\n`,_jsx(_components.li,{children:`n_users_negative: number of users that provided negative feedback`}),`\n`,_jsx(_components.li,{children:`n_users_negative_implicit: number of users that provided negative implicit feedback`}),`\n`,_jsx(_components.li,{children:`n_users_negative_explicit: number of users that provided negative explicit feedback`}),`\n`,_jsx(_components.li,{children:`explicit_feedback_ratio: ratio of explicit feedback over total feedback`}),`\n`,_jsx(_components.li,{children:`n_paste_output: number of messages where user pasted the output of a previous interaction`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`interaction_negative_feedback_v2: details about the negative feedback on interactions, including:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`n_interactions_negative: number of interactions with negative feedback`}),`\n`,_jsx(_components.li,{children:`n_interactions_negative_implicit: number of interactions with negative implicit feedback`}),`\n`,_jsx(_components.li,{children:`n_interactions_negative_explicit: number of interactions with negative explicit feedback`}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`conversation_user_feedback: details about the user feedback at the conversation level, including:`,`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`n_conversations_positive_explicit: number of conversations with positive explicit feedback`}),`\n`,_jsx(_components.li,{children:`n_conversations_negative_explicit: number of conversations with negative explicit feedback`}),`\n`]}),`\n`]}),`\n`,_jsx(_components.li,{children:`n_intents: number of distinct intents`}),`\n`,_jsx(_components.li,{children:`cost: total cost of the aggregated interactions`}),`\n`,_jsx(_components.li,{children:`latency_seconds: average latency (time-to-response) of the aggregated interactions, in seconds`}),`\n`,_jsx(_components.li,{children:`retention: percentage of users who return to engage with your LLMs at least once within the defined time period`}),`\n`,_jsx(_components.li,{children:`topics: list of distinct topics for the selected aggregation`}),`\n`,_jsx(_components.li,{children:`session_time: average session time in seconds, calculated as the difference between the start of the first interaction and the end of the last interaction in a conversation`}),`\n`,_jsx(_components.li,{children:`session_length: average length of a session, defined as the number of interactions in a conversation`}),`\n`,_jsx(_components.li,{children:`start_session: timestamp of the start of the first interaction in the requested aggregation.`}),`\n`,_jsx(_components.li,{children:`end_session: timestamp of the end of the last interaction in the requested aggregation`}),`\n`,_jsx(_components.li,{children:`percentage_negative_feedback: percentage of interactions where users express dissatisfaction with the LLM’s responses, encompassing both explicit feedback (e.g., thumbs down) and implicit signals.`}),`\n`,_jsx(_components.li,{children:`percentage_negative_feedback_explicit: percentage of interactions with explicit negative feedback, such as thumbs down or other forms of direct user dissatisfaction.`}),`\n`,_jsxs(_components.li,{children:[`conversation_percentage_negative_feedback: same definition as `,_jsx(_components.code,{children:`percentage_negative_feedback`}),`, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions.`]}),`\n`,_jsxs(_components.li,{children:[`conversation_percentage_negative_feedback_explicit: same definition as `,_jsx(_components.code,{children:`percentage_negative_feedback_explicit`}),`, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions.`]}),`\n`,_jsx(_components.li,{children:`sentiment_score: average sentiment score of the interactions, where a higher score indicates a more positive sentiment.`}),`\n`,_jsx(_components.li,{children:`conversation_sentiment_score: average sentiment score of the conversations, where a higher score indicates a more positive sentiment.`}),`\n`,_jsx(_components.li,{children:`n_positive_messages: number of messages in the interactions that are classified with a positive sentiment`}),`\n`,_jsx(_components.li,{children:`n_negative_messages: number of messages in the interactions that are classified with a negative sentiment`}),`\n`,_jsx(_components.li,{children:`n_topics: number of distinct topics in the interactions`}),`\n`,_jsx(_components.li,{children:`n_topics_conversations: number of distinct conversation topics. A conversation topic is the first topic corresponding to the first interaction in a conversation.`}),`\n`,_jsx(_components.li,{children:`n_user_actions: number of distinct user actions in the interactions`}),`\n`,_jsx(_components.li,{children:`n_user_actions_conversations: number of distinct user actions in the conversations. A user action is the first action corresponding to the first interaction in a conversation.`}),`\n`,_jsx(_components.li,{children:`n_negative_intent_v2: number of distinct negative intents in the interactions`}),`\n`,_jsx(_components.li,{children:`n_keywords: number of distinct keywords in the interactions`}),`\n`,_jsx(_components.li,{children:`n_data_sources: number of distinct data sources in the interactions`}),`\n`,_jsx(_components.li,{children:`n_emotions: number of distinct emotions in the interactions`}),`\n`,_jsxs(_components.li,{children:[`tags: returns the variable n_tag_values which returns the distinct tags with their relative occurrences\nNote: if the `,_jsx(_components.code,{children:`conversation_id`}),` filter is applied, n_tag_values will return the distinct tags with their distinct values rather than count`]}),`\n`,_jsx(_components.li,{children:`bounce_rate: percentage of users having just a one-single message conversation in the given time-range`}),`\n`,_jsx(_components.li,{children:`penetration (activation rate): percentage of users who have used the platform`}),`\n`,_jsx(_components.li,{children:`user_rating: average user rating left by the user`}),`\n`,_jsxs(_components.li,{children:[`aifi_score: AI Proficiency. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_score`}),`. `,_jsx(_components.code,{children:`order_by.by`}),` uses `,_jsx(_components.code,{children:`aifi_score`}),` as well.`]}),`\n`,_jsxs(_components.li,{children:[`aifi_task_clarity_score: task clarity component. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_task_clarity_score`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`aifi_context_provision_score: context provision component. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_context_provision_score`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`aifi_output_specification_score: output specification component. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_output_specification_score`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`aifi_prompt_length_score: prompt length component. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_prompt_length_score`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`aifi_conversation_efficiency_score: conversation efficiency component. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_conversation_efficiency_score`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`aifi_constraint_specification_score: constraint specification component. The response field is `,_jsx(_components.code,{children:`aifi_proficiency_constraint_specification_score`}),`.`]}),`\n`,_jsx(_components.li,{children:`aifi_proficiency_moved_up: users whose AI Proficiency moved up. The response field uses the same name.`}),`\n`,_jsx(_components.li,{children:`aifi_proficiency_slipped_back: users whose AI Proficiency slipped back. The response field uses the same name.`}),`\n`,_jsx(_components.li,{children:`aifi_proficiency_stayed: users whose AI Proficiency stayed the same. The response field uses the same name.`}),`\n`]})]})]}),`\n`,_jsxs(ParamField,{body:`additional_group_bys`,type:`object[]`,id:`param-additional-group-bys`,children:[_jsxs(_components.p,{children:[`Optional additional `,_jsx(_components.code,{children:`group_by`}),` filters to further refine the aggregations.`,_jsx(_components.br,{}),`\n`,`These filters allow you to split the selected variables in the main `,_jsx(_components.code,{children:`group_by`}),_jsx(_components.br,{}),`\n`,`into more detailed subcategories.`]}),_jsx(Expandable,{title:`properties`,children:_jsx(ParamField,{path:`kind`,type:`string`,required:true,id:`param-kind-2`,children:_jsx(_components.p,{children:`See group by for available values`})})})]}),`\n`,_jsx(ParamField,{body:`limit`,type:`integer`,required:true,id:`param-limit`,children:_jsx(_components.p,{children:`Parameter needed for pagination. It indicates the number of rows per page.`})}),`\n`,_jsx(ParamField,{body:`offset`,type:`integer`,required:true,id:`param-offset`,children:_jsx(_components.p,{children:`Parameter needed for pagination. It indicates the offset to be applied to the first rows returned.`})}),`\n`,_jsx(Heading,{level:`1`,id:`response`,children:`Response`}),`\n`,_jsx(ResponseField,{name:`total`,type:`integer`,id:`param-total`,children:_jsx(_components.p,{children:`Needed for pagination. The total number of rows available.`})}),`\n`,_jsx(ResponseField,{name:`offset`,type:`integer`,id:`param-offset-1`,children:_jsx(_components.p,{children:`Needed for pagination. It indicates the offset to be applied to the first rows returned.`})}),`\n`,_jsx(ResponseField,{name:`limit`,type:`integer`,id:`param-limit-1`,children:_jsx(_components.p,{children:`Needed for pagination. It indicates the number of rows per page.`})}),`\n`,_jsxs(ResponseField,{name:`data`,type:`object[]`,id:`param-data`,children:[_jsx(_components.p,{children:`The data aggregated using the given group_by field.`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ResponseField,{name:`group_name`,type:`string`,id:`param-group-name`,children:_jsxs(_components.p,{children:[`The value of the selected `,_jsx(_components.code,{children:`group_by`}),` filter.`]})}),_jsx(ResponseField,{name:`n_interactions`,type:`integer`,id:`param-n-interactions`,children:_jsx(_components.p,{children:`The total number of interactions for the selected group.`})}),_jsx(ResponseField,{name:`n_users`,type:`integer`,id:`param-n-users`,children:_jsx(_components.p,{children:`The total number of distinct users for the selected group.`})}),_jsx(ResponseField,{name:`n_feedback`,type:`integer`,id:`param-n-feedback`,children:_jsx(_components.p,{children:`The total number of feedback entries for the selected group.`})}),_jsx(ResponseField,{name:`n_positive_implicit_user_feedback`,type:`integer`,id:`param-n-positive-implicit-user-feedback`,children:_jsx(_components.p,{children:`The total number of positive implicit feedback entries for the selected group.`})}),_jsx(ResponseField,{name:`n_negative_implicit_user_feedback`,type:`integer`,id:`param-n-negative-implicit-user-feedback`,children:_jsx(_components.p,{children:`The total number of negative implicit feedback entries for the selected group.`})}),_jsx(ResponseField,{name:`n_positive_explicit_user_feedback`,type:`integer`,id:`param-n-positive-explicit-user-feedback`,children:_jsx(_components.p,{children:`The total number of positive explicit feedback entries for the selected group.`})}),_jsx(ResponseField,{name:`n_negative_explicit_user_feedback`,type:`integer`,id:`param-n-negative-explicit-user-feedback`,children:_jsx(_components.p,{children:`The total number of negative explicit feedback entries for the selected group.`})}),_jsx(ResponseField,{name:`n_users_negative`,type:`integer`,id:`param-n-users-negative`,children:_jsx(_components.p,{children:`The total number of users who provided negative feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_users_negative_implicit`,type:`integer`,id:`param-n-users-negative-implicit`,children:_jsx(_components.p,{children:`The total number of users who provided negative implicit feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_users_negative_explicit`,type:`integer`,id:`param-n-users-negative-explicit`,children:_jsx(_components.p,{children:`The total number of users who provided negative explicit feedback for the selected group.`})}),_jsx(ResponseField,{name:`explicit_feedback_ratio`,type:`float`,id:`param-explicit-feedback-ratio`,children:_jsx(_components.p,{children:`The ratio of explicit feedback to total feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_paste_output`,type:`integer`,id:`param-n-paste-output`,children:_jsx(_components.p,{children:`The total number of times the output was pasted by users for the selected group.`})}),_jsx(ResponseField,{name:`n_interactions_negative`,type:`integer`,id:`param-n-interactions-negative`,children:_jsx(_components.p,{children:`The total number of interactions with negative feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_interactions_negative_implicit`,type:`integer`,id:`param-n-interactions-negative-implicit`,children:_jsx(_components.p,{children:`The total number of interactions with negative implicit feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_interactions_negative_explicit`,type:`integer`,id:`param-n-interactions-negative-explicit`,children:_jsx(_components.p,{children:`The total number of interactions with negative explicit feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_conversations_positive_explicit`,type:`integer`,id:`param-n-conversations-positive-explicit`,children:_jsx(_components.p,{children:`The total number of conversations with positive explicit feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_conversations_negative_explicit`,type:`integer`,id:`param-n-conversations-negative-explicit`,children:_jsx(_components.p,{children:`The total number of conversations with negative explicit feedback for the selected group.`})}),_jsx(ResponseField,{name:`n_intents`,type:`integer`,id:`param-n-intents`,children:_jsx(_components.p,{children:`The total number of distinct intents for the selected group.`})}),_jsx(ResponseField,{name:`cost`,type:`float`,id:`param-cost`,children:_jsx(_components.p,{children:`The total cost for the selected group.`})}),_jsx(ResponseField,{name:`latency_seconds`,type:`float`,id:`param-latency-seconds`,children:_jsx(_components.p,{children:`The average latency (time-to-response) in seconds for the selected group.`})}),_jsx(ResponseField,{name:`retention`,type:`float`,id:`param-retention`,children:_jsx(_components.p,{children:`The percentage of users who returned to engage with your LLMs at least once within the defined time period for the selected group.`})}),_jsx(ResponseField,{name:`topics`,type:`string[]`,id:`param-topics`,children:_jsx(_components.p,{children:`The list of distinct topics for the selected group.`})}),_jsx(ResponseField,{name:`session_time`,type:`float`,id:`param-session-time`,children:_jsx(_components.p,{children:`The average session time in seconds for the selected group, calculated as the difference between the start of the first interaction and the end of the last interaction in a conversation.`})}),_jsx(ResponseField,{name:`session_length`,type:`integer`,id:`param-session-length`,children:_jsx(_components.p,{children:`The average length of a session for the selected group, defined as the number of interactions in a conversation.`})}),_jsx(ResponseField,{name:`start_session`,type:`string`,id:`param-start-session`,children:_jsx(_components.p,{children:`The timestamp of the start of the first interaction in the requested aggregation for the selected group.`})}),_jsx(ResponseField,{name:`end_session`,type:`string`,id:`param-end-session`,children:_jsx(_components.p,{children:`The timestamp of the end of the last interaction in the requested aggregation for the selected group.`})}),_jsx(ResponseField,{name:`percentage_negative_feedback`,type:`float`,id:`param-percentage-negative-feedback`,children:_jsx(_components.p,{children:`The percentage of interactions where users expressed dissatisfaction with the LLM’s responses for the selected group, encompassing both explicit feedback (e.g., thumbs down) and implicit signals.`})}),_jsx(ResponseField,{name:`percentage_negative_feedback_explicit`,type:`float`,id:`param-percentage-negative-feedback-explicit`,children:_jsx(_components.p,{children:`The percentage of interactions with explicit negative feedback, such as thumbs down or other forms of direct user dissatisfaction, for the selected group.`})}),_jsx(ResponseField,{name:`conversation_percentage_negative_feedback`,type:`float`,id:`param-conversation-percentage-negative-feedback`,children:_jsxs(_components.p,{children:[`The same definition as `,_jsx(_components.code,{children:`percentage_negative_feedback`}),`, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions for the selected group.`]})}),_jsx(ResponseField,{name:`conversation_percentage_negative_feedback_explicit`,type:`float`,id:`param-conversation-percentage-negative-feedback-explicit`,children:_jsxs(_components.p,{children:[`The same definition as `,_jsx(_components.code,{children:`percentage_negative_feedback_explicit`}),`, but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions for the selected group.`]})}),_jsx(ResponseField,{name:`sentiment_score`,type:`float`,id:`param-sentiment-score`,children:_jsx(_components.p,{children:`The average sentiment score of the interactions for the selected group, where a higher score indicates a more positive sentiment.`})}),_jsx(ResponseField,{name:`conversation_sentiment_score`,type:`float`,id:`param-conversation-sentiment-score`,children:_jsx(_components.p,{children:`The average sentiment score of the conversations for the selected group, where a higher score indicates a more positive sentiment.`})}),_jsx(ResponseField,{name:`n_positive_messages`,type:`integer`,id:`param-n-positive-messages`,children:_jsx(_components.p,{children:`The total number of messages in the interactions that are classified with a positive sentiment for the selected group.`})}),_jsx(ResponseField,{name:`n_negative_messages`,type:`integer`,id:`param-n-negative-messages`,children:_jsx(_components.p,{children:`The total number of messages in the interactions that are classified with a negative sentiment for the selected group.`})}),_jsx(ResponseField,{name:`n_topics`,type:`integer`,id:`param-n-topics`,children:_jsx(_components.p,{children:`The total number of distinct topics in the interactions for the selected group.`})}),_jsx(ResponseField,{name:`n_topics_conversations`,type:`integer`,id:`param-n-topics-conversations`,children:_jsx(_components.p,{children:`The total number of distinct conversation topics for the selected group. A conversation topic is the first topic corresponding to the first interaction in a conversation.`})}),_jsx(ResponseField,{name:`n_user_actions`,type:`integer`,id:`param-n-user-actions`,children:_jsx(_components.p,{children:`The total number of distinct user actions in the interactions for the selected group.`})}),_jsx(ResponseField,{name:`n_user_actions_conversations`,type:`integer`,id:`param-n-user-actions-conversations`,children:_jsx(_components.p,{children:`The total number of distinct user actions in the conversations for the selected group. A user action is the first action corresponding to the first interaction in a conversation.`})}),_jsx(ResponseField,{name:`n_negative_intent`,type:`integer`,id:`param-n-negative-intent`,children:_jsx(_components.p,{children:`The total number of distinct negative intents in the interactions for the selected group.`})}),_jsx(ResponseField,{name:`n_keywords`,type:`integer`,id:`param-n-keywords`,children:_jsx(_components.p,{children:`The total number of distinct keywords in the interactions for the selected group.`})}),_jsx(ResponseField,{name:`n_data_sources`,type:`integer`,id:`param-n-data-sources`,children:_jsx(_components.p,{children:`The total number of distinct data sources in the interactions for the selected group.`})}),_jsx(ResponseField,{name:`n_emotions`,type:`integer`,id:`param-n-emotions`,children:_jsx(_components.p,{children:`The total number of distinct emotions in the interactions for the selected group.`})}),_jsxs(ResponseField,{name:`tags`,type:`object[]`,id:`param-tags`,children:[_jsx(_components.p,{children:`The distinct tags with their relative occurrences for the selected group.`}),_jsxs(Expandable,{title:`properties`,children:[_jsx(ResponseField,{name:`tag_name`,type:`string`,id:`param-tag-name`,children:_jsx(_components.p,{children:`The tag name.`})}),_jsx(ResponseField,{name:`n_tag_values`,type:`integer`,id:`param-n-tag-values`,children:_jsxs(_components.p,{children:[`The number of occurrences of the tag in the interactions.\nIf the `,_jsx(_components.code,{children:`conversation_id`}),` filter is applied, this will return the distinct tags with their distinct values rather than count.`]})})]})]}),_jsx(ResponseField,{name:`bounce_rate`,type:`float`,id:`param-bounce-rate`,children:_jsx(_components.p,{children:`The percentage of users who had only a single-message conversation in the given time range for the selected group.`})}),_jsx(ResponseField,{name:`penetration`,type:`float`,id:`param-penetration`,children:_jsx(_components.p,{children:`The percentage of users who have used the platform for the selected group.`})}),_jsx(ResponseField,{name:`user_rating`,type:`float`,id:`param-user-rating`,children:_jsx(_components.p,{children:`The average user rating left by users for the selected group.`})}),_jsx(ResponseField,{name:`aifi_proficiency_score`,type:`float`,id:`param-aifi-proficiency-score`,children:_jsx(_components.p,{children:`AI Proficiency for the selected group, with two digits after the decimal. Null when the group has no proficiency score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_score_prev`,type:`float`,id:`param-aifi-proficiency-score-prev`,children:_jsx(_components.p,{children:`AI Proficiency for the selected group in the previous period. Null when the group has no proficiency score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_task_clarity_score`,type:`float`,id:`param-aifi-proficiency-task-clarity-score`,children:_jsx(_components.p,{children:`Task clarity component of AI Proficiency, with two digits after the decimal. Null when the group has no score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_context_provision_score`,type:`float`,id:`param-aifi-proficiency-context-provision-score`,children:_jsx(_components.p,{children:`Context provision component of AI Proficiency, with two digits after the decimal. Null when the group has no score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_output_specification_score`,type:`float`,id:`param-aifi-proficiency-output-specification-score`,children:_jsx(_components.p,{children:`Output specification component of AI Proficiency, with two digits after the decimal. Null when the group has no score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_prompt_length_score`,type:`float`,id:`param-aifi-proficiency-prompt-length-score`,children:_jsx(_components.p,{children:`Prompt length component of AI Proficiency, with two digits after the decimal. Null when the group has no score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_conversation_efficiency_score`,type:`float`,id:`param-aifi-proficiency-conversation-efficiency-score`,children:_jsx(_components.p,{children:`Conversation efficiency component of AI Proficiency, with two digits after the decimal. Null when the group has no score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_constraint_specification_score`,type:`float`,id:`param-aifi-proficiency-constraint-specification-score`,children:_jsx(_components.p,{children:`Constraint specification component of AI Proficiency, with two digits after the decimal. Null when the group has no score.`})}),_jsx(ResponseField,{name:`aifi_proficiency_moved_up`,type:`integer`,id:`param-aifi-proficiency-moved-up`,children:_jsx(_components.p,{children:`Users in the group whose AI Proficiency moved up. Null when it was not requested.`})}),_jsx(ResponseField,{name:`aifi_proficiency_slipped_back`,type:`integer`,id:`param-aifi-proficiency-slipped-back`,children:_jsx(_components.p,{children:`Users in the group whose AI Proficiency slipped back. Null when it was not requested.`})}),_jsx(ResponseField,{name:`aifi_proficiency_stayed`,type:`integer`,id:`param-aifi-proficiency-stayed`,children:_jsx(_components.p,{children:`Users in the group whose AI Proficiency stayed the same. Null when it was not requested.`})}),_jsx(ResponseField,{name:`roi_hours_saved`,type:`float`,id:`param-roi-hours-saved`,children:_jsx(_components.p,{children:`Hours saved for the selected group when ROI is enabled. Null when ROI is off.`})}),_jsx(ResponseField,{name:`roi_hours_saved_prev`,type:`float`,id:`param-roi-hours-saved-prev`,children:_jsx(_components.p,{children:`Hours saved for the selected group in the previous period. Null when ROI is off.`})}),_jsx(ResponseField,{name:`roi_value_saved`,type:`float`,id:`param-roi-value-saved`,children:_jsx(_components.p,{children:`Value saved for the selected group when ROI is enabled. Null when ROI is off.`})}),_jsx(ResponseField,{name:`roi_value_saved_prev`,type:`float`,id:`param-roi-value-saved-prev`,children:_jsx(_components.p,{children:`Value saved for the selected group in the previous period. Null when ROI is off.`})})]})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Get Interaction Aggregates","api":"POST https://backend.nebuly.com/api/external/get-interaction-aggregates","description":null,"href":"/embedded-pages/interactions/get-interaction-aggregates"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Response","slug":"response","depth":1,"children":[]}],"codeExamples":{},"endpoint":{"title":"Get Interaction Aggregates","path":"/api/external/get-interaction-aggregates","servers":[{"url":"https://backend.nebuly.com"}],"method":"post","request":{"security":[{"title":"Bearer Auth","parameters":{"header":{"Authorization":{"type":"http","scheme":"bearer","description":"Bearer authentication header of the form `Bearer \u003ctoken>`, where `\u003ctoken>` is your auth token."}},"query":{},"cookie":{}}}],"parameters":{"query":{},"header":{},"cookie":{},"path":{}},"body":{"application/json":{"schemaArray":[{"type":"object","properties":{"time_range":[{"type":"object","properties":{"start":[{"type":"string","description":"The start date for the time-range.","required":true}],"end":[{"type":"string","description":"The end date for the time-range.","required":true}]},"description":"The time range to consider when computing the metrics and analytics to show.","required":true}],"filters":[{"type":"array","items":[{"type":"object","properties":{"kind":[{"type":"string","description":"The filter kind. It can be one of the following values: user_intent negative_user_intent_v2 keyword user_feedback_v2 user_rating type_of_problem_v2 type_of_problem_mid positive_comment user cohort data_source pii language emotions type_of_risk tag topic user user_query conversation_id","required":true}],"tag":[{"type":"string","description":"Optional field to be used only when the kind is tag. It should specify the tag name, which is the same as the key you used in the tags dictionary during the interaction submission."}],"values":[{"type":"array","items":[{"type":"string"}],"description":"The values of the selected filter you want to filter on. All values in the list are combined with an “OR” condition. For example, if `kind` is `\"topic\"` and the values are `\"value A\"` and `\"value B\"` , the condition is interpreted as: `topic=\"value A\"` OR `topic=\"value B\"` .","required":true}],"is_exclude":[{"type":"boolean","description":"Optional field to be used to exclude the interactions that match the given filter. If not specified, the default value is false, meaning that the interactions matching the filter will be included. If set to true, the interactions matching the filter will be excluded."}]}}],"description":"Filters you can use to get data based only on the interactions you are interested in.","required":true}],"group_by":[{"type":"object","properties":{"kind":[{"type":"string","description":"The group kind. It can be one of the following values: user_intent negative_user_intent_v2 keyword user_feedback_v2 user_rating type_of_problem_v2 type_of_problem_mid positive_comment user cohort data_source pii language emotions type_of_risk tag topic user user_query conversation_id","required":true}],"tag":[{"type":"string","description":"Optional field to be used only when the kind is tag. It should specify the tag name, which is the same as the key you used in the tags dictionary during the interaction submission."}],"field":[{"type":"string","description":"Optional field used only when kind is conversation_id. It’s used to pick a field of each conversation as group_name. Available values: conversation_id (default) user_query negative_intent"}]},"description":"Groups you can use to aggregate data based on the interactions you’re interested in. If no value is provided, total aggregated values for the selected interactions will be returned. When a group_by is provided, the selected group will appear as `group_name` in the response. If not, the response will contain a single row with the overall aggregated values."}],"variables":[{"type":"array","items":[{"type":"string"}],"description":"The variables to compute aggregated values for. If omitted, the API computes `n_interactions` , `n_users` , `cost` , and `latency_seconds` . Any variable you do not request is null."}],"additional_group_bys":[{"type":"array","items":[{"type":"object","properties":{"kind":[{"type":"string","description":"See group by for available values","required":true}]}}],"description":"Optional additional `group_by` filters to further refine the aggregations. These filters allow you to split the selected variables in the main `group_by` into more detailed subcategories."}],"limit":[{"type":"integer","description":"Parameter needed for pagination. It indicates the number of rows per page.","required":true}],"offset":[{"type":"integer","description":"Parameter needed for pagination. It indicates the offset to be applied to the first rows returned.","required":true}]}}],"examples":{"example":{"value":{"time_range":{"start":"\u003cstring>","end":"\u003cstring>"},"filters":[{"kind":"\u003cstring>","tag":"\u003cstring>","values":["\u003cstring>"],"is_exclude":true}],"group_by":{"kind":"\u003cstring>","tag":"\u003cstring>","field":"\u003cstring>"},"variables":["\u003cstring>"],"additional_group_bys":[{"kind":"\u003cstring>"}],"limit":123,"offset":123}}}}}},"response":{"200":{"application/json":{"schemaArray":[{"type":"object","properties":{"total":[{"type":"integer","description":"Needed for pagination. The total number of rows available."}],"offset":[{"type":"integer","description":"Needed for pagination. It indicates the offset to be applied to the first rows returned."}],"limit":[{"type":"integer","description":"Needed for pagination. It indicates the number of rows per page."}],"data":[{"type":"array","items":[{"type":"object","properties":{"group_name":[{"type":"string","description":"The value of the selected `group_by` filter."}],"n_interactions":[{"type":"integer","description":"The total number of interactions for the selected group."}],"n_users":[{"type":"integer","description":"The total number of distinct users for the selected group."}],"n_feedback":[{"type":"integer","description":"The total number of feedback entries for the selected group."}],"n_positive_implicit_user_feedback":[{"type":"integer","description":"The total number of positive implicit feedback entries for the selected group."}],"n_negative_implicit_user_feedback":[{"type":"integer","description":"The total number of negative implicit feedback entries for the selected group."}],"n_positive_explicit_user_feedback":[{"type":"integer","description":"The total number of positive explicit feedback entries for the selected group."}],"n_negative_explicit_user_feedback":[{"type":"integer","description":"The total number of negative explicit feedback entries for the selected group."}],"n_users_negative":[{"type":"integer","description":"The total number of users who provided negative feedback for the selected group."}],"n_users_negative_implicit":[{"type":"integer","description":"The total number of users who provided negative implicit feedback for the selected group."}],"n_users_negative_explicit":[{"type":"integer","description":"The total number of users who provided negative explicit feedback for the selected group."}],"explicit_feedback_ratio":[{"type":"number","description":"The ratio of explicit feedback to total feedback for the selected group."}],"n_paste_output":[{"type":"integer","description":"The total number of times the output was pasted by users for the selected group."}],"n_interactions_negative":[{"type":"integer","description":"The total number of interactions with negative feedback for the selected group."}],"n_interactions_negative_implicit":[{"type":"integer","description":"The total number of interactions with negative implicit feedback for the selected group."}],"n_interactions_negative_explicit":[{"type":"integer","description":"The total number of interactions with negative explicit feedback for the selected group."}],"n_conversations_positive_explicit":[{"type":"integer","description":"The total number of conversations with positive explicit feedback for the selected group."}],"n_conversations_negative_explicit":[{"type":"integer","description":"The total number of conversations with negative explicit feedback for the selected group."}],"n_intents":[{"type":"integer","description":"The total number of distinct intents for the selected group."}],"cost":[{"type":"number","description":"The total cost for the selected group."}],"latency_seconds":[{"type":"number","description":"The average latency (time-to-response) in seconds for the selected group."}],"retention":[{"type":"number","description":"The percentage of users who returned to engage with your LLMs at least once within the defined time period for the selected group."}],"topics":[{"type":"array","items":[{"type":"string"}],"description":"The list of distinct topics for the selected group."}],"session_time":[{"type":"number","description":"The average session time in seconds for the selected group, calculated as the difference between the start of the first interaction and the end of the last interaction in a conversation."}],"session_length":[{"type":"integer","description":"The average length of a session for the selected group, defined as the number of interactions in a conversation."}],"start_session":[{"type":"string","description":"The timestamp of the start of the first interaction in the requested aggregation for the selected group."}],"end_session":[{"type":"string","description":"The timestamp of the end of the last interaction in the requested aggregation for the selected group."}],"percentage_negative_feedback":[{"type":"number","description":"The percentage of interactions where users expressed dissatisfaction with the LLM’s responses for the selected group, encompassing both explicit feedback (e.g., thumbs down) and implicit signals."}],"percentage_negative_feedback_explicit":[{"type":"number","description":"The percentage of interactions with explicit negative feedback, such as thumbs down or other forms of direct user dissatisfaction, for the selected group."}],"conversation_percentage_negative_feedback":[{"type":"number","description":"The same definition as `percentage_negative_feedback` , but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions for the selected group."}],"conversation_percentage_negative_feedback_explicit":[{"type":"number","description":"The same definition as `percentage_negative_feedback_explicit` , but calculated at the conversation level, meaning it considers the entire conversation rather than individual interactions for the selected group."}],"sentiment_score":[{"type":"number","description":"The average sentiment score of the interactions for the selected group, where a higher score indicates a more positive sentiment."}],"conversation_sentiment_score":[{"type":"number","description":"The average sentiment score of the conversations for the selected group, where a higher score indicates a more positive sentiment."}],"n_positive_messages":[{"type":"integer","description":"The total number of messages in the interactions that are classified with a positive sentiment for the selected group."}],"n_negative_messages":[{"type":"integer","description":"The total number of messages in the interactions that are classified with a negative sentiment for the selected group."}],"n_topics":[{"type":"integer","description":"The total number of distinct topics in the interactions for the selected group."}],"n_topics_conversations":[{"type":"integer","description":"The total number of distinct conversation topics for the selected group. A conversation topic is the first topic corresponding to the first interaction in a conversation."}],"n_user_actions":[{"type":"integer","description":"The total number of distinct user actions in the interactions for the selected group."}],"n_user_actions_conversations":[{"type":"integer","description":"The total number of distinct user actions in the conversations for the selected group. A user action is the first action corresponding to the first interaction in a conversation."}],"n_negative_intent":[{"type":"integer","description":"The total number of distinct negative intents in the interactions for the selected group."}],"n_keywords":[{"type":"integer","description":"The total number of distinct keywords in the interactions for the selected group."}],"n_data_sources":[{"type":"integer","description":"The total number of distinct data sources in the interactions for the selected group."}],"n_emotions":[{"type":"integer","description":"The total number of distinct emotions in the interactions for the selected group."}],"tags":[{"type":"array","items":[{"type":"object","properties":{"tag_name":[{"type":"string","description":"The tag name."}],"n_tag_values":[{"type":"integer","description":"The number of occurrences of the tag in the interactions. If the `conversation_id` filter is applied, this will return the distinct tags with their distinct values rather than count."}]}}],"description":"The distinct tags with their relative occurrences for the selected group."}],"bounce_rate":[{"type":"number","description":"The percentage of users who had only a single-message conversation in the given time range for the selected group."}],"penetration":[{"type":"number","description":"The percentage of users who have used the platform for the selected group."}],"user_rating":[{"type":"number","description":"The average user rating left by users for the selected group."}],"aifi_proficiency_score":[{"type":"number","description":"AI Proficiency for the selected group, with two digits after the decimal. Null when the group has no proficiency score."}],"aifi_proficiency_score_prev":[{"type":"number","description":"AI Proficiency for the selected group in the previous period. Null when the group has no proficiency score."}],"aifi_proficiency_task_clarity_score":[{"type":"number","description":"Task clarity component of AI Proficiency, with two digits after the decimal. Null when the group has no score."}],"aifi_proficiency_context_provision_score":[{"type":"number","description":"Context provision component of AI Proficiency, with two digits after the decimal. Null when the group has no score."}],"aifi_proficiency_output_specification_score":[{"type":"number","description":"Output specification component of AI Proficiency, with two digits after the decimal. Null when the group has no score."}],"aifi_proficiency_prompt_length_score":[{"type":"number","description":"Prompt length component of AI Proficiency, with two digits after the decimal. Null when the group has no score."}],"aifi_proficiency_conversation_efficiency_score":[{"type":"number","description":"Conversation efficiency component of AI Proficiency, with two digits after the decimal. Null when the group has no score."}],"aifi_proficiency_constraint_specification_score":[{"type":"number","description":"Constraint specification component of AI Proficiency, with two digits after the decimal. Null when the group has no score."}],"aifi_proficiency_moved_up":[{"type":"integer","description":"Users in the group whose AI Proficiency moved up. Null when it was not requested."}],"aifi_proficiency_slipped_back":[{"type":"integer","description":"Users in the group whose AI Proficiency slipped back. Null when it was not requested."}],"aifi_proficiency_stayed":[{"type":"integer","description":"Users in the group whose AI Proficiency stayed the same. Null when it was not requested."}],"roi_hours_saved":[{"type":"number","description":"Hours saved for the selected group when ROI is enabled. Null when ROI is off."}],"roi_hours_saved_prev":[{"type":"number","description":"Hours saved for the selected group in the previous period. Null when ROI is off."}],"roi_value_saved":[{"type":"number","description":"Value saved for the selected group when ROI is enabled. Null when ROI is off."}],"roi_value_saved_prev":[{"type":"number","description":"Value saved for the selected group in the previous period. Null when ROI is off."}]}}],"description":"The data aggregated using the given group_by field."}]}}],"examples":{"example":{"value":{"total":123,"offset":123,"limit":123,"data":[{"group_name":"\u003cstring>","n_interactions":123,"n_users":123,"n_feedback":123,"n_positive_implicit_user_feedback":123,"n_negative_implicit_user_feedback":123,"n_positive_explicit_user_feedback":123,"n_negative_explicit_user_feedback":123,"n_users_negative":123,"n_users_negative_implicit":123,"n_users_negative_explicit":123,"explicit_feedback_ratio":123,"n_paste_output":123,"n_interactions_negative":123,"n_interactions_negative_implicit":123,"n_interactions_negative_explicit":123,"n_conversations_positive_explicit":123,"n_conversations_negative_explicit":123,"n_intents":123,"cost":123,"latency_seconds":123,"retention":123,"topics":["\u003cstring>"],"session_time":123,"session_length":123,"start_session":"\u003cstring>","end_session":"\u003cstring>","percentage_negative_feedback":123,"percentage_negative_feedback_explicit":123,"conversation_percentage_negative_feedback":123,"conversation_percentage_negative_feedback_explicit":123,"sentiment_score":123,"conversation_sentiment_score":123,"n_positive_messages":123,"n_negative_messages":123,"n_topics":123,"n_topics_conversations":123,"n_user_actions":123,"n_user_actions_conversations":123,"n_negative_intent":123,"n_keywords":123,"n_data_sources":123,"n_emotions":123,"tags":[{"tag_name":"\u003cstring>","n_tag_values":123}],"bounce_rate":123,"penetration":123,"user_rating":123,"aifi_proficiency_score":123,"aifi_proficiency_score_prev":123,"aifi_proficiency_task_clarity_score":123,"aifi_proficiency_context_provision_score":123,"aifi_proficiency_output_specification_score":123,"aifi_proficiency_prompt_length_score":123,"aifi_proficiency_conversation_efficiency_score":123,"aifi_proficiency_constraint_specification_score":123,"aifi_proficiency_moved_up":123,"aifi_proficiency_slipped_back":123,"aifi_proficiency_stayed":123,"roi_hours_saved":123,"roi_hours_saved_prev":123,"roi_value_saved":123,"roi_value_saved_prev":123}]}}}}}},"deprecated":false}},"jsLinks":[],"subdomain":"nebulyai","siteName":"Documentation","title":"Get Interaction Aggregates - Documentation","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-21T15:39:32.687Z","originalFileLocation":"embedded-pages/interactions/get-interaction-aggregates.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Documentation\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get Interaction Aggregates - Documentation\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Documentation\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://nebulyai.mintlify.app/_mintlify/api/og/v2?division=Insights+API\u0026amp;title=Get+Interaction+Aggregates\u0026amp;theme=37f27c4e01a37604eb643b24\u0026amp;signature=fa46f91fac106b02235a06b00d7af5f7ffe19679e8dc0b90c0b5c698dc0aa890\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Get Interaction Aggregates - Documentation\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://nebulyai.mintlify.app/_mintlify/api/og/v2?division=Insights+API\u0026amp;title=Get+Interaction+Aggregates\u0026amp;theme=37f27c4e01a37604eb643b24\u0026amp;signature=fa46f91fac106b02235a06b00d7af5f7ffe19679e8dc0b90c0b5c698dc0aa890\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/mintlify-assets/_mintlify/favicons/nebulyai/Sm5JTUNJT-7CUVsm/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Documentation\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0a4fff\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/embedded-pages/interactions/get-interaction-aggregates.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.nebuly.com/#organization\",\"name\":\"Documentation\",\"url\":\"https://docs.nebuly.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/nebulyai/Z4cH-Z3_KpwmkdSB/images/black_logo.svg?fit=max\u0026auto=format\u0026n=Z4cH-Z3_KpwmkdSB\u0026q=85\u0026s=88e0930f5ecc7197a8159a23f17ceb3d\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.nebuly.com#website\",\"name\":\"Documentation\",\"url\":\"https://docs.nebuly.com\",\"publisher\":{\"@id\":\"https://docs.nebuly.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates#webpage\",\"url\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates\",\"name\":\"Get Interaction Aggregates\",\"dateModified\":\"2026-10-21T15:39:32.687Z\",\"isPartOf\":{\"@id\":\"https://docs.nebuly.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Insights API\",\"item\":\"https://docs.nebuly.com/embedded-pages/quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Get Interaction Aggregates\",\"item\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates#apireference\",\"headline\":\"Get Interaction Aggregates\",\"name\":\"Get Interaction Aggregates\",\"url\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates\",\"mainEntityOfPage\":{\"@id\":\"https://docs.nebuly.com/embedded-pages/interactions/get-interaction-aggregates#webpage\"},\"dateModified\":\"2026-10-21T15:39:32.687Z\",\"publisher\":{\"@id\":\"https://docs.nebuly.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.nebuly.com#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Documentation\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Documentation","nav":{"global":null,"tabs":[{"tab":"Documentation","icon":{"name":"lightbulb"},"pages":[{"title":"Documentation","href":"/documentation/what-is-nebuly"}]},{"tab":"API Reference","icon":"code","pages":[{"group":"Getting started","pages":[{"title":"Introduction","href":"/introduction"}]},{"group":"Instrument (Core)","pages":[{"title":"Interaction API","api":"POST https://backend.nebuly.com/event-ingestion/api/v3/events/trace_interaction","href":"/tracking/api-reference/events/post-events-interaction-with-trace-v2"}]},{"group":"Instrument (Optional)","pages":[{"title":"Delete Interactions","api":"POST https://backend.nebuly.com/api/external/projects/delete-interactions","href":"/tracking/api-reference/delete-interactions"},{"title":"Send User Feedback","api":"POST https://backend.nebuly.com/event-ingestion/api/v3/events/feedback","href":"/tracking/api-reference/events/send-user-feedbacks"},{"title":"Send Tags","api":"POST https://backend.nebuly.com/event-ingestion/api/v2/events/tags","href":"/tracking/api-reference/events/send-tags"}]},{"group":"Eligible Users","pages":[{"title":"Overview","href":"/eligible-users/overview"},{"title":"Get Eligible Users","api":"GET https://backend.nebuly.com/api/external/eligible-users","href":"/eligible-users/api-reference/get-eligible-users"},{"title":"Send Eligible Users","api":"POST https://backend.nebuly.com/api/external/eligible-users","href":"/eligible-users/api-reference/send-eligible-users"},{"title":"Update Eligible Users","api":"PUT https://backend.nebuly.com/api/external/eligible-users","href":"/eligible-users/api-reference/update-eligible-users"},{"title":"Delete Eligible Users","api":"DELETE https://backend.nebuly.com/api/external/eligible-users","href":"/eligible-users/api-reference/delete-eligible-users"}]},{"group":"Insights API","pages":[{"title":null,"description":null,"href":"/embedded-pages/quickstart"},{"title":"Get Interaction Aggregates","api":"POST https://backend.nebuly.com/api/external/get-interaction-aggregates","href":"/embedded-pages/interactions/get-interaction-aggregates"},{"title":"Get Interaction Aggregates V2","api":"POST https://backend.nebuly.com/api/external/get-interaction-aggregates-v2","description":null,"href":"/embedded-pages/interactions/get-interaction-aggregates-v2"},{"title":"Get Interaction Multi Aggregates","api":"POST https://backend.nebuly.com/api/external/get-interaction-multi-aggregates","href":"/embedded-pages/interactions/get-interaction-multi-aggregates"},{"title":"Get Interactions","api":"POST https://backend.nebuly.com/api/external/get-interactions","href":"/embedded-pages/interactions/get-interactions"},{"title":"Get Interactions Time-Series","api":"POST https://backend.nebuly.com/api/external/get-interaction-time-series","href":"/embedded-pages/interactions/get-interaction-time-series"},{"title":"Get interaction details V2","api":"GET https://backend.nebuly.com/api/external/export/interactions/detail-v2/{interaction_id}","href":"/embedded-pages/get-interaction-details-v2"},{"title":"Get conversation details","api":"POST https://backend.nebuly.com/api/external/get-conversation-detail","href":"/embedded-pages/get-conversation-details"},{"title":"Create Project","api":"POST https://backend.nebuly.com/api/external/projects/create","href":"/embedded-pages/projects/create-project"},{"title":"Delete Project API Key","api":"POST https://backend.nebuly.com/api/external/projects/delete-api-key","href":"/embedded-pages/projects/delete-api-key"}]},{"group":"Reports API","pages":[{"title":"List Reports","api":"GET https://backend.nebuly.com/api/external/reports/list-reports","href":"/embedded-pages/reports/list-reports"},{"title":"Get Report Data","api":"GET https://backend.nebuly.com/api/external/reports/report-data/{report_id}","href":"/embedded-pages/reports/get-report-data"},{"title":"Get Chart","api":"GET https://backend.nebuly.com/api/external/charts/{chart_id}","href":"/embedded-pages/charts/get-chart"}]},{"group":"Utilities","pages":[{"title":"Get Interaction Deep Link","api":"GET https://backend.nebuly.com/api/external/deeplinks/interaction/{interaction_id}","href":"/embedded-pages/deeplinks/get-interaction-deeplink"},{"title":"Get Conversation Deep Link","api":"GET https://backend.nebuly.com/api/external/deeplinks/conversation/{conversation_id}","href":"/embedded-pages/deeplinks/get-conversation-deeplink"}]}]},{"tab":"Connectors","icon":"puzzle-piece","pages":[{"title":"Connectors","href":"/connectors/langfuse/langfuse"}]},{"tab":"Self-hosting","icon":"server","pages":[{"title":"Self-hosting","href":"/self-hosting/overview"}]},{"tab":"Changelog","icon":{"name":"history"},"pages":[{"title":"Changelog","href":"/changelog/product-changelog"}]},{"tab":"UI components","icon":{"name":"grid"},"pages":[{"title":"UI components","href":"/nebuly-reports/overview"}]}]},"basePath":"","title":"Get Interaction Aggregates - Documentation","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":["c2aa737661","2b790eda92","b0f84f53ff"],"chunks":["OpenApiReferenceProvider-CS552b7R.js","utils-DDTCYAF2.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-De8ttokP.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-DrwRDvAh.js","snippetPresets-DtAN0nWx.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-D5rWArI6.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-O2i12wsz.js","shallow-DV8xABTt.js","getApiPlaygroundDisplay-DBZ0B5Jx.js","CodeSnippet-BVi0tPUX.js","CodeSnippets-CqASbIwY.js","Page-m07pfKpT.js","getPastedJson-DG9vsMS8.js","icon-CXzRSCr8.js","MethodPill-BdKVtEuX.js","DuplicateIcon-CZlmBrJI.js","createIcon-biFEUKPL.js","DynamicMarkdown-B54_zNBF.js","SectionHeading-DwwHK3Pt.js","axios-vUo_bRtp.js"]}