Skip to main content
POST
Create loan product version (BR alias)

Autorizações

Authorization
string
header
obrigatório

JWT bearer token issued by the identity provider.

Cabeçalhos

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.

Exemplo:

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

Parâmetros de caminho

id
string<uuid>
obrigatório

Loan product identifier.

Corpo

application/json
changeReason
string
obrigatório

Reason for the new version.

currency
string
obrigatório

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

Required string length: 3
Exemplo:

"BRL"

jurisdictionCode
string
obrigatório

Jurisdiction profile code.

Exemplo:

"BR"

rateBand
object
obrigatório

Price band this version authorizes, in 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
Opções disponíveis:
pessoaFisica,
pessoaJuridica
Exemplo:
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.

fixedAnnualRateBps
integer<int64>

Fixed annual rate in basis points.

Exemplo:

1850

floatingRateTableId
string

Floating-rate table identifier.

Exemplo:

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

floatingSpreadBps
integer<int64>

Floating spread in basis points.

Exemplo:

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).

Exemplo:

"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.

Resposta

Created

accrualBasis
string
obrigatório

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

Exemplo:

"effective_interest"

admittedBorrowerKinds
string[]
obrigatório

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".

Exemplo:
changeReason
string
obrigatório

Reason recorded for creating this version.

createdAt
string
obrigatório

Creation timestamp (RFC3339, UTC).

Exemplo:

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

currency
string
obrigatório

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

Exemplo:

"BRL"

fixedAnnualRateBps
integer<int64>
obrigatório

Fixed annual rate in basis points (1 bps = 0.01%).

Exemplo:

1850

floatingSpreadBps
integer<int64>
obrigatório

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

Exemplo:

1850

id
string
obrigatório

Server-assigned version identifier (uuid).

Exemplo:

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

jurisdictionCode
string
obrigatório

Jurisdiction profile code (e.g. BR).

Exemplo:

"BR"

productId
string
obrigatório

Owning loan product identifier (uuid).

Exemplo:

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

rateMode
string
obrigatório

Rate mode (fixed|floating).

Exemplo:

"fixed"

requiresFloatingRate
boolean
obrigatório

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

terms
object
obrigatório

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.

Exemplo:

"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 annual basis points. Absent only on a stored version that predates the band; such a version originates nothing.