Skip to content

Get revenue

BetaAPI v2 is in public beta: endpoints, fields and behaviour can change before general availability. See the changelog

GET
/preorders/reports/revenue
curl --request GET \
--url 'https://app.stoqapp.com/api/v2/external/preorders/reports/revenue?from=string&to=string&offer_id=string&offer_ids=string&product_id=78000000001&variant_id=45000000001&market_id=gid%3A%2F%2Fshopify%2FMarket%2F12345&currency=string&granularity=string&include_deposits=string&include_balances=string' \
--header 'X-Auth-Token: <X-Auth-Token>'

Preorder revenue over a date window, bucketed by day/week/month.

from

Example

string
to

Example

string
offer_id

Example

string
offer_ids

Example

[
"string"
]
product_id

Example

78000000001
variant_id

Example

45000000001
market_id

Example

gid://shopify/Market/12345
currency

Example

string
granularity

Example

string
include_deposits

Example

string
include_balances

Example

string

Success — example response shown.

Media typeapplication/json
object

Example

{
"window": {
"from": "2026-05-26T00:00:00Z",
"to": "2026-06-25T23:59:59Z"
},
"granularity": "day",
"currency": "USD",
"include_deposits": true,
"include_balances": true,
"total_revenue": "47825.50",
"series": [
{
"date": "2026-06-25T00:00:00Z",
"revenue": "2450.75",
"orders": 18
},
{
"date": "2026-06-24T00:00:00Z",
"revenue": "3180.25",
"orders": 24
}
],
"by_offer": [
{
"offer_id": 1,
"offer_name": "Summer Sneaker Drop",
"revenue": "28500.00"
},
{
"offer_id": 2,
"offer_name": "Winter Collection",
"revenue": "19325.50"
}
]
}

Missing or invalid X-Auth-Token.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"Unauthorized"
]
}

The request failed validation.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"name is required"
]
}

Rate limited — cost-weighted per token (read 1, write 2; 360 points / 60s). Check Retry-After.

Media typeapplication/json

Error envelope returned by every failed request.

object
errors
required
Array<string>

Example

{
"errors": [
"Rate limit exceeded"
]
}
Was this page helpful?

Still stuck? Ask Quinn or chat with support