Skip to main content
POST
Publish closed-period statements to members

Description

Notify period statements Deliberate, decoupled publish step: after an admin closes a period (POST /statements/periods/close) and reviews it, this call emails each eligible member their statement (portal link + PDF attachment) and raises an in-app notification. Per-member delivery is queued on statementNotificationQueue — the response reports how many were queued, not delivered. Only closed statements (persisted rows, not ledger-fallback) are eligible. A member is skipped and counted under:
  • notClosed — statement status is not closed
  • zero — net and due are both zero and includeZero is not set
  • alreadyNotifiedlastNotifiedAt is set and force is not set
  • noEmail — the member has no email on file
Authorization:
  • Required role: admin or higher

Code Examples

Authorizations

Authorization
string
header
required

JWT Authorization header using the Bearer scheme. Format: "Bearer {token}"

Body

application/json
periodStart
string<date>
required
periodEnd
string<date>
required
force
boolean
default:false

Re-notify members already marked lastNotifiedAt.

includeZero
boolean
default:false

Notify members with zero net/due for the period.

Response

Notifications queued.

Every statements response wraps the payload in { status, message, data }. data carries the per-endpoint payload PLUS the per-tenant feature flag.

status
enum<string>
Available options:
success,
error
message
string
data
object