Skip to main content
You manage user credit balance status. New user credit balances start in active, and you move them with the activate, deactivate, close, and stop_reporting endpoints. This page explains what each status means, what each transition checks, and which reasons each one accepts. Lead expects you to report every change to a user credit balance until it reaches one of these statuses: closed or reporting_stopped.

Lifecycle

The dashed lines are error correction only. See Correcting a mistaken status change below.

Statuses

Transitions

Send the reason as JSON, for example:
You cannot change status with PATCH. Every status endpoint is safe to retry. Calling an endpoint on a user credit balance that is already in the target status returns the user credit balance unchanged. Calling deactivate on a closed or reporting_stopped user credit balance returns an error. Only activate works on them, and only to correct a mistake.

Checks before close

Lead checks the outstanding position against the status_reason you send:
  • charged_off requires a non-zero charge_off.amount. The outstanding amount_breakdown can stay above zero, because the customer may still owe it.
  • Every other reason requires amount_breakdown.principal, amount_breakdown.interest, and amount_breakdown.fees to all be zero. Post the final payment as a user credit transaction, wait for it to apply, then close.
If the check fails, Lead returns a 422 with operation_not_allowed.

Checks before stop_reporting

Lead must not hold any receivable on the user credit balance. If Lead still holds a receivable, the request returns a 422 with object_state_conflict. Use this status only when your Technical Account Manager has confirmed it applies to your program.

Status reasons

status_reason explains the current status. Active user credit balances return active. The deactivate, close, and stop_reporting endpoints each accept their own set of reasons. Lead rejects a reason that does not belong to the endpoint you call. Deactivate Close Stop reporting

Correcting a mistaken status change

If you closed a user credit balance or stopped reporting on it by mistake, call POST /v2/user_credit_balances/{id}/activate on it. No request body is needed. The user credit balance returns to active with status_reason active, and Lead clears closed_at. Then report any activity you missed with user credit transactions.
Use this only to fix a reporting error. If a user credit balance can resume in the normal course of business, deactivate it instead of closing it.

Relationship to the user account

A user credit balance’s status is separate from its user account’s status. Closing or deactivating the user account does not change the status of the user credit balances beneath it. Manage each user credit balance separately.