Skip to main content
POST
Create loan product accounting profile

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Path Parameters

id
string<uuid>
required

Loan product identifier.

Example:

"550e8400-e29b-41d4-a716-446655440000"

Body

application/json
accountingMode
enum<string>
required

Accounting recognition mode.

Available options:
accrual,
cash
Example:

"accrual"

loanProductVersionId
string<uuid>
required

Loan product version identifier.

Example:

"550e8400-e29b-41d4-a716-446655440001"

postingRules
object[]
required

Non-null GL account mappings per accounting event. New profiles require disbursement, repayment, prepayment, accrual, collection_unapplied, collection_reapply, and collection_refund; accrual_tax is optional.

Required array length: 7 - 8 elements
midazLedgerId
string

Optional per-product Midaz ledger the profile's postings route into; both-or-neither with midazOrganizationId. Required under multi-tenant mode; empty single-tenant profiles fall back to the env default.

Maximum string length: 128
Example:

"ledger-def"

midazOrganizationId
string

Optional per-product Midaz organization the profile's postings route into; both-or-neither with midazLedgerId. Required under multi-tenant mode; empty single-tenant profiles fall back to the env default.

Maximum string length: 128
Example:

"org-abc"

Response

Created

accountingMode
string
required

Accounting recognition mode (accrual|cash).

Example:

"accrual"

createdAt
string
required

Creation timestamp (RFC3339, UTC).

Example:

"2026-06-14T12:00:00Z"

id
string
required

Server-assigned accounting profile identifier (uuid).

Example:

"550e8400-e29b-41d4-a716-446655440003"

loanProductVersionId
string
required

Loan product version this profile is configured for (uuid).

Example:

"550e8400-e29b-41d4-a716-446655440001"

postingRules
object[] | null
required

Persisted GL account mappings, one per accounting event.