Reporting API v1.1.10
Reporting API
You are viewing REST API documentation. This documentation is auto-generated from a swagger specification which itself is generated from annotations in the source code of the project. It is possible that this documentation includes bugs and that code samples are incomplete or wrong.
Authentication
OAuth 2.0 Authorization. Authenticate using Client Credentials
Flow: clientCredentials
OAuth 2.0 Token URL = https://auvious.video/security/oauth/token
OAuth 2.0 Scope
Scope Scope Description
HTTP Authentication, scheme: Bearer Jwt Bearer Token Access
metrics-controller
Retrieve yearly values for a year range
GET https://auvious.video/api/reporting/metrics/yearly/{metric}?startYear=2024&endYear=2026 HTTP/1.1
Host: auvious.video
Accept: application/json
Returns one entry per calendar year in [startYear, endYear] (inclusive). endYear is
clamped to the current UTC year if higher; years with no data are returned with value: 0.
Throws 400 if endYear < startYear or if the range exceeds 100 years.
Results are scoped to the organization in the JWT organization_id claim. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| startYear | query | integer(int32) | true | Inclusive start year (UTC). |
| endYear | query | integer(int32) | true | Inclusive end year (UTC). Clamped to the current year if higher. |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [YearlyMetricResult] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
[
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0
}
]
400 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/yearly/{metric}?startYear=2024&endYear=2026 \
-H 'Accept: application/json'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/yearly/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': 'application/json'
}
fetch('https://auvious.video/api/reporting/metrics/yearly/{metric}?startYear=2024&endYear=2026', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/yearly/{metric}?startYear=2024&endYear=2026");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/yearly/{metric}',
params={
'startYear': '2024',
'endYear': '2026'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/yearly/{metric}',
params: {
'startYear' => 'integer(int32)',
'endYear' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
Retrieve weekly values for a year
GET https://auvious.video/api/reporting/metrics/weekly/{metric}?year=2026 HTTP/1.1
Host: auvious.video
Accept: */*
Returns one entry per week in the requested year, sorted ascending. Weeks with no data are
returned with value: 0.
Week numbering follows MongoDB $week semantics: Sunday-start, numbered 0–53. Concretely:
- Week 1 begins on the first Sunday of the year.
- Week 0 is the partial week from January 1 up to (but not including) that first Sunday. Week 0 is omitted only when January 1 itself falls on a Sunday.
- The maximum week number is normally 52, but is 53 in years where Dec 31 falls in a 53rd Sunday-start week (e.g. when Jan 1 is a Sunday, or a leap year where Jan 1 is a Saturday).
For the current year, only elapsed weeks (0/1 through the current week) are returned. For past years, all weeks of that year are returned.
Throws 400 if year is in the future.
Results are scoped to the organization in the JWT organization_id claim. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| year | query | integer(int32) | true | Calendar year (UTC). Returns Sunday-start weeks 0–52/53 of this year. |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [WeeklyMetricResult] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
| » week | integer(int32) | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/weekly/{metric}?year=2026 \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/weekly/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/metrics/weekly/{metric}?year=2026', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/weekly/{metric}?year=2026");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/weekly/{metric}',
params={
'year': '2026'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/weekly/{metric}',
params: {
'year' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
Retrieve the all-time accumulated value for a metric
GET https://auvious.video/api/reporting/metrics/total/{metric} HTTP/1.1
Host: auvious.video
Accept: application/json
Returns a single value reduced across every year available in the matview, using the metric's
natural reduction: sum for counters and *_sum metrics, average for *_average* /
concurrent_calls_avg / rating_score_average, and max for concurrent_calls_max.
Note: averages are currently computed as the unweighted mean of yearly averages — accurate when each year has comparable sample size, less so otherwise.
Results are scoped to the organization in the JWT organization_id claim. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | MetricResult |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
{
"value": 0.1,
"sum": 0.1,
"count": 0.1
}
400 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/total/{metric} \
-H 'Accept: application/json'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"application/json"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/total/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': 'application/json'
}
fetch('https://auvious.video/api/reporting/metrics/total/{metric}', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/total/{metric}");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': 'application/json'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/total/{metric}',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => 'application/json'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/total/{metric}',
params: {}, headers: headers
p JSON.parse(result)
Retrieve monthly values for a year
GET https://auvious.video/api/reporting/metrics/monthly/{metric}?year=2026 HTTP/1.1
Host: auvious.video
Accept: */*
Returns one entry per calendar month in the requested year. For the current year, only
elapsed months (1 through the current UTC month) are returned. For past years, all 12
months are returned. Months with no data are returned with value: 0.
Throws 400 if year is in the future.
Results are scoped to the organization in the JWT organization_id claim. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| year | query | integer(int32) | true | Calendar year (UTC). Must not be in the future. |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [MonthlyMetricResult] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
| » month | integer(int32) | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/monthly/{metric}?year=2026 \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/monthly/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/metrics/monthly/{metric}?year=2026', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/monthly/{metric}?year=2026");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/monthly/{metric}',
params={
'year': '2026'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/monthly/{metric}',
params: {
'year' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
Retrieve monthly values for all organizations (internal)
GET https://auvious.video/api/reporting/metrics/internal/monthly/{metric}?year=2026&month=4 HTTP/1.1
Host: auvious.video
Accept: */*
Cross-tenant variant of /metrics/monthly. Returns one entry per organization that has a
value for the (year, month) bucket; organizations with no data are not included
(i.e. zero-fill is not applied).
Requires authority ROLE_SERVICE or scope BILLING_METRIC_READ. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| year | query | integer(int32) | true | Calendar year (UTC). Must not be in the future. |
| month | query | integer(int32) | true | Calendar month, 1–12 (1 = January). |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [MonthlyMetricResultWithOrganization] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
| » month | integer(int32) | false | none | none |
| » organizationId | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/internal/monthly/{metric}?year=2026&month=4 \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/internal/monthly/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/metrics/internal/monthly/{metric}?year=2026&month=4', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/internal/monthly/{metric}?year=2026&month=4");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/internal/monthly/{metric}',
params={
'year': '2026',
'month': '4'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/internal/monthly/{metric}',
params: {
'year' => 'integer(int32)',
'month' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
Retrieve daily values for all organizations (internal)
GET https://auvious.video/api/reporting/metrics/internal/daily/{metric}?year=2026&month=4&day=28 HTTP/1.1
Host: auvious.video
Accept: */*
Cross-tenant variant of /metrics/daily. Returns one entry per organization that has a
value for the (year, month, day) bucket; organizations with no data are not
included (zero-fill is not applied).
Requires authority ROLE_SERVICE or scope BILLING_METRIC_READ. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| year | query | integer(int32) | true | Calendar year (UTC). Must not be in the future. |
| month | query | integer(int32) | true | Calendar month, 1–12 (1 = January). |
| day | query | integer(int32) | true | Day of month, 1–31. Must be a valid day of the given month. |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [DailyMetricResultWithOrganization] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
| » month | integer(int32) | false | none | none |
| » day | integer(int32) | false | none | none |
| » organizationId | string | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/internal/daily/{metric}?year=2026&month=4&day=28 \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/internal/daily/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/metrics/internal/daily/{metric}?year=2026&month=4&day=28', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/internal/daily/{metric}?year=2026&month=4&day=28");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/internal/daily/{metric}',
params={
'year': '2026',
'month': '4',
'day': '28'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/internal/daily/{metric}',
params: {
'year' => 'integer(int32)',
'month' => 'integer(int32)',
'day' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
Retrieve hourly values for a day
GET https://auvious.video/api/reporting/metrics/hourly/{metric}?year=2026&month=4&day=28 HTTP/1.1
Host: auvious.video
Accept: */*
Returns one entry per hour of the requested day, sorted ascending. Hours are 0-indexed
(0 = midnight UTC, 23 = 23:00 UTC). For the current day, only elapsed hours (0 through
the current UTC hour) are returned. For past days, all 24 hours are returned. Hours with
no data are returned with value: 0.
Throws 400 if the date is in the future.
Results are scoped to the organization in the JWT organization_id claim. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| year | query | integer(int32) | true | Calendar year (UTC). Must not be in the future. |
| month | query | integer(int32) | true | Calendar month, 1–12 (1 = January). |
| day | query | integer(int32) | true | Day of month, 1–31. Must be a valid day of the given month. |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [HourlyMetricResult] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
| » month | integer(int32) | false | none | none |
| » day | integer(int32) | false | none | none |
| » hour | integer(int32) | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/hourly/{metric}?year=2026&month=4&day=28 \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/hourly/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/metrics/hourly/{metric}?year=2026&month=4&day=28', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/hourly/{metric}?year=2026&month=4&day=28");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/hourly/{metric}',
params={
'year': '2026',
'month': '4',
'day': '28'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/hourly/{metric}',
params: {
'year' => 'integer(int32)',
'month' => 'integer(int32)',
'day' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
Retrieve daily values for a month
GET https://auvious.video/api/reporting/metrics/daily/{metric}?year=2026&month=4 HTTP/1.1
Host: auvious.video
Accept: */*
Returns one entry per day in the requested month. For the current month, only elapsed
days (1 through the current UTC day) are returned. For past months, all days of the month
are returned (28–31 entries depending on the month). Days with no data are returned with
value: 0.
Throws 400 if (year, month) is in the future.
Results are scoped to the organization in the JWT organization_id claim. All times are UTC.
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| metric | path | string | true | video_calls_created, interactions_created, ratings_submitted, rating_score_average, concurrent_calls_max, concurrent_calls_avg, conference_average_duration, conference_duration_sum, call_average_duration, call_duration_sum, video_calls_performed, video_calls_abandoned, video_calls, video_calls_with_small_duration, video_calls_with_normal_duration, video_calls_with_long_duration, cobrowse_sessions_created, cobrowse_sessions_performed, cobrowse_sessions_denied, cobrowse_sessions_abandoned, cobrowse_control_requested, cobrowse_control_accepted, cobrowse_control_denied, cobrowse_session_duration, users_authenticated, onhold_duration_sum |
| year | query | integer(int32) | true | Calendar year (UTC). Must not be in the future. |
| month | query | integer(int32) | true | Calendar month, 1–12 (1 = January). |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
| 400 | Bad Request | Bad Request | Inline |
Response Schema
Status Code 200
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| anonymous | [DailyMetricResult] | false | none | none |
| » value | number(double) | false | none | none |
| » sum | number(double) | false | none | none |
| » count | number(double) | false | none | none |
| » year | integer(int32) | false | none | none |
| » month | integer(int32) | false | none | none |
| » day | integer(int32) | false | none | none |
Status Code 400
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| » additionalProperties | object | false | none | none |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/metrics/daily/{metric}?year=2026&month=4 \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/metrics/daily/{metric}", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/metrics/daily/{metric}?year=2026&month=4', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/metrics/daily/{metric}?year=2026&month=4");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/metrics/daily/{metric}',
params={
'year': '2026',
'month': '4'},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/metrics/daily/{metric}',
params: {
'year' => 'integer(int32)',
'month' => 'integer(int32)'}, headers: headers
p JSON.parse(result)
audit-controller
retrieve audit logs
GET https://auvious.video/api/reporting/audits?params=property1,string,property2,string&pageable=page,0,size,1,sort,string HTTP/1.1
Host: auvious.video
Accept: */*
retrieve filtered audit logs
Parameters
| Parameter | In | Type | Required | Description |
|---|---|---|---|---|
| params | query | object | true | none |
| pageable | query | Pageable | true | none |
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | PageAuditLog |
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/audits?params=property1,string,property2,string&pageable=page,0,size,1,sort,string \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/audits", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/audits?params=property1,string,property2,string&pageable=page,0,size,1,sort,string', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/audits?params=property1,string,property2,string&pageable=page,0,size,1,sort,string");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/audits',
params={
'params': {
"property1": "string",
"property2": "string"
},
'pageable': {
"page": 0,
"size": 1,
"sort": [
"string"
]
}},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/audits',
params: {
'params' => 'object',
'pageable' => '[Pageable](#schemapageable)'}, headers: headers
p JSON.parse(result)
retrieve audit application types
GET https://auvious.video/api/reporting/audits/applications HTTP/1.1
Host: auvious.video
Accept: */*
retrieve available audit application types
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/audits/applications \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/audits/applications", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/audits/applications', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/audits/applications");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/audits/applications',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/audits/applications',
params: {}, headers: headers
p JSON.parse(result)
retrieve audit action types
GET https://auvious.video/api/reporting/audits/actions HTTP/1.1
Host: auvious.video
Accept: */*
retrieve available audit action types
Responses
Overview
| Status | Meaning | Description | Schema |
|---|---|---|---|
| 200 | OK | OK | Inline |
Response Schema
Examples
200 Response
To perform this operation, you must be authenticated by means of one of the following methods: BearerToken, OAuth2ClientCredentials
Code samples
- Shell
- Go
- Node
- Java
- Python
- Ruby
curl -X GET https://auvious.video/api/reporting/audits/actions \
-H 'Accept: */*'
package main
import (
"bytes"
"net/http"
)
func main() {
headers := map[string][]string{
"Accept": []string{"*/*"},
}
var body []byte
// body = ...
req, err := http.NewRequest("GET", "https://auvious.video/api/reporting/audits/actions", bytes.NewBuffer(body))
req.Header = headers
client := &http.Client{}
resp, err := client.Do(req)
// ...
}
const fetch = require('node-fetch');
const headers = {
'Accept': '*/*'
}
fetch('https://auvious.video/api/reporting/audits/actions', {
method: 'GET',
headers
})
.then(r => r.json())
.then((body) => {
console.log(body)
})
// This sample needs improvement.
URL obj = new URL("https://auvious.video/api/reporting/audits/actions");
HttpURLConnection con = (HttpURLConnection) obj.openConnection();
con.setRequestMethod("GET");
int responseCode = con.getResponseCode();
BufferedReader in = new BufferedReader(
new InputStreamReader(con.getInputStream())
);
String inputLine;
StringBuffer response = new StringBuffer();
while ((inputLine = in.readLine()) != null) {
response.append(inputLine);
}
in.close();
System.out.println(response.toString());
import requests
headers = {
'Accept': '*/*'
}
r = requests.get(
'https://auvious.video/api/reporting/audits/actions',
params={},
headers = headers)
print r.json()
require 'rest-client'
require 'json'
headers = {
'Accept' => '*/*'
}
result = RestClient.get 'https://auvious.video/api/reporting/audits/actions',
params: {}, headers: headers
p JSON.parse(result)
Schemas
YearlyMetricResult
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
WeeklyMetricResult
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0,
"week": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
| week | integer(int32) | false | none | none |
MetricResult
{
"value": 0.1,
"sum": 0.1,
"count": 0.1
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
MonthlyMetricResult
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0,
"month": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
| month | integer(int32) | false | none | none |
MonthlyMetricResultWithOrganization
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0,
"month": 0,
"organizationId": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
| month | integer(int32) | false | none | none |
| organizationId | string | false | none | none |
DailyMetricResultWithOrganization
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0,
"month": 0,
"day": 0,
"organizationId": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
| month | integer(int32) | false | none | none |
| day | integer(int32) | false | none | none |
| organizationId | string | false | none | none |
HourlyMetricResult
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0,
"month": 0,
"day": 0,
"hour": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
| month | integer(int32) | false | none | none |
| day | integer(int32) | false | none | none |
| hour | integer(int32) | false | none | none |
DailyMetricResult
{
"value": 0.1,
"sum": 0.1,
"count": 0.1,
"year": 0,
"month": 0,
"day": 0
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| value | number(double) | false | none | none |
| sum | number(double) | false | none | none |
| count | number(double) | false | none | none |
| year | integer(int32) | false | none | none |
| month | integer(int32) | false | none | none |
| day | integer(int32) | false | none | none |
Pageable
{
"page": 0,
"size": 1,
"sort": [
"string"
]
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| page | integer(int32) | false | none | none |
| size | integer(int32) | false | none | none |
| sort | [string] | false | none | none |
AuditEvent
{
"timeStamp": "string",
"interactionId": "string",
"organizationId": "string",
"applicationId": "string",
"userId": "string",
"roles": [
"string"
],
"action": "CREATE",
"outcome": "SUCCESS",
"application": "RECORDING",
"detail": "string"
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| timeStamp | string | false | none | none |
| interactionId | string | false | none | none |
| organizationId | string | false | none | none |
| applicationId | string | false | none | none |
| userId | string | false | none | none |
| roles | [string] | false | none | none |
| action | string | false | none | none |
| outcome | string | false | none | none |
| application | string | false | none | none |
| detail | string | false | none | none |
Enumerated Values
| Property | Value |
|---|---|
| action | CREATE |
| action | CANCEL |
| action | RE_EXECUTE |
| action | URL_ATTACHMENT |
| action | URL_INLINE |
| action | START |
| action | STOP |
| action | UPDATE |
| action | DELETE |
| action | ACTIVATE |
| action | APPOINTMENT_RE_SCHEDULE |
| action | APPOINTMENT_RE_ASSIGN |
| action | ASR_ADD_LANGUAGE |
| action | ASR_REMOVE_LANGUAGE |
| action | ASR_ADD_TRANSLATION_LANGUAGE |
| action | ASR_REMOVE_TRANSLATION_LANGUAGE |
| action | COMPLIANCE |
| outcome | SUCCESS |
| outcome | FAIL |
| application | RECORDING |
| application | COMPOSITION |
| application | APPOINTMENT |
| application | APPLICATION |
| application | ASR |
| application | WEBHOOK |
AuditLog
{
"audit": {
"timeStamp": "string",
"interactionId": "string",
"organizationId": "string",
"applicationId": "string",
"userId": "string",
"roles": [
"string"
],
"action": "CREATE",
"outcome": "SUCCESS",
"application": "RECORDING",
"detail": "string"
}
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| audit | AuditEvent | false | none | none |
PageAuditLog
{
"totalElements": 0,
"totalPages": 0,
"first": true,
"last": true,
"size": 0,
"content": [
{
"audit": {
"timeStamp": "string",
"interactionId": "string",
"organizationId": "string",
"applicationId": "string",
"userId": "string",
"roles": [
"string"
],
"action": "CREATE",
"outcome": "SUCCESS",
"application": "RECORDING",
"detail": "string"
}
}
],
"number": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"numberOfElements": 0,
"pageable": {
"offset": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"paged": true,
"pageNumber": 0,
"pageSize": 0,
"unpaged": true
},
"empty": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| totalElements | integer(int64) | false | none | none |
| totalPages | integer(int32) | false | none | none |
| first | boolean | false | none | none |
| last | boolean | false | none | none |
| size | integer(int32) | false | none | none |
| content | [AuditLog] | false | none | none |
| number | integer(int32) | false | none | none |
| sort | [SortObject] | false | none | none |
| numberOfElements | integer(int32) | false | none | none |
| pageable | PageableObject | false | none | none |
| empty | boolean | false | none | none |
PageableObject
{
"offset": 0,
"sort": [
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
],
"paged": true,
"pageNumber": 0,
"pageSize": 0,
"unpaged": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| offset | integer(int64) | false | none | none |
| sort | [SortObject] | false | none | none |
| paged | boolean | false | none | none |
| pageNumber | integer(int32) | false | none | none |
| pageSize | integer(int32) | false | none | none |
| unpaged | boolean | false | none | none |
SortObject
{
"direction": "string",
"nullHandling": "string",
"ascending": true,
"property": "string",
"ignoreCase": true
}
Properties
| Name | Type | Required | Restrictions | Description |
|---|---|---|---|---|
| direction | string | false | none | none |
| nullHandling | string | false | none | none |
| ascending | boolean | false | none | none |
| property | string | false | none | none |
| ignoreCase | boolean | false | none | none |