The Supplies API is organised as a three-level hierarchy:Documentation Index
Fetch the complete documentation index at: https://mintlify.com/soker90/finper/llms.txt
Use this file to discover all available pages before exploring further.
Route mounting order in
server.ts is critical: /api/supplies/properties and /api/supplies/readings are registered before /api/supplies. If the order is reversed, Express captures the literal strings properties and readings as the /:id parameter on the supplies router.Supply types
| Value | Utility |
|---|---|
electricity | Electricity contract |
water | Water contract |
gas | Gas contract |
other | Any other utility (requires a name) |
Properties — /api/supplies/properties
Properties have no GET endpoint of their own. They are returned nested within the supplies listing at GET /api/supplies.
POST /api/supplies/properties
Create a new property.Property name (e.g.
"Main Residence", "Holiday Apartment").PUT /api/supplies/properties/:id
Edit a property’s name.Property ID.
New property name.
DELETE /api/supplies/properties/:id
Delete a property.Property ID.
Supplies — /api/supplies
GET /api/supplies
List all supplies for the authenticated user, grouped by property.POST /api/supplies
Create a new supply. Fortype: "other", name is required. For the remaining types, name is optional (defaults to the type label). Tariff fields are only meaningful for electricity supplies.
ID of the parent property. Must exist and belong to the authenticated user.
One of
electricity, water, gas, other.Required when
type is other. Optional for the remaining types.Contracted peak power in kW (electricity only).
Contracted off-peak power in kW (electricity only).
Current price per kW for peak power (electricity only).
Current price per kW for off-peak power (electricity only).
Current price per kWh for peak energy consumption (electricity only).
Current price per kWh for flat-rate energy consumption (electricity only).
Current price per kWh for off-peak energy consumption (electricity only).
PUT /api/supplies/:id
Edit an existing supply. Accepts the same fields as the create endpoint (all required fields still required).Supply ID.
DELETE /api/supplies/:id
Delete a supply.Supply ID.
GET /api/supplies/:id/tariffs-comparison
Compare the actual cost of your readings against alternative electricity tariffs.Supply ID. Must be of
type: "electricity" with contractedPowerPeak, contractedPowerOffPeak, and all five currentPrice* fields populated.This endpoint only works for
electricity supplies that have contracted power and current price fields fully configured. Returns HTTP 400 if the supply type is not electricity or if the required tariff configuration is missing.Supply Readings — /api/supplies/readings
GET /api/supplies/readings/supply/:supplyId
List all readings for a specific supply.Supply ID to retrieve readings for.
POST /api/supplies/readings
Create a new reading for a billing period.ID of the supply this reading belongs to.
Start of the billing period as a Unix timestamp (ms).
End of the billing period as a Unix timestamp (ms). Must be strictly greater than
startDate.Total cost (invoice amount) for this period.
Total energy or volume consumed in this period. Optional.
Peak-hours consumption (electricity only). Optional.
Flat-rate consumption (electricity only). Optional.
Off-peak consumption (electricity only). Optional.
PUT /api/supplies/readings/:id
Edit an existing reading. Accepts the same fields as the create endpoint.Reading ID.
DELETE /api/supplies/readings/:id
Delete a reading.Reading ID.