Printago API
GET
/v1/reports/profit
Profit report
Monthly revenue, production cost, cost of failure and per-SKU margin.
Query Parameters
month
required
string
YYYY-MM, interpreted in the store's timezone.
Response Schema
ProfitReport
caveatsrequired
"revenue-evenly-allocated" | "no-electricity-model" | "rates-current-value" | "orders-missing-price" | "no-cost-components"[]
costOfFailurerequired
object
attemptsrequired
number
costrequirednullable
number
gramsrequired
number
hoursrequired
number
costsrequired
object
filamentCostrequirednullable
number
filamentGramsrequired
number
laborCostrequirednullable
number
machineCostrequirednullable
number
machineHoursrequired
number
machineRaterequirednullable
number
totalrequirednullable
number
currencyrequirednullable
string
marginBySkurequired
object[]
costrequirednullable
number
marginPctrequirednullable
number
revenuerequired
number
skuIdrequired
string
skuNamerequirednullable
string
unitsrequired
number
monthrequired
string
revenuerequired
object
bySourcerequired
object[]
amountrequired
number
ordersrequired
number
sourcerequired
string
totalrequired
number
timezonerequired
string
Example Response
200 OK — application/json
{
"month": "string",
"timezone": "string",
"currency": "string",
"revenue": {
"total": 1,
"bySource": [
{
"source": "string",
"amount": 1,
"orders": 1
}
]
},
"costs": {
"filamentGrams": 1,
"filamentCost": 1,
"machineHours": 1,
"machineRate": 1,
"machineCost": 1,
"laborCost": 1,
"total": 1
},
"costOfFailure": {
"grams": 1,
"hours": 1,
"attempts": 1,
"cost": 1
},
"marginBySku": [
{
"skuId": "string",
"skuName": "string",
"units": 1,
"revenue": 1,
"cost": 1,
"marginPct": 1
}
],
"caveats": [
"revenue-evenly-allocated"
]
}