Skip to content

Retrieve a report

GET
/reports/{id}
import MoreVoice from "@morevoice/sdk";
const mv = new MoreVoice(); // MOREVOICE_API_KEY from the environment
const report = await mv.reports.retrieve("rpt_7Hk2Lm9Qp");
console.log(report);

Returns the Report object. Answers 404 with the code resource_missing when nothing has this ID in this organisation and mode.

Try it in the API playground with a test-mode key.

id
required
string
<= 200 characters /^rpt_[0-9A-Za-z]+$/

A report ID (rpt_…).

MoreVoice-Version
string
/^\d{4}-\d{2}-\d{2}$/

The API version to use for this request. Defaults to the version the API key is pinned to.

Example
2026-11-01

OK

Media typeapplication/json

A scheduled report: what it shows, for which period, when and to whom it is emailed.

object
cadence
required
object
day_of_month
required
Any of:
integer
>= -9007199254740991 <= 9007199254740991
days
required

Weekly: the weekdays it is sent on.

Array<string>
Allowed values: sun mon tue wed thu fri sat
frequency
required
string
Allowed values: daily weekly monthly
time
required

Local send time, HH:MM (24-hour).

string
timezone
required

IANA time zone of time and of the period.

string
created
required

An ISO-8601 timestamp in UTC.

string format: date-time
enabled
required

Disabled reports are not sent on their schedule (they can still be sent now).

boolean
filters
required
object
agent_ids
required

Only these (agents); empty: all.

Array<string>
assistant_ids
required

Only these (assistants); empty: all.

Array<string>
campaign_ids
required

Only these (campaigns); empty: all.

Array<string>
flow_ids
required

Only these (flows); empty: all.

Array<string>
queue_ids
required

Only these (queues); empty: all.

Array<string>
team_ids
required

Only these (teams); empty: all.

Array<string>
formats
required
object
csv
required

A CSV attachment.

boolean
email
required

The report in the email body (charts inline).

boolean
pdf
required

A PDF attachment.

boolean
id
required

A report ID (prefix rpt_).

string
/^rpt_[0-9A-Za-z]+$/
language
required
string
Allowed values: he en
last_run
required
Any of:
object
error
required
string | null
id
required

A report run ID (prefix rptrun_).

string
/^rptrun_[0-9A-Za-z]+$/
started_at
required

An ISO-8601 timestamp in UTC.

string format: date-time
status
required
string
trigger
required
string
last_run_at
required
Any of:

An ISO-8601 timestamp in UTC.

string format: date-time
livemode
required

true in live mode, false in test mode.

boolean
name
required
string
next_run_at
required
Any of:

An ISO-8601 timestamp in UTC.

string format: date-time
object
required
string
Allowed value: report
owner_id
required
Any of:

The member who created it, or null (created through the API).

string
/^usr_[0-9A-Za-z]+$/
period
required

The window each report covers, in its time zone: today, yesterday, last7, last30, thisWeek, lastWeek, thisMonth or lastMonth.

string
Allowed values: today yesterday last7 last30 thisWeek lastWeek thisMonth lastMonth
recipients
required
Array<object>
object
type
required
string
Allowed values: user team email
value
required

A member’s user ID (usr_…), a team ID (team_…) or an email address. Members and teams resolve to the organisation’s active members’ addresses at send time.

string
updated
required

An ISO-8601 timestamp in UTC.

string format: date-time
widgets
required
Array<object>
object
key
required

Your key for the widget (unique in the report).

string
>= 1 characters <= 40 characters
params
required

limit: rows of top-N tables; sla_sec: the queue answer target.

object
limit
required
Any of:
integer
>= 1 <= 50
sla_sec
required
Any of:
integer
>= 5 <= 600
title
required
Any of:
string
<= 120 characters
type
required

The widget (GET /v1/reports/catalog lists them).

string
Allowed values: kpis volume queues agents ai cost campaigns qa ivr callbacks dnc
Example
{
"cadence": {
"day_of_month": null,
"days": [],
"frequency": "daily",
"time": "08:00",
"timezone": "Asia/Jerusalem"
},
"created": "2026-11-03T09:14:22.000Z",
"enabled": true,
"filters": {
"agent_ids": [],
"assistant_ids": [],
"campaign_ids": [],
"flow_ids": [],
"queue_ids": [],
"team_ids": []
},
"formats": {
"csv": false,
"email": true,
"pdf": true
},
"id": "rpt_2dXk9QmZ4rTv",
"language": "he",
"last_run": null,
"last_run_at": null,
"livemode": true,
"name": "Daily contact-centre summary",
"next_run_at": "2026-11-04T06:00:00.000Z",
"object": "report",
"owner_id": null,
"period": "yesterday",
"recipients": [
{
"type": "email",
"value": "ops@example.com"
}
],
"updated": "2026-11-03T09:14:22.000Z",
"widgets": [
{
"key": "w1",
"params": {
"limit": null,
"sla_sec": null
},
"title": null,
"type": "kpis"
},
{
"key": "w2",
"params": {
"limit": null,
"sla_sec": 20
},
"title": null,
"type": "queues"
}
]
}

The request is invalid: a parameter is missing, malformed or unknown, or the version header is unknown.

Media typeapplication/json

Every /v1 error.

object
error
required
object
code
required

A stable, machine-readable code from the error-code catalogue.

string
details

Structured context, e.g. required_scope or the compliance verdict.

object
key
additional properties
doc_url
required

A link to the documentation of this code.

string
message
required

A human-readable explanation. Do not parse it.

string
param

The request parameter the error relates to, e.g. to or metadata[order_id].

string
request_id
required

The X-Request-Id of this request. Quote it when you contact support.

string
type
required

The category of the error.

string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error compliance_error idempotency_error api_error
Example
{
"error": {
"code": "parameter_missing",
"doc_url": "https://docs.morevoice.ai/api/errors#parameter-missing",
"message": "Missing required parameter: to.",
"param": "to",
"request_id": "req_7Hk2LmN9pQ4rS6tV8wX0yZ",
"type": "invalid_request_error"
}
}
X-Request-Id
string

The request’s ID (req_…). Quote it when you contact support.

No valid API key was sent.

Media typeapplication/json

Every /v1 error.

object
error
required
object
code
required

A stable, machine-readable code from the error-code catalogue.

string
details

Structured context, e.g. required_scope or the compliance verdict.

object
key
additional properties
doc_url
required

A link to the documentation of this code.

string
message
required

A human-readable explanation. Do not parse it.

string
param

The request parameter the error relates to, e.g. to or metadata[order_id].

string
request_id
required

The X-Request-Id of this request. Quote it when you contact support.

string
type
required

The category of the error.

string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error compliance_error idempotency_error api_error
Example
{
"error": {
"code": "invalid_api_key",
"doc_url": "https://docs.morevoice.ai/api/errors#invalid-api-key",
"message": "Invalid API key.",
"request_id": "req_7Hk2LmN9pQ4rS6tV8wX0yZ",
"type": "authentication_error"
}
}
X-Request-Id
string

The request’s ID (req_…). Quote it when you contact support.

The key may not do this (a missing scope, a plan limit, or a compliance block).

Media typeapplication/json

Every /v1 error.

object
error
required
object
code
required

A stable, machine-readable code from the error-code catalogue.

string
details

Structured context, e.g. required_scope or the compliance verdict.

object
key
additional properties
doc_url
required

A link to the documentation of this code.

string
message
required

A human-readable explanation. Do not parse it.

string
param

The request parameter the error relates to, e.g. to or metadata[order_id].

string
request_id
required

The X-Request-Id of this request. Quote it when you contact support.

string
type
required

The category of the error.

string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error compliance_error idempotency_error api_error
Example
{
"error": {
"code": "missing_scope",
"doc_url": "https://docs.morevoice.ai/api/errors#missing-scope",
"message": "This API key lacks the calls:write scope.",
"request_id": "req_7Hk2LmN9pQ4rS6tV8wX0yZ",
"type": "permission_error"
}
}
X-Request-Id
string

The request’s ID (req_…). Quote it when you contact support.

No object with this ID exists in this organisation and mode.

Media typeapplication/json

Every /v1 error.

object
error
required
object
code
required

A stable, machine-readable code from the error-code catalogue.

string
details

Structured context, e.g. required_scope or the compliance verdict.

object
key
additional properties
doc_url
required

A link to the documentation of this code.

string
message
required

A human-readable explanation. Do not parse it.

string
param

The request parameter the error relates to, e.g. to or metadata[order_id].

string
request_id
required

The X-Request-Id of this request. Quote it when you contact support.

string
type
required

The category of the error.

string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error compliance_error idempotency_error api_error
Example
{
"error": {
"code": "resource_missing",
"doc_url": "https://docs.morevoice.ai/api/errors#resource-missing",
"message": "No such object: 'call_4Gk2'.",
"param": "id",
"request_id": "req_7Hk2LmN9pQ4rS6tV8wX0yZ",
"type": "not_found"
}
}
X-Request-Id
string

The request’s ID (req_…). Quote it when you contact support.

Too many requests, or no call capacity right now. Retry after the Retry-After delay.

Media typeapplication/json

Every /v1 error.

object
error
required
object
code
required

A stable, machine-readable code from the error-code catalogue.

string
details

Structured context, e.g. required_scope or the compliance verdict.

object
key
additional properties
doc_url
required

A link to the documentation of this code.

string
message
required

A human-readable explanation. Do not parse it.

string
param

The request parameter the error relates to, e.g. to or metadata[order_id].

string
request_id
required

The X-Request-Id of this request. Quote it when you contact support.

string
type
required

The category of the error.

string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error compliance_error idempotency_error api_error
Example
{
"error": {
"code": "rate_limited",
"doc_url": "https://docs.morevoice.ai/api/errors#rate-limited",
"message": "Too many requests. Retry after 1 second.",
"request_id": "req_7Hk2LmN9pQ4rS6tV8wX0yZ",
"type": "rate_limit_error"
}
}
Retry-After
integer

Seconds to wait before retrying.

X-Request-Id
string

The request’s ID (req_…). Quote it when you contact support.

Something went wrong on MoreVoice’s side. Retry with the same Idempotency-Key.

Media typeapplication/json

Every /v1 error.

object
error
required
object
code
required

A stable, machine-readable code from the error-code catalogue.

string
details

Structured context, e.g. required_scope or the compliance verdict.

object
key
additional properties
doc_url
required

A link to the documentation of this code.

string
message
required

A human-readable explanation. Do not parse it.

string
param

The request parameter the error relates to, e.g. to or metadata[order_id].

string
request_id
required

The X-Request-Id of this request. Quote it when you contact support.

string
type
required

The category of the error.

string
Allowed values: invalid_request_error authentication_error permission_error not_found conflict rate_limit_error compliance_error idempotency_error api_error
Example
{
"error": {
"code": "internal_error",
"doc_url": "https://docs.morevoice.ai/api/errors#internal-error",
"message": "Something went wrong on MoreVoice's side.",
"request_id": "req_7Hk2LmN9pQ4rS6tV8wX0yZ",
"type": "api_error"
}
}
X-Request-Id
string

The request’s ID (req_…). Quote it when you contact support.