Skip to content
Linra Omni Developer Docs

Get own sales report summary

Get your own top-line sales figures for a period.

Reports

GET/api/v1/scent/reports/sales/summary

Order volume, gross revenue, returns value, net revenue, and average order value for YOUR OWN orders only — self-only by construction, there is no partnerId parameter anywhere on this surface. It reports your own sales figures only. fromUtc is inclusive, toUtc is exclusive; both default to the last 30 days when the window is omitted entirely (toUtc defaults to now, fromUtc to 30 days before it). Revenue is GOODS-only (excludes the order-level shipping fee) and GROSS-as-sold — a later return doesn’t rewrite it; the return is its own separately-dated returnsValue figure. See the Sales & cart analytics guide.

Query parameters

fromUtcstring (date-time)

Period start (UTC), inclusive. Defaults to 30 days before toUtc. Read as UTC when it carries no offset; a date-only value means 00:00Z. An unparseable value, or a from/to pair with from after to, returns 400 VALIDATION_INVALID_DATE.

toUtcstring (date-time)

Period end (UTC), exclusive. Defaults to now. Read as UTC when it carries no offset; a date-only value means 00:00Z. An unparseable value, or a from/to pair with from after to, returns 400 VALIDATION_INVALID_DATE.

Response

fromUtcstring (date-time)
toUtcstring (date-time)
orderCountinteger

Count of your own Confirmed orders whose tax point falls in [fromUtc, toUtc).

revenuenumber (decimal)

Gross (VAT-inclusive) GOODS sales value, as originally invoiced — excludes the order-level shipping fee.

returnsValuenumber (decimal)

Gross (VAT-inclusive) GOODS value refunded via a confirmed return, dated by the return event’s own creation time (independent of when the original order was sold).

netRevenuenumber (decimal)

revenue − returnsValue.

averageOrderValuenumber (decimal)

revenue / orderCount, rounded to 4dp; 0 when orderCount is 0.

Other responses

400An invalid window — fromUtc equal to toUtc (VALIDATION_INVALID_PERIOD), fromUtc after toUtc or an unparseable date (VALIDATION_INVALID_DATE), or a window over 400 days (VALIDATION_REPORT_WINDOW_TOO_LARGE). Any other rejected query input uses the shared query codes (VALIDATION_UNKNOWN_QUERY_PARAMETER, VALIDATION_INVALID_QUERY_PARAMETER, VALIDATION_INVALID_PAGE_SIZE, VALIDATION_INVALID_PAGE, VALIDATION_INVALID_DATE) — see the Errors guide.
401No bearer token (UNAUTHORIZED_MISSING_TOKEN), an invalid token (UNAUTHORIZED_INVALID_TOKEN) or an expired one (UNAUTHORIZED_TOKEN_EXPIRED — mint a new token). UPSTREAM_AUTH_FAILED is different: a dependent service refused the Gateway itself. That is a server-side fault — retry later and do NOT re-mint your token. See the Errors guide.
403The route is not available to your credential (FORBIDDEN).
404No API route matches this path (NOT_FOUND_ROUTE). A missing resource on a real route returns that service’s own NOT_FOUND_* code instead.
429Too many requests — see the Rate limits guide. Retry after the Retry-After header (seconds).
502A dependent service returned an invalid response (BAD_GATEWAY). Retry with backoff.
503The service is temporarily unavailable (SERVICE_UNAVAILABLE). Retry with backoff.
504A dependent service did not respond in time (GATEWAY_TIMEOUT). Retry with backoff.
curl --request GET \
--url https://api-omni.linra.net/api/v1/scent/reports/sales/summary \
--header 'Authorization: Bearer $TOKEN'

Response

{
"state": "SUCCESS",
"payload": {
"fromUtc": "2026-08-22T09:14:03Z",
"toUtc": "2026-08-22T09:14:03Z",
"orderCount": 0,
"revenue": 0,
"returnsValue": 0,
"netRevenue": 0,
"averageOrderValue": 0
},
"details": null
}