Public Data API
Read-only JSON API for Netto workspace data on the Scale plan. Use it for internal dashboards, Zapier, or custom reporting — all amounts are returned as decimal strings in your books currency.
Rate limits
1,000 requests per hour per API key. Exceeded requests return HTTP 429 with a Retry-After header indicating seconds until the limit resets.
X-API-Key: netto_live_xxxx in the request header (create keys in Netto → Settings → API keys). All endpoints below require a valid Scale-plan key unless noted.
01GET/api/v1/summary/
Workspace summary
Returns booked revenue, operating expenses, net profit, gross margin, payout count, and paid order count for the selected period (same accounting basis as the Netto dashboard).
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
date_from | string (ISO date) | No | Start of range (inclusive). Defaults to the first day of the current calendar month. | 2026-04-01 |
date_to | string (ISO date) | No | End of range (inclusive). Defaults to today. | 2026-04-30 |
Example request
curl -sS "https://www.hellonetto.com/api/v1/summary/?date_from=2026-04-01&date_to=2026-04-30" \
-H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"
Example response
{
"data": {
"revenue": "84231.40",
"expenses": "19842.15",
"net_profit": "23109.88",
"gross_margin_pct": 49.12,
"payout_count": 8,
"order_count": 1124,
"period": { "from": "2026-04-01", "to": "2026-04-30" }
},
"meta": {
"generated_at": "2026-05-14T16:22:11.482391+00:00",
"tenant": "oak-supply-co.myshopify.com"
},
"currency": "USD"
}
02GET/api/v1/payouts/
List Shopify payouts
Paginated list of Shopify Payments payouts issued in the date range, with gross sales, fee components, refunds, net payout, status, and an estimated transaction count from payout metadata.
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
date_from | string | No | Filter payouts with issued_at on or after this date (month start if omitted). | 2026-03-01 |
date_to | string | No | Filter payouts with issued_at on or before this date (today if omitted). | 2026-03-31 |
page | integer | No | Page number (1-based). Default 1. | 2 |
page_size | integer | No | Rows per page (max 200). Default 50. | 25 |
Example request
curl -sS "https://www.hellonetto.com/api/v1/payouts/?date_from=2026-03-01&date_to=2026-03-31&page=1&page_size=25" \
-H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"
Example response
{
"data": {
"results": [
{
"id": 1849201,
"payout_date": "2026-03-28",
"gross_sales": "31294.55",
"fees": "892.10",
"refunds": "1842.00",
"net_payout": "28560.45",
"status": "paid",
"transaction_count": 412
},
{
"id": 1849033,
"payout_date": "2026-03-14",
"gross_sales": "27881.20",
"fees": "801.33",
"refunds": "620.50",
"net_payout": "25459.37",
"status": "paid",
"transaction_count": 388
}
],
"period": { "from": "2026-03-01", "to": "2026-03-31" }
},
"meta": {
"generated_at": "2026-05-14T16:24:02.119884+00:00",
"tenant": "oak-supply-co.myshopify.com",
"page": 1,
"page_size": 25,
"total_count": 2,
"total_pages": 1
},
"currency": "USD"
}
03GET/api/v1/payouts/<id>/
Single payout detail
Returns one Shopify payout by numeric database id (the id field from the list endpoint), including raw summary metadata, posted journal lines, and balance transaction rows.
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
id | integer | Yes | URL path segment: Netto internal payout primary key. | 1849201 |
Example request
curl -sS "https://www.hellonetto.com/api/v1/payouts/1849201/" \
-H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"
Example response (abbreviated)
{
"data": {
"payout": {
"id": 1849201,
"public_id": "7c2f9a1e-4b3d-4c8a-9f11-0a2b3c4d5e6f",
"shopify_payout_id": "gid://shopify/ShopifyPaymentsPayout/9876543210",
"status": "paid",
"issued_at": "2026-03-28T06:15:00+00:00",
"currency": "USD",
"amount": "28560.4500",
"base_currency": "USD",
"amount_in_base": "28560.4500",
"fx_cross_currency": false,
"summary": { "chargesGross": { "amount": "31294.55", "currencyCode": "USD" } }
},
"journal_lines": [
{ "account_name": "Shopify Payments", "account_number": "1020", "entry_type": "debit", "amount": "28560.45" },
{ "account_name": "Sales — Shopify", "account_number": "4000", "entry_type": "credit", "amount": "31294.55" }
],
"balance_transactions": [
{
"id": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
"txn_date": "2026-03-27",
"txn_type": "charge",
"description": "Shopify Payments charge",
"amount": "120.00",
"fee": "3.60",
"net": "116.40",
"currency_code": "USD"
}
]
},
"meta": {
"generated_at": "2026-05-14T16:25:44.003102+00:00",
"tenant": "oak-supply-co.myshopify.com"
},
"currency": "USD"
}
04GET/api/v1/reports/pnl/
Profit & Loss report
Posted general-ledger P&L for the inclusive date range, grouped into revenue, cost of goods sold, gross profit, operating expenses, and net income.
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
date_from | string | No | Period start (inclusive). | 2026-01-01 |
date_to | string | No | Period end (inclusive). | 2026-03-31 |
Example request
curl -sS "https://www.hellonetto.com/api/v1/reports/pnl/?date_from=2026-01-01&date_to=2026-03-31" \
-H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"
Example response
{
"data": {
"period": { "from": "2026-01-01", "to": "2026-03-31" },
"sections": [
{
"label": "Revenue",
"accounts": [
{ "name": "Sales — Shopify", "amount": "248392.80" },
{ "name": "Shipping income", "amount": "12840.00" }
],
"total": "261232.80"
},
{
"label": "Cost of goods sold",
"accounts": [ { "name": "COGS — finished goods", "amount": "98210.40" } ],
"total": "98210.40"
},
{ "label": "Gross profit", "accounts": [], "total": "163022.40" },
{
"label": "Operating expenses",
"accounts": [
{ "name": "Shopify fees", "amount": "6842.18" },
{ "name": "Software and subscriptions", "amount": "1299.00" }
],
"total": "8141.18"
},
{ "label": "Net income", "accounts": [], "total": "154881.22" }
]
},
"meta": {
"generated_at": "2026-05-14T16:27:01.774512+00:00",
"tenant": "oak-supply-co.myshopify.com"
},
"currency": "USD"
}
05GET/api/v1/reports/balance-sheet/
Balance sheet
Point-in-time balance sheet as of the end date of the selected range (the date_to query parameter; date_from is accepted for symmetry but only the end date affects the statement).
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
date_from | string | No | Ignored for the statement; may be omitted. | 2026-01-01 |
date_to | string | No | As-of date for balances (defaults with range parser). | 2026-03-31 |
Example request
curl -sS "https://www.hellonetto.com/api/v1/reports/balance-sheet/?date_to=2026-03-31" \
-H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"
Example response
{
"data": {
"period": { "as_of": "2026-03-31" },
"sections": [
{
"label": "Assets",
"accounts": [
{ "name": "Operating bank — Chase", "amount": "42881.22" },
{ "name": "Accounts receivable", "amount": "6240.00" }
],
"total": "49121.22"
},
{
"label": "Liabilities",
"accounts": [
{ "name": "Sales tax payable", "amount": "3820.44" },
{ "name": "Accrued expenses", "amount": "2100.00" }
],
"total": "5920.44"
},
{
"label": "Equity",
"accounts": [
{ "name": "Owner contributions", "amount": "15000.00" },
{ "name": "Retained earnings", "amount": "28200.78" }
],
"total": "43200.78"
}
]
},
"meta": {
"generated_at": "2026-05-14T16:28:33.905221+00:00",
"tenant": "oak-supply-co.myshopify.com"
},
"currency": "USD"
}
06GET/api/v1/reports/trial-balance/
Trial balance
Posted trial balance listing every non-zero account with debit and credit columns in presentation currency. The response data array is the account rows; as-of date and footers are returned in meta.
| Name | Type | Required | Description | Example |
|---|---|---|---|---|
date_from | string | No | Ignored; as-of uses date_to. | — |
date_to | string | No | As-of date for trial balance. | 2026-03-31 |
Example request
curl -sS "https://www.hellonetto.com/api/v1/reports/trial-balance/?date_to=2026-03-31" \
-H "X-API-Key: netto_live_AbCdEfGhIjKlMnOp"
Example response
{
"data": [
{ "account_number": "1020", "account_name": "Shopify Payments clearing", "debit": "18420.00", "credit": "0.00" },
{ "account_number": "4000", "account_name": "Sales — Shopify", "debit": "0.00", "credit": "56210.55" },
{ "account_number": "5000", "account_name": "COGS — inventory", "debit": "22118.40", "credit": "0.00" },
{ "account_number": "6100", "account_name": "Shopify fees", "debit": "1422.18", "credit": "0.00" }
],
"meta": {
"generated_at": "2026-05-14T16:29:55.220441+00:00",
"tenant": "oak-supply-co.myshopify.com",
"as_of": "2026-03-31",
"total_debits": "97960.58",
"total_credits": "97960.58",
"is_balanced": true
},
"currency": "USD"
}
Base URL shown above uses your current host (www.hellonetto.com). On production, call the same paths on https://hellonetto.com or your Netto app host.
