Adjust group balance
Manually credit or debit a group’s balance. CREDIT adjustments on LOT assets may set expires_at and matures_at as RFC3339 timestamps or positive durations; both durations share one request-time baseline and resolved matures_at must be before expires_at. Future maturity is credited to DEFERRED. Lifecycle fields are rejected for DEBIT, SIMPLE assets, and CREDIT to HELD. Idempotency compares the raw lifecycle strings, and delayed replays return the original journal entry without resolving durations again.
type to CREDIT or DEBIT and provide a positive amount. A DEBIT fails if the group does not have sufficient balance in the target bucket, unless allow_negative is true (used for clawbacks). The optional bucket field selects AVAILABLE or HELD and defaults to AVAILABLE.
You must specify program_id and asset_id to identify which balance to adjust; groups are organization-level entities, but each group maintains separate balances per program-asset pair. The adjustment is atomic and creates a journal entry for auditability. This endpoint mirrors adjust participant balance.
Authorizations
API key passed in the X-API-Key header.
Headers
Idempotency key (1-255 printable ASCII chars). Equivalent to the idempotency_key body field; if both are provided they must match. Replays with the same key and identical parameters return the original journal_entry_id; the same key with different parameters returns 409 idempotency_conflict.
255Path Parameters
Group ID
Body
Adjustment details
Adjustment amount (must be positive, decimal string)
1"100.00"
The asset to adjust
"550e8400-e29b-41d4-a716-446655440001"
Reason for this adjustment (1-500 chars)
1 - 500"Team bonus allocation"
The program this adjustment belongs to
"550e8400-e29b-41d4-a716-446655440000"
Whether to CREDIT or DEBIT the balance
CREDIT, DEBIT "CREDIT"
DEBIT only. When true, allows this adjustment to overdraw and set a negative balance.
false
Balance bucket to adjust: AVAILABLE or HELD (defaults to AVAILABLE)
AVAILABLE, HELD "AVAILABLE"
CREDIT + LOT only. RFC3339 timestamp or positive duration from request processing time. Not supported with bucket HELD.
1 - 255"90d"
Client-provided key to dedupe retries. May also be supplied via the Idempotency-Key HTTP header; when both are present they must match. Identical adjusts with the same key return the original journal_entry_id; a reused key with different payload returns 409 idempotency_conflict.
1 - 255"adjust-group-123"
CREDIT + LOT only. RFC3339 timestamp or positive duration from request processing time. Future values route the credit to DEFERRED. Not supported with bucket HELD.
1 - 255"7d"
Response
Adjustment applied
Amount adjusted
"100.00"
Asset that was adjusted
"550e8400-e29b-41d4-a716-446655440001"
Balance bucket that was adjusted
"AVAILABLE"
Ledger journal entry created by this adjustment
"550e8400-e29b-41d4-a716-446655440000"
Confirmation message
"Group balance adjusted successfully"
Program the balance belongs to
"550e8400-e29b-41d4-a716-446655440000"
Whether the adjustment was a credit or debit
"CREDIT"