I def have to pull it again. I know you have to put "Table" for like every call. Here is a start:
1. Query Structure
A query consists of the following fields:
table: The data source. For example:
"call" for call-related analytics.
groupBy: Columns to group data by. Examples include:
"type": Call type (e.g., webCall, outboundPhoneCall).
"status": Call status (e.g., ended, queued).
"assistantId": Specific assistant involved.
"endedReason": Reason for call ending.
"analysis.successEvaluation": Evaluation of success from analytics.
name: A custom name for the query.
timeRange: The time frame for the query:
start: Start date-time in ISO format (YYYY-MM-DDTHH:MM:SSZ).
end: End date-time in ISO format.
step: Interval for data aggregation (e.g., minute, hour, day, week, month, quarter, year, etc.).
timezone: Time zone (e.g., "UTC").
operations: Calculations to perform on the grouped data. Each operation contains:
operation: The type of aggregation:
"sum": Sum of values.
"avg": Average of values.
"count": Count of occurrences.
"min": Minimum value.
"max": Maximum value.
column: The column to operate on. Examples:
"id": Call ID.
"cost": Total cost.
"costBreakdown.llm": Cost of language model usage.
"costBreakdown.stt": Cost of speech-to-text services.
"costBreakdown.tts": Cost of text-to-speech services.
"costBreakdown.vapi": Cost of VAPI services.
"costBreakdown.ttsCharacters": Number of TTS characters.
"costBreakdown.llmPromptTokens": Prompt tokens for the language model.
"costBreakdown.llmCompletionTokens": Completion tokens for the language model.
"duration": Call duration.
alias: A name for the resulting value (e.g., "total_cost").