List reports
import MoreVoice from "@morevoice/sdk";
const mv = new MoreVoice(); // MOREVOICE_API_KEY from the environment
for await (const report of mv.reports.list()) { console.log(report);}from morevoice import MoreVoice
client = MoreVoice() # MOREVOICE_API_KEY from the environment
for report in client.reports.list(): print(report)curl https://api.morevoice.ai/v1/reports \ -H "Authorization: Bearer $MOREVOICE_API_KEY"Returns a page of Report objects, newest first. Pass next_cursor as starting_after for the next page; the SDKs iterate every page for you.
Try it in the API playground with a test-mode key.
Authorizations
Section titled “Authorizations”Parameters
Section titled “Parameters”Query Parameters
Section titled “Query Parameters”How many objects to return, 1–100 (default 20).
A cursor (next_cursor) or object ID: return the objects after it (older).
A cursor or object ID: return the objects before it (newer).
Header Parameters
Section titled “Header Parameters”The API version to use for this request. Defaults to the version the API key is pinned to.
Example
2026-11-01Responses
Section titled “Responses”OK
A page of the organisation’s reports, newest first.
object
A scheduled report: what it shows, for which period, when and to whom it is emailed.
object
An ISO-8601 timestamp in UTC.
Disabled reports are not sent on their schedule (they can still be sent now).
object
Only these (agents); empty: all.
Only these (assistants); empty: all.
Only these (campaigns); empty: all.
Only these (flows); empty: all.
Only these (queues); empty: all.
Only these (teams); empty: all.
object
A CSV attachment.
The report in the email body (charts inline).
A PDF attachment.
A report ID (prefix rpt_).
true in live mode, false in test mode.
The window each report covers, in its time zone: today, yesterday, last7, last30, thisWeek, lastWeek, thisMonth or lastMonth.
object
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.
An ISO-8601 timestamp in UTC.
object
Your key for the widget (unique in the report).
The widget (GET /v1/reports/catalog lists them).
Whether more objects follow in the requested direction.
Pass as starting_after (or ending_before, when paging backwards) to continue; null on the last page.
The list’s path.
Example
{ "data": [ { "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" } ] } ], "has_more": false, "next_cursor": null, "object": "list", "url": "/v1/reports"}The request is invalid: a parameter is missing, malformed or unknown, or the version header is unknown.
Every /v1 error.
object
object
A stable, machine-readable code from the error-code catalogue.
Structured context, e.g. required_scope or the compliance verdict.
object
A link to the documentation of this code.
A human-readable explanation. Do not parse it.
The request parameter the error relates to, e.g. to or metadata[order_id].
The X-Request-Id of this request. Quote it when you contact support.
The category of the 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" }}Headers
Section titled “Headers”The request’s ID (req_…). Quote it when you contact support.
No valid API key was sent.
Every /v1 error.
object
object
A stable, machine-readable code from the error-code catalogue.
Structured context, e.g. required_scope or the compliance verdict.
object
A link to the documentation of this code.
A human-readable explanation. Do not parse it.
The request parameter the error relates to, e.g. to or metadata[order_id].
The X-Request-Id of this request. Quote it when you contact support.
The category of the 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" }}Headers
Section titled “Headers”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).
Every /v1 error.
object
object
A stable, machine-readable code from the error-code catalogue.
Structured context, e.g. required_scope or the compliance verdict.
object
A link to the documentation of this code.
A human-readable explanation. Do not parse it.
The request parameter the error relates to, e.g. to or metadata[order_id].
The X-Request-Id of this request. Quote it when you contact support.
The category of the 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" }}Headers
Section titled “Headers”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.
Every /v1 error.
object
object
A stable, machine-readable code from the error-code catalogue.
Structured context, e.g. required_scope or the compliance verdict.
object
A link to the documentation of this code.
A human-readable explanation. Do not parse it.
The request parameter the error relates to, e.g. to or metadata[order_id].
The X-Request-Id of this request. Quote it when you contact support.
The category of the 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" }}Headers
Section titled “Headers”Seconds to wait before retrying.
The request’s ID (req_…). Quote it when you contact support.
Something went wrong on MoreVoice’s side. Retry with the same Idempotency-Key.
Every /v1 error.
object
object
A stable, machine-readable code from the error-code catalogue.
Structured context, e.g. required_scope or the compliance verdict.
object
A link to the documentation of this code.
A human-readable explanation. Do not parse it.
The request parameter the error relates to, e.g. to or metadata[order_id].
The X-Request-Id of this request. Quote it when you contact support.
The category of the 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" }}Headers
Section titled “Headers”The request’s ID (req_…). Quote it when you contact support.