Skip to content

Get the send report

GET
/v2/reports/sends
curl --request GET \
--url https://api.connect.ms/v2/reports/sends \
--header 'Authorization: Bearer <token>'

Outbound SMS outcomes over a range of dates, grouped by day, week or fortnight.

aggregation
string
Allowed values: daily weekly fortnightly

How to group the rows. Defaults to daily.

since
string format: date
nullable

The first day to include (ISO 8601 date, UTC). Defaults to one month before today. No later than today.

until
string format: date
nullable

The last day to include (ISO 8601 date, UTC). Defaults to today. No later than today.

Connect-Version
string

The API version to use, for example 2026-10-01. Defaults to the version set on your API key.

The report.

Media typeapplication/json

A report over a range of dates. Reports are not paged.

object
period
required
One of:

An inclusive range of dates.

object
from
required

The first day of the range (ISO 8601 date).

string format: date
to
required

The last day of the range (ISO 8601 date).

string format: date
data
required

The report rows.

Array<object>

Outbound SMS counts for one day, week or fortnight.

object
period
required
One of:

An inclusive range of dates.

object
from
required

The first day of the range (ISO 8601 date).

string format: date
to
required

The last day of the range (ISO 8601 date).

string format: date
sent
required

All outbound messages created in the period, whatever their outcome.

integer format: int32
delivered
required

Messages confirmed delivered.

integer format: int32
failed
required

Messages that ended without delivery: failed, rejected, expired or cancelled.

integer format: int32
inProgress
required

Messages from the last seven days with no final outcome yet.

integer format: int32
noDeliveryReceipt
required

Messages older than seven days that never got a final outcome from the network.

integer format: int32

Example generated

{
"period": {
"from": "2026-04-15",
"to": "2026-04-15"
},
"data": [
{
"period": {
"from": "2026-04-15",
"to": "2026-04-15"
},
"sent": 1,
"delivered": 1,
"failed": 1,
"inProgress": 1,
"noDeliveryReceipt": 1
}
]
}

The request is not valid. The detail field says why, and errors lists any problems by field name.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}

The API key or bearer token is missing or not valid, or the request signature could not be verified.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}

The caller is not allowed to do this.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}

The service is temporarily unavailable. Retry after the Retry-After header.

Media typeapplication/problem+json

Why a request failed, in the RFC 9457 problem details format.

object
type
required

A URI identifying the kind of problem, ending in a code such as validation_failed, not_found, sending_blocked or rate_limited.

string
title
required

A short, fixed summary of the kind of problem.

string
status
required

The HTTP status code of the response.

integer format: int32
detail

What went wrong with this particular request, when there is more to say than the title.

string
nullable
errors

For validation failures, the problems found, keyed by field name (nested fields as template.name, list items as messages[3]).

object
key
additional properties
Array<string>
requestId
required

The id recorded for this error, matching the Request-Id header when one is sent. Quote it when contacting support.

string

Example generated

{
"type": "example",
"title": "example",
"status": 1,
"detail": "example",
"errors": {
"additionalProperty": [
"example"
]
},
"requestId": "example"
}