Skip to content

List events

GET
/events
import { createClient, createResources } from "@morevoice/sdk";
const mv = createResources({
client: createClient({ baseUrl: "https://api.morevoice.ai/v1", auth: process.env.MOREVOICE_API_KEY }),
});
for await (const event of mv.events.list()) {
console.log(event);
}

Events in this mode, newest first, for the last 30 days. Filter by type (type=call.*, or several with types[]) and creation time (created[gte]…).

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

limit
integer
default: 20 >= 1 <= 100

How many objects to return, 1–100 (default 20).

starting_after
string
>= 1 characters <= 512 characters

A cursor (next_cursor) or object ID: return the objects after it (older).

ending_before
string
>= 1 characters <= 512 characters

A cursor or object ID: return the objects before it (newer).

type
string
>= 1 characters <= 64 characters

Only events of this type. An event type (call.ended), a group (call.*) or "*" for every event.

types
Array<string>
<= 20 items

Only events of these types (types[]=call.ended&types[]=qa.*).

created

Filter on the creation time: created[gte], created[gt], created[lte], created[lt] (ISO-8601).

object
gt
string format: date-time
<= 40 characters
gte
string format: date-time
<= 40 characters
lt
string format: date-time
<= 40 characters
lte
string format: date-time
<= 40 characters
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 page of events, newest first.

object
data
required
Array<object>

Something that happened in your organisation: what webhooks deliver, kept 30 days.

object
api_version
required
string
created
required

An ISO-8601 timestamp in UTC.

string format: date-time
data
required
object
legacy_event

The previous webhook name of this event (e.g. dnc.added), when it has one.

string
object
required

The object the event is about (its shape per type: the webhooks section of this document).

object
key
additional properties
previous_attributes
object
key
additional properties
id
required

The event ID (also the webhook-id header of its deliveries).

string
/^evt_[0-9A-Za-z]+$/
livemode
required

true in live mode, false in test mode.

boolean
object
required
string
Allowed value: event
org_id
required

A org ID (prefix org_).

string
/^org_[0-9A-Za-z]+$/
request
object
id
required
Any of:

The API request that caused the event (its X-Request-Id), if any.

string
/^req_[0-9A-Za-z]+$/
idempotency_key
required

That request’s Idempotency-Key, if any.

string | null
type
required
string
Allowed values: call.created call.started call.ringing call.answered call.transferred call.ended call.analyzed call.cost_finalized recording.ready transcript.ready campaign.started campaign.paused campaign.resumed campaign.completed campaign.cancelled campaign.blocked contact.attempted contact.completed contact.opted_out consent.recorded callback.scheduled callback.completed callback.failed queue.call_entered queue.call_answered queue.call_abandoned queue.overflowed agent.status_changed qa.scored qa.overridden flow.published flow.node_failed kb.document.ready kb.document.failed connection.status_changed usage.threshold billing.payment_succeeded billing.payment_failed billing.invoice_issued billing.plan_changed number.provisioned number.released number.port_completed webhook_endpoint.disabled test
has_more
required

Whether more objects follow in the requested direction.

boolean
next_cursor
required

Pass as starting_after (or ending_before, when paging backwards) to continue; null on the last page.

string | null
object
required
string
Allowed value: list
url
required

The list’s path.

string
Example
{
"data": [
{
"api_version": "2026-11-01",
"created": "2026-11-03T09:14:22Z",
"data": {
"object": {
"duration_ms": 93120,
"end_reason": "hangup",
"id": "call_7Hk2LmN9pQ4rS6tV8wX0yZ",
"metadata": {},
"object": "call",
"status": "ended"
}
},
"id": "evt_3fT9kq2ZpLr8YwVbN1cX0a",
"livemode": true,
"object": "event",
"org_id": "org_0000000000000000000001",
"request": {
"id": null,
"idempotency_key": null
},
"type": "call.ended"
}
],
"has_more": false,
"next_cursor": null,
"object": "list",
"url": "/v1/events"
}

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.

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.