niiko/developers

Kiipu · invoicing v1 read-only

kiipu.collected_month_get

Reads how much was collected this month so far (as the ledger recorded it), the same stretch of last month to compare, and what is still outstanding. Does not say who owes: that is kiipu.collections_get.

Last updated

POST /api/v1/reads/kiipu.collected_month_get
Token scope
kiipu.collected_month_get@1
Workspace permission
api.kiipu.collected_month_get off by default
Who reads
The person behind the token, with their role. Someone who leaves the workspace stops reading.
Three permissions

A token with that scope, the workspace owner having switched the read on, and the person's role seeing it in the product. None of them is enough alone. OAuth only →

Request

No fields.

Response — output when status is done

fieldtyperules
currencystringrequired
collectedThisMonthstringrequired^-?\d+\.\d{2}$
periodStartstringrequired^\d{4}-\d{2}-\d{2}$
periodEndstringrequired^\d{4}-\d{2}-\d{2}$
collectedSamePeriodLastMonthstringrequired^-?\d+\.\d{2}$
outstandingTotalstringrequired^-?\d+\.\d{2}$
openInvoicesintegerrequired≥ 0
incompletebooleanrequired

Example

# Reads take an OAuth access token, not an API key, and no idempotency key: reading changes nothing.
curl -X POST https://niiko.org/api/v1/reads/kiipu.collected_month_get \
  -H "Authorization: Bearer $NIIKO_ACCESS_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{}'
# 200 → done · 4xx → refused, with a named reason

Why it may refuse

Each reason names who can fix it and how; detail.message, when present, says what to do. Refusals & HTTP codes →

invalid_inputrole_forbiddengrant_offreads_need_a_person

In the clients

@vorluno/niiko-sdkniiko.getCollectedMonth()
niiko (Python)niiko.get_collected_month() from 0.3.0 · not on the registry yet
niiko-cliniiko read kiipu.collected_month_get
n8n-nodes-niikoNo reads: the node holds a key, and reading needs a person through OAuth.
niiko-mcp-serverkiipu_collected_month_get readOnlyHint

History