Saltar al contenido principal
POST
Create loan product version (BR alias)

Autorizaciones

Authorization
string
header
requerido

JWT bearer token issued by the identity provider.

Encabezados

X-Idempotency
string

Optional; only this spelling is read. After a success, a resend under the same key and body replays the first answer (X-Idempotency-Replayed: true) instead of creating a second version; while the first is running it gets 409, and after a server error the key is spent. The same key with another body is refused. Without it nothing is deduplicated.

Ejemplo:

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

Parámetros de ruta

id
string<uuid>
requerido

Loan product identifier.

Cuerpo

application/json
changeReason
string
requerido

Reason for the new version.

currency
string
requerido

ISO 4217 currency code the product version denominates (3 uppercase letters); the loan's currency source of truth.

Required string length: 3
Ejemplo:

"BRL"

jurisdictionCode
string
requerido

Jurisdiction profile code.

Ejemplo:

"BR"

rateBand
object
requerido

Price band this version authorizes, in effective annual basis points. Required: a version declaring no band originates nothing. A pointer so an omitted band is refused instead of defaulting to a zero-to-zero band that authorizes only a 0% rate.

admittedBorrowerKinds
enum<string>[] | null

Kinds of borrower this version will originate for. Omitting it, or sending an empty list, declares NOTHING and admits NOBODY — it does not mean "both". Brazil taxes the two kinds at different IOF rates (Decreto 6.306/2007, art. 7o, I, "b"), so a product that has not said whose credit it grants cannot be priced. Duplicates are collapsed and the set is stored sorted; any other value is refused with 422.

Maximum array length: 2
Opciones disponibles:
pessoaFisica,
pessoaJuridica
Ejemplo:
firstDueDateWindow
object

Span of days after the money date in which this version admits a CHOSEN first instalment date. OPTIONAL, unlike the price band: omit it and the version bounds no chosen date, which is how every product that takes the generator's monthly grid behaves. Omitted is not a window of zero. It also bounds a release on another day than the application expected: the span from the money day to the application's recorded first due date must fall inside it.

fixedMonthlyRate
string

Fixed MONTHLY interest rate as a decimal fraction, scale 8 (0.018 is 1.80% a month); the rate band is effective annual, checked as (1+rate)^12-1.

Ejemplo:

"0.018"

floatingRateTableId
string

Floating-rate table identifier.

Ejemplo:

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

floatingSpreadBps
integer<int64>

Floating spread in basis points.

Ejemplo:

1850

jurisdictionExtensions
object

Per-jurisdiction version fields. A key the jurisdiction does not read is refused with 422 LENDER-0115.

rateMode
string

Rate mode (fixed|floating).

Ejemplo:

"fixed"

requiresFloatingRate
boolean

Whether a floating-rate table is required.

terms
object

What the version admits. Optional, and so is each member: an absent member takes its default.

Respuesta

Created

accrualBasis
string
requerido

Interest recognition method the servicing accrual engine applies; always effective_interest.

Ejemplo:

"effective_interest"

admittedBorrowerKinds
string[]
requerido

Kinds of borrower this version will originate for, de-duplicated and sorted. An EMPTY list means the version declares nothing and admits nobody; it never means "both".

Ejemplo:
changeReason
string
requerido

Reason recorded for creating this version.

createdAt
string
requerido

Creation timestamp (RFC3339, UTC).

Ejemplo:

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

currency
string
requerido

ISO 4217 currency code the product version denominates (3 uppercase letters).

Ejemplo:

"BRL"

fixedMonthlyRate
string
requerido

Fixed MONTHLY interest rate as a decimal fraction, scale 8 (0.018 is 1.80% a month); the rate band is effective annual, checked as (1+rate)^12-1.

Ejemplo:

"0.01800000"

floatingSpreadBps
integer<int64>
requerido

Floating spread in basis points (1 bps = 0.01%).

Ejemplo:

1850

id
string
requerido

Server-assigned version identifier (uuid).

Ejemplo:

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

jurisdictionCode
string
requerido

Jurisdiction profile code (e.g. BR).

Ejemplo:

"BR"

productId
string
requerido

Owning loan product identifier (uuid).

Ejemplo:

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

rateMode
string
requerido

Rate mode (fixed|floating).

Ejemplo:

"fixed"

requiresFloatingRate
boolean
requerido

Whether a floating-rate table is required for this version.

terms
object
requerido

What the version admits.

firstDueDateWindow
object

Span of days after the money date in which this version admits a chosen first instalment date. Absent means the version bounds no chosen date, which is the ordinary case. It also bounds a release on another day than the application expected: the span from the money day to the application's recorded first due date must fall inside it.

floatingRateTableId
string

Linked floating-rate table identifier (uuid); empty in fixed mode.

Ejemplo:

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

jurisdictionExtensions
object

Opaque per-jurisdiction version fields, echoed from the request for traceability.

rateBand
object

Price band this version authorizes, in effective annual basis points. Absent only on a stored version that predates the band; such a version originates nothing.