Budget

List the past periods of a budget

The closed periods of a renewing budget, newest first (not paginated). The period in progress is the budget's own current_period. A budget that never renewed returns an empty list.

Readable by whoever can read the budget. A budget outside the caller's scope returns 404 Not Found.

get/v1/budgets/{id}/periods

Request

  • Base URL
    https://api.cardda.com
  • URL
    https://api.cardda.com/v1/budgets/{id}/periods
  • Auth
    HTTP bearer

Path parameters

idstring uuid required

The UUID of the balance group (budget).

Parameters

#/paths/~1v1~1bills/get/parameters/0 (unresolved $ref)

Response

The budget's closed periods.

idstring uuid required
scheduled_starts_onstring date required

The boundary (America/Santiago) the period belonged to.

starts_atstring date-time required

When it actually started; later than scheduled_starts_on if it renewed late.

ends_onstring date nullable

Scheduled renewal boundary: the day (America/Santiago) the next period was due to start. Not a spending cutoff: if the renewal ran late (renewed_late on the next period) the period stayed usable past this date. Its spend window is [starts_at, closed_at).

closed_atstring date-time required

When it actually closed (the renewal ran, or the budget closed); spend up to this instant counts in it.

base_amount_centsinteger required

What the period started with.

allocated_amount_centsinteger nullable

What it ended with, top-ups and withdrawals included.

spent_centsinteger

Net spend of the period (refunds subtracted).

renewed_lateboolean

It started after its boundary, because its renewal was blocked (see the budget's renewal_blocked_since).

Example response

[
  {
    "scheduled_starts_on": "2026-10-20",
    "ends_on": "2026-11-20",
    "base_amount_cents": 5000000,
    "allocated_amount_cents": 6000000,
    "spent_cents": 5400000
  }
]

Changes

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