P&L

Contribution profit (P&L less your costs)

TikTok's bottom line carried down by the costs it cannot see. net_earnings is taken from the daily series unchanged — the only source that includes GMV Max ad spend — and cost of goods and sample cost are subtracted from it. Set cadence to get the running series as well as the totals.

Units with no cost on file are COUNTED, never assumed to be zero, so contribution_profit is an upper bound while units_uncosted or sample_units_uncosted is non-zero. Use POST /pnl/costs/coverage to get the list of what is missing.

post/pnl/profit

Request body

start_datestring date nullable

Inclusive window start (YYYY-MM-DD).

end_datestring date nullable

Inclusive window end (YYYY-MM-DD).

cadence'total' | 'day' | 'week' | 'biweekly' | 'month'

total returns window totals only. Anything else also returns a bucketed series — the running P&L with costs applied.

sample_basis'shipped' | 'approved' | 'requested'

Which sample milestone the cost is charged against. shipped is when the unit physically leaves; use approved or requested if you accrue earlier.

Response

Successful Response

shop_idinteger required
seller_idstring required
currencystring required
start_datestring required
end_datestring required
cadencestring required
sample_basisstring required
days_with_datainteger required
currency_mismatched_costsinteger required

Cost rows skipped because they are priced in a different currency than the shop. Non-zero means some costs are silently absent.

Changes

No recorded changes to this endpoint across all 1 revision of this API.