Skip to main content
POST
Record a loan event

Authorizations

Authorization
string
header
required

An API key, pk_live_… or pk_test_….

Headers

Idempotency-Key
string
required

Your unique key for this write, at most 255 characters. A retry with the same key and body gets the first answer back.

Maximum string length: 255

Body

application/json
kind
enum<string>
required

DISBURSE: loan up, customer's account or disbursement clearing up

ACCRUE_INTEREST: interest receivable up, interest income up

CHARGE_PENALTY: interest receivable up, penalty income up

REPAY: from an account: amount off principal, interest_amount off receivable

RECOVER: money in on a loan already written off

PROVISION: impairment charge, allowance up at stage

RELEASE_PROVISION: allowance down at stage, charge back

MOVE_STAGE: allowance moves from stage to to_stage

WRITE_OFF: everything owed comes off; amount is what the allowance at stage absorbs

Available options:
DISBURSE,
ACCRUE_INTEREST,
CHARGE_PENALTY,
REPAY,
RECOVER,
PROVISION,
RELEASE_PROVISION,
MOVE_STAGE,
WRITE_OFF
currency
string
required
Example:

"NGN"

loanRef
string

every kind but PROVISION, RELEASE_PROVISION and MOVE_STAGE

Example:

"LN-1042"

amount
string

minor units

Pattern: ^[0-9]+$
Example:

"500000"

interestAmount
string

REPAY only Minor units, as a string.

Pattern: ^[0-9]+$
accountId
string

DISBURSE: where the money goes, disbursement clearing if empty. REPAY and RECOVER: where it comes from.

stage
integer<int32>

1 to 3

toStage
integer<int32>

MOVE_STAGE only

externalRef
string
Example:

"order-1042"

reason
string

why; required when the event goes to approval

Example:

"Customer unreachable for 180 days"

effectiveAt
string<date-time>

when posted at once; an approved event posts when approved

Response

OK

entry
object

posted

approval
object

waiting for a second person