Pezzente documentation
Pezzente tracks shared expenses for a group and calculates the smallest set of payments that settles every balance. This guide covers the basics and the HTTP API.
Getting started
Create an account, then create your first group and invite members by email. Members who have no account can still be added by name and claimed later.
Groups
A group is a shared ledger with its own default currency. Each member sees the same balances. Only the group owner can rename the group, change its currency or delete it.
Adding expenses
An expense has a payer, an amount and the members it is split between. By default the cost is divided equally; you can also split by exact amounts or by percentage.
| Split type | Description |
|---|---|
equal | Divided evenly between the selected members. |
exact | Each member's share is entered as an amount. |
percent | Each member's share is entered as a percentage. Must total 100. |
Settling up
Open Balances to see who owes whom. Pezzente nets all debts within the group so that the number of transfers is as small as possible. Mark a payment as settled once it has been made outside the app.
API overview
The API is served over HTTPS and returns JSON. Authenticate with a bearer token created under Account → Tokens.
curl https://api.pezzente.online/v1/groups \
-H "Authorization: Bearer YOUR_TOKEN"
Create an expense:
POST /v1/groups/{group_id}/expenses
{
"payer": "member_01",
"amount": 86.40,
"currency": "EUR",
"split": "equal",
"note": "Groceries"
}
Errors
| Status | Meaning |
|---|---|
400 | The request body is malformed or a field is missing. |
401 | The token is missing, expired or revoked. |
404 | The group or expense does not exist, or you cannot access it. |
429 | Too many requests. Retry after the time in the Retry-After header. |
Rate limits
Each token may make 120 requests per minute. Batch several expenses into one request where possible.