Retrieve the performance overviewMenu

Retrieve the performance overview

GET/v1/reports/overview

Requires an API key with the reports:read scope. About keys and scopes

Works with integration, agent and partner keys.

Returns how the workspace did in a window: marketing email in email and marketing push in push, never added together, each against the period before. Email counts are send cohorts (by the day it was sent), push by the day it was queued, and later feedback revises them. Bounce and complaint counts are durable first-occurrence facts, not current statuses. conversions are the goal conversions a message drove, with their credited revenue, gross; refunds sums every refund in the window beside it. deliverabilityHealth is an advisory band from the workspace's own bounce and complaint rates against Kirora's warning and pause lines, not the sending provider's reputation. Rates are fractions; null means no denominator. Days are calendar days in the workspace timezone (timezone, set in workspace settings); the first and last may be partial. Without from and to, the window is the last 30 days ending today.

Query parameters

fromstringoptional

Start of the window, inclusive: a date-time, or a date meaning the start of that day in the workspace timezone. Give with to; omit both for the last 30 days.

tostringoptional

End of the window, exclusive, in the same forms. To include a whole last day, pass the day after it: from=2026-10-01&to=2026-10-08 covers 1 to 7 October. No later than the end of today; a window touches at most 366 days. Give with from.

tagstringoptional

Only email, push and conversions from campaigns and journeys carrying this tag, its name matched without case: "how did everything tagged Black Friday do". Refunds are not filtered: no message is linked to them.

1–64 characters

Header parameters

Kirora-Workspacestringoptional

Partner keys only: the child workspace to act in, by the external id the partner gave it. Without it, a partner key acts in its own workspace. Any other key that sends it is refused with 403, and an unknown workspace is 404.

pattern ^[A-Za-z0-9._:-]{1,128}$

Returns

Returns 200 OK with an Overview in data. Otherwise returns an error; Errors lists every code and which to retry.

generatedAtstringrequired

date-time

timezonestringrequired

The workspace timezone that date bounds and series days are in.

fromstringrequired

Start of the window, inclusive.

date-time

tostringrequired

End of the window, exclusive.

date-time

previousPeriodobjectrequired

The equal-length period just before the window.

2 child attributes
fromstringrequired

Start of the window, inclusive.

date-time

tostringrequired

End of the window, exclusive.

date-time

emailobjectrequired

Marketing email from campaigns and journeys, by the day it was sent; failed and skipped email that never reached the provider counts on the day it was queued. sent covers only email the provider accepted.

4 child attributes
currentOverviewCountsrequired

Counts in the window.

13 child attributes
sentintegerrequired
deliveredintegerrequired
openedintegerrequired

Opened at least once, including openedByMachine: the open rate counts those too.

openedByMachineintegerrequired

Of opened, those only a machine opened: a mail app fetched its images with no reader (Apple Mail Privacy Protection, Gmail's prefetch on delivery) or a mail security scanner checked it.

clickedintegerrequired

With a link clicked by a person.

simulatedintegerrequired

Of sent, test sends whose outcome was acted out: those to delivered@, bounce@ or [email protected] (the transactional guide's "Test addresses"). Counted in sent and delivered; never in bounced, complained, feedbackObserved, the bounce and complaint rates or deliverabilityHealth.

min 0

feedbackObservedintegerrequired

Of the real sends in sent, those whose delivery, bounce or complaint is known.

failedintegerrequired

Not delivered, with no bounce or complaint: refused before sending (counted on the day it was queued) or failed after it (on the day it was sent, and also in sent). failure.reason on each message says why.

failedBeforeSendingintegerrequired

Of failed, those refused before reaching the provider, on the day they were queued. Not in sent, like skipped, so sent + failedBeforeSending + skipped counts each message once.

skippedintegerrequired

Stopped before sending by a guard (no consent, suppressed, no address), on the day it was queued. Not in sent.

bouncedintegerrequired
complainedintegerrequired
unsubscribedintegerrequired

Recipients who opted out through the email's own link.

previousOverviewCountsrequired

Counts in the previous period.

13 child attributes
sentintegerrequired
deliveredintegerrequired
openedintegerrequired

Opened at least once, including openedByMachine: the open rate counts those too.

openedByMachineintegerrequired

Of opened, those only a machine opened: a mail app fetched its images with no reader (Apple Mail Privacy Protection, Gmail's prefetch on delivery) or a mail security scanner checked it.

clickedintegerrequired

With a link clicked by a person.

simulatedintegerrequired

Of sent, test sends whose outcome was acted out: those to delivered@, bounce@ or [email protected] (the transactional guide's "Test addresses"). Counted in sent and delivered; never in bounced, complained, feedbackObserved, the bounce and complaint rates or deliverabilityHealth.

min 0

feedbackObservedintegerrequired

Of the real sends in sent, those whose delivery, bounce or complaint is known.

failedintegerrequired

Not delivered, with no bounce or complaint: refused before sending (counted on the day it was queued) or failed after it (on the day it was sent, and also in sent). failure.reason on each message says why.

failedBeforeSendingintegerrequired

Of failed, those refused before reaching the provider, on the day they were queued. Not in sent, like skipped, so sent + failedBeforeSending + skipped counts each message once.

skippedintegerrequired

Stopped before sending by a guard (no consent, suppressed, no address), on the day it was queued. Not in sent.

bouncedintegerrequired
complainedintegerrequired
unsubscribedintegerrequired

Recipients who opted out through the email's own link.

deltaOverviewCountsrequired

current minus previous.

13 child attributes
sentintegerrequired
deliveredintegerrequired
openedintegerrequired

Opened at least once, including openedByMachine: the open rate counts those too.

openedByMachineintegerrequired

Of opened, those only a machine opened: a mail app fetched its images with no reader (Apple Mail Privacy Protection, Gmail's prefetch on delivery) or a mail security scanner checked it.

clickedintegerrequired

With a link clicked by a person.

simulatedintegerrequired

Of sent, test sends whose outcome was acted out: those to delivered@, bounce@ or [email protected] (the transactional guide's "Test addresses"). Counted in sent and delivered; never in bounced, complained, feedbackObserved, the bounce and complaint rates or deliverabilityHealth.

min 0

feedbackObservedintegerrequired

Of the real sends in sent, those whose delivery, bounce or complaint is known.

failedintegerrequired

Not delivered, with no bounce or complaint: refused before sending (counted on the day it was queued) or failed after it (on the day it was sent, and also in sent). failure.reason on each message says why.

failedBeforeSendingintegerrequired

Of failed, those refused before reaching the provider, on the day they were queued. Not in sent, like skipped, so sent + failedBeforeSending + skipped counts each message once.

skippedintegerrequired

Stopped before sending by a guard (no consent, suppressed, no address), on the day it was queued. Not in sent.

bouncedintegerrequired
complainedintegerrequired
unsubscribedintegerrequired

Recipients who opted out through the email's own link.

ratesEmailRatesrequired

Email rates as fractions: delivery over sent; bounce and complaint over real sends (sent less simulated where the counts give it), as deliverabilityHealth judges them; open, click and unsubscribe over delivered. null when there is no denominator.

6 child attributes
deliverynumber | nullrequired

min 0

opennumber | nullrequired

min 0

clicknumber | nullrequired

min 0

bouncenumber | nullrequired

min 0

complaintnumber | nullrequired

min 0

unsubscribenumber | nullrequired

min 0

pushobjectrequired

Marketing push, by the day it was queued.

3 child attributes
currentOverviewPushCountsrequired
4 child attributes
sentintegerrequired
failedintegerrequired
openedintegerrequired
clickedintegerrequired
previousOverviewPushCountsrequired
4 child attributes
sentintegerrequired
failedintegerrequired
openedintegerrequired
clickedintegerrequired
deltaOverviewPushCountsrequired
4 child attributes
sentintegerrequired
failedintegerrequired
openedintegerrequired
clickedintegerrequired
conversionsobjectrequired

Goal conversions a message drove, by when they happened, from email and push alike: a conversion is one order, whichever message gets the credit. An event credited to several campaigns' or journeys' goals counts once here, though each goal's own report counts it. Revenue is summed per goal currency and never converted; goals without a currency share the null row.

4 child attributes
currentintegerrequired

min 0

previousintegerrequired

min 0

revenueobject[]required

Credited revenue per goal currency, gross: before refunds.

3 child attributes
currencystring | nullrequired

The goal currency; null when none.

currentnumberrequired
previousnumberrequired
revenueWithheldbooleanrequired

True when revenue leaves out the value of goals whose value property is a masked attribute this viewer may not see: their conversions are counted, their values are not, here and in each day's revenue.

refundsMoney[]required

All refunds in the window, whether or not a message drove the order: the total of each Order Refunded event (or the workspace's own refund event, set in its key events), per its currency, never converted. Not subtracted from conversions.revenue. Empty when refundsWithheld.

2 child attributes
currencystring | nullrequired

The currency, an ISO 4217 code; null when none was named.

valuenumberrequired

The amount in that currency.

refundsWithheldbooleanrequired

True when refunds is left out because total or currency is a masked attribute this viewer may not see.

deliverabilityHealthDeliverabilityHealthrequired

Advisory bounce and complaint health on the workspace's lines (limits): judged once sampleSize and feedbackCoverage reach their minimums. Bounces and complaints are recorded ones, so a simulated test bounce never counts.

8 child attributes
bandstringrequired

insufficient_data until the sample and feedback coverage minimums are met; then the highest line the bounce or complaint ratio reaches.

one of insufficient_data, healthy, watch, critical

limitsDeliverabilityLimitsrequired

Where the bands start, the workspace's own lines: watch where its admins are warned, critical where its marketing email pauses. The pause is judged on all of the workspace's marketing email over the last 24 hours (or week, for a small sender), not on one report.

2 child attributes
watchobjectrequired
2 child attributes
bounceRationumberrequired

A ratio from 0 to 1: 0.05 is 5%.

min 0 · max 1

complaintRationumberrequired

A ratio from 0 to 1: 0.05 is 5%.

min 0 · max 1

criticalobjectrequired
2 child attributes
bounceRationumberrequired

A ratio from 0 to 1: 0.05 is 5%.

min 0 · max 1

complaintRationumberrequired

A ratio from 0 to 1: 0.05 is 5%.

min 0 · max 1

bounceRationumber | nullrequired

Recorded bounces per sent email, the figure the band compares with limits; null while sampleSize is 0.

min 0 · max 1

complaintRationumber | nullrequired

Recorded complaints per sent email, the figure the band compares with limits; null while sampleSize is 0.

min 0 · max 1

sampleSizeintegerrequired

Sent emails the band is judged on: real sends only, with test sends that act an outcome out (delivered@, bounce@, [email protected]) left out.

min 0

minimumSampleSizeintegerrequired

The fewest emails (sampleSize) the band is judged on, currently 100: below it the band is insufficient_data.

min 1

feedbackCoveragenumber | nullrequired

Share of the sample whose outcome (delivered, bounced or complained) is known; null before any email is sent.

min 0 · max 1

minimumFeedbackCoveragenumberrequired

The least feedbackCoverage the band is judged on, currently 0.95: below it the band is insufficient_data, as bounce and complaint reports are still arriving.

min 0 · max 1

seriesobject[]required

One point per calendar day in the window: email and push by the day they were sent, conversions and revenue by the day they happened.

at most 366 items

5 child attributes
startsAtstringrequired

When this day starts in timezone, given as an instant.

date-time

emailOverviewCountsrequired

Email by the day it was sent; email never sent by the day it was queued.

13 child attributes
sentintegerrequired
deliveredintegerrequired
openedintegerrequired

Opened at least once, including openedByMachine: the open rate counts those too.

openedByMachineintegerrequired

Of opened, those only a machine opened: a mail app fetched its images with no reader (Apple Mail Privacy Protection, Gmail's prefetch on delivery) or a mail security scanner checked it.

clickedintegerrequired

With a link clicked by a person.

simulatedintegerrequired

Of sent, test sends whose outcome was acted out: those to delivered@, bounce@ or [email protected] (the transactional guide's "Test addresses"). Counted in sent and delivered; never in bounced, complained, feedbackObserved, the bounce and complaint rates or deliverabilityHealth.

min 0

feedbackObservedintegerrequired

Of the real sends in sent, those whose delivery, bounce or complaint is known.

failedintegerrequired

Not delivered, with no bounce or complaint: refused before sending (counted on the day it was queued) or failed after it (on the day it was sent, and also in sent). failure.reason on each message says why.

failedBeforeSendingintegerrequired

Of failed, those refused before reaching the provider, on the day they were queued. Not in sent, like skipped, so sent + failedBeforeSending + skipped counts each message once.

skippedintegerrequired

Stopped before sending by a guard (no consent, suppressed, no address), on the day it was queued. Not in sent.

bouncedintegerrequired
complainedintegerrequired
unsubscribedintegerrequired

Recipients who opted out through the email's own link.

pushOverviewPushCountsrequired

Push by the day it was queued.

4 child attributes
sentintegerrequired
failedintegerrequired
openedintegerrequired
clickedintegerrequired
conversionsintegerrequired

Goal conversions that happened that day, as in conversions.

min 0

revenueMoney[]required

Credited revenue that day per goal currency, never converted; empty when none.

2 child attributes
currencystring | nullrequired

The currency, an ISO 4217 code; null when none was named.

valuenumberrequired

The amount in that currency.