Skip to main content

ReportMonthly

Returns a monthly activity report for a specified report type and month.

:::caution Established API The SOAP API is in maintenance mode. For new integrations use the REST equivalent. :::

Method Signature

DataSet ReportMonthly(string SessionID, short Report, DateTime Month)

Parameters

ParameterTypeRequiredDescription
SessionIDstringYesActive session token from Login()
ReportshortYesReport type identifier specifying which monthly report to generate
MonthdatetimeYesThe target month; only the year and month components are used — the day and time values are ignored

Response Object — DataSet

Returns an ADO.NET DataSet with rows representing the monthly report data for the requested report type. The exact columns returned depend on the Report type identifier supplied.

ColumnTypeDescription
ReportDatedatetimeFirst day of the reported month
MailboxIDintMailbox the data applies to
MailboxNamestringDisplay name of the mailbox
ParcelsInintInbound parcels for the month
ParcelsOutintOutbound parcels for the month
InterchangesInintInbound interchanges for the month
InterchangesOutintOutbound interchanges for the month
BytesInlongTotal bytes received during the month
BytesOutlongTotal bytes sent during the month
<!-- Example response XML -->
<DataSet>
<Table>
<ReportDate>2026-05-01T00:00:00</ReportDate>
<MailboxID>10001</MailboxID>
<MailboxName>Acme Corp Production</MailboxName>
<ParcelsIn>820</ParcelsIn>
<ParcelsOut>541</ParcelsOut>
<InterchangesIn>4820</InterchangesIn>
<InterchangesOut>3105</InterchangesOut>
<BytesIn>52428800</BytesIn>
<BytesOut>26214400</BytesOut>
</Table>
</DataSet>

:::note Month Parameter Only the year and month portions of the Month datetime are evaluated. Pass any day value (e.g., the first of the month) to avoid ambiguity. :::

:::note DataSet Access Pattern The SOAP DataSet return type is an ADO.NET dataset. Iterate Tables[0].Rows to access each row in the monthly report. :::

Code Examples

// .NET 10 — dotnet-svcutil generated proxy
// Get monthly report type 1 for May 2026
// Only the year and month of the datetime are used — pass the first of the month for clarity
var targetMonth = new DateTime(2026, 5, 1);

var result = await client.ReportMonthlyAsync(sessionID, report: 1, targetMonth);

// DataSet returned — iterate rows for monthly summary data
var table = result.Tables[0];
foreach (DataRow row in table.Rows)
{
Console.WriteLine($"Report Month: {row["ReportDate"]:yyyy-MM}");
Console.WriteLine($" Mailbox: {row["MailboxName"]} (ID: {row["MailboxID"]})");
Console.WriteLine($" Parcels In/Out: {row["ParcelsIn"]} / {row["ParcelsOut"]}");
Console.WriteLine($" Interchanges In/Out: {row["InterchangesIn"]} / {row["InterchangesOut"]}");
Console.WriteLine($" Bytes In/Out: {row["BytesIn"]:N0} / {row["BytesOut"]:N0}");
}

REST Equivalent

See Monthly ReportPOST /v2/reports/monthly.