Skip to main content
POST
/
api
/
v1
/
br
/
consignado
/
contracts
Originate a consignado privado contract (contratação ativa)
curl --request POST \
  --url https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "annualRate": "<string>",
  "borrowerCpf": "<string>",
  "borrowerName": "<string>",
  "cetAnnual": "<string>",
  "cetMonthly": "<string>",
  "creditorName": "<string>",
  "eSocialCategory": "<string>",
  "employerCnpj": "<string>",
  "employerLegalName": "<string>",
  "installmentAmount": "<string>",
  "installmentCount": 2,
  "iofAmount": "<string>",
  "loanProductVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "matricula": "<string>",
  "monthlyRate": "<string>",
  "numeroContrato": "<string>",
  "principalAmount": "<string>",
  "vinculoId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
  "averbacaoDate": "2023-11-07T05:31:56Z",
  "extendedTermEligible": true,
  "fgtsGuaranteePercent": "<string>"
}
'
import requests

url = "https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts"

payload = {
"annualRate": "<string>",
"borrowerCpf": "<string>",
"borrowerName": "<string>",
"cetAnnual": "<string>",
"cetMonthly": "<string>",
"creditorName": "<string>",
"eSocialCategory": "<string>",
"employerCnpj": "<string>",
"employerLegalName": "<string>",
"installmentAmount": "<string>",
"installmentCount": 2,
"iofAmount": "<string>",
"loanProductVersionId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"matricula": "<string>",
"monthlyRate": "<string>",
"numeroContrato": "<string>",
"principalAmount": "<string>",
"vinculoId": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
"averbacaoDate": "2023-11-07T05:31:56Z",
"extendedTermEligible": True,
"fgtsGuaranteePercent": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}

response = requests.post(url, json=payload, headers=headers)

print(response.text)
const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
annualRate: '<string>',
borrowerCpf: '<string>',
borrowerName: '<string>',
cetAnnual: '<string>',
cetMonthly: '<string>',
creditorName: '<string>',
eSocialCategory: '<string>',
employerCnpj: '<string>',
employerLegalName: '<string>',
installmentAmount: '<string>',
installmentCount: 2,
iofAmount: '<string>',
loanProductVersionId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
matricula: '<string>',
monthlyRate: '<string>',
numeroContrato: '<string>',
principalAmount: '<string>',
vinculoId: '3c90c3cc-0d44-4b50-8888-8dd25736052a',
averbacaoDate: '2023-11-07T05:31:56Z',
extendedTermEligible: true,
fgtsGuaranteePercent: '<string>'
})
};

fetch('https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'annualRate' => '<string>',
'borrowerCpf' => '<string>',
'borrowerName' => '<string>',
'cetAnnual' => '<string>',
'cetMonthly' => '<string>',
'creditorName' => '<string>',
'eSocialCategory' => '<string>',
'employerCnpj' => '<string>',
'employerLegalName' => '<string>',
'installmentAmount' => '<string>',
'installmentCount' => 2,
'iofAmount' => '<string>',
'loanProductVersionId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'matricula' => '<string>',
'monthlyRate' => '<string>',
'numeroContrato' => '<string>',
'principalAmount' => '<string>',
'vinculoId' => '3c90c3cc-0d44-4b50-8888-8dd25736052a',
'averbacaoDate' => '2023-11-07T05:31:56Z',
'extendedTermEligible' => true,
'fgtsGuaranteePercent' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"strings"
"net/http"
"io"
)

func main() {

url := "https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts"

payload := strings.NewReader("{\n \"annualRate\": \"<string>\",\n \"borrowerCpf\": \"<string>\",\n \"borrowerName\": \"<string>\",\n \"cetAnnual\": \"<string>\",\n \"cetMonthly\": \"<string>\",\n \"creditorName\": \"<string>\",\n \"eSocialCategory\": \"<string>\",\n \"employerCnpj\": \"<string>\",\n \"employerLegalName\": \"<string>\",\n \"installmentAmount\": \"<string>\",\n \"installmentCount\": 2,\n \"iofAmount\": \"<string>\",\n \"loanProductVersionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"matricula\": \"<string>\",\n \"monthlyRate\": \"<string>\",\n \"numeroContrato\": \"<string>\",\n \"principalAmount\": \"<string>\",\n \"vinculoId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"averbacaoDate\": \"2023-11-07T05:31:56Z\",\n \"extendedTermEligible\": true,\n \"fgtsGuaranteePercent\": \"<string>\"\n}")

req, _ := http.NewRequest("POST", url, payload)

req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.post("https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"annualRate\": \"<string>\",\n \"borrowerCpf\": \"<string>\",\n \"borrowerName\": \"<string>\",\n \"cetAnnual\": \"<string>\",\n \"cetMonthly\": \"<string>\",\n \"creditorName\": \"<string>\",\n \"eSocialCategory\": \"<string>\",\n \"employerCnpj\": \"<string>\",\n \"employerLegalName\": \"<string>\",\n \"installmentAmount\": \"<string>\",\n \"installmentCount\": 2,\n \"iofAmount\": \"<string>\",\n \"loanProductVersionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"matricula\": \"<string>\",\n \"monthlyRate\": \"<string>\",\n \"numeroContrato\": \"<string>\",\n \"principalAmount\": \"<string>\",\n \"vinculoId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"averbacaoDate\": \"2023-11-07T05:31:56Z\",\n \"extendedTermEligible\": true,\n \"fgtsGuaranteePercent\": \"<string>\"\n}")
.asString();
require 'uri'
require 'net/http'

url = URI("https://lender.sandbox.lerian.net/api/v1/br/consignado/contracts")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"annualRate\": \"<string>\",\n \"borrowerCpf\": \"<string>\",\n \"borrowerName\": \"<string>\",\n \"cetAnnual\": \"<string>\",\n \"cetMonthly\": \"<string>\",\n \"creditorName\": \"<string>\",\n \"eSocialCategory\": \"<string>\",\n \"employerCnpj\": \"<string>\",\n \"employerLegalName\": \"<string>\",\n \"installmentAmount\": \"<string>\",\n \"installmentCount\": 2,\n \"iofAmount\": \"<string>\",\n \"loanProductVersionId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"matricula\": \"<string>\",\n \"monthlyRate\": \"<string>\",\n \"numeroContrato\": \"<string>\",\n \"principalAmount\": \"<string>\",\n \"vinculoId\": \"3c90c3cc-0d44-4b50-8888-8dd25736052a\",\n \"averbacaoDate\": \"2023-11-07T05:31:56Z\",\n \"extendedTermEligible\": true,\n \"fgtsGuaranteePercent\": \"<string>\"\n}"

response = http.request(request)
puts response.read_body
{
  "annualRate": "<string>",
  "biometricEvidenceRef": "<string>",
  "cetAnnual": "<string>",
  "cetMonthly": "<string>",
  "createdAt": "<string>",
  "firstDeductionCompetencia": "<string>",
  "id": "<string>",
  "installmentAmount": "<string>",
  "installmentCount": 123,
  "iofAmount": "<string>",
  "loanProductVersionId": "<string>",
  "monthlyRate": "<string>",
  "numeroContrato": "<string>",
  "principalAmount": "<string>",
  "signatureSessionRef": "<string>",
  "state": "<string>",
  "vinculoId": "<string>"
}
{
"code": "<string>",
"detail": "<string>",
"errors": [
{
"location": "<string>",
"message": "<string>",
"value": "<unknown>"
}
],
"instance": "<string>",
"status": 123,
"title": "<string>",
"type": "about:blank"
}

Authorizations

Authorization
string
header
required

JWT bearer token issued by the identity provider.

Body

application/json
annualRate
string
required

Annual interest rate as a fraction (RateScale, e.g. "0.2400").

Example:

"0.2400"

borrowerCpf
string
required

Borrower CPF, digits only (pre-normalized).

Example:

"12345678909"

borrowerName
string
required

Borrower (emitente/devedor) full legal name (CCB Art. 23).

cetAnnual
string
required

Annual CET as a fraction (RateScale).

Example:

"0.2610"

cetMonthly
string
required

Monthly CET as a fraction (RateScale).

Example:

"0.0195"

creditorName
string
required

Financing institution issuing the credit (CCB Art. 23 credor).

eSocialCategory
string
required

eSocial category code of the vínculo.

employerCnpj
string
required

Employer CNPJ, digits only (pre-normalized).

Example:

"12345678000199"

Employer / payroll counterparty legal name.

installmentAmount
string
required

Monthly installment amount in major currency units.

Example:

"450.00"

installmentCount
integer<int64>
required

Number of installments.

Required range: x >= 1
Example:

24

iofAmount
string
required

IOF tax amount in major currency units.

Example:

"86.84"

loanProductVersionId
string<uuid>
required

UUID of the activated loan-product version the contract binds to.

Example:

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

matricula
string
required

Payroll registration the margin lookup and CCB key against.

monthlyRate
string
required

Monthly interest rate as a fraction (RateScale, e.g. "0.0180").

Example:

"0.0180"

numeroContrato
string
required

Human-facing contract number assigned by the originating channel.

principalAmount
string
required

Financed principal in major currency units.

Example:

"10000.00"

vinculoId
string<uuid>
required

UUID of the borrower<->employer vínculo the contract originates against.

Example:

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

averbacaoDate
string<date-time>

Instant the averbação is requested (RFC3339); anchors the first-deduction competência. Defaults to now when omitted.

Example:

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

extendedTermEligible
boolean

True enables the 144-month cap (public-company/autarquia CLT, Art. 10 V); false keeps the 96-month cap.

fgtsGuaranteePercent
string

Optional FGTS-guarantee fraction (RateScale); omit when not applicable.

Example:

"0.1000"

Response

Created

annualRate
string
required

Annual interest rate as a fraction (RateScale).

Example:

"0.2400"

biometricEvidenceRef
string
required

Reference to the captured biometric signing evidence.

cetAnnual
string
required

Annual CET as a fraction (RateScale).

Example:

"0.2610"

cetMonthly
string
required

Monthly CET as a fraction (RateScale).

Example:

"0.0195"

createdAt
string
required

RFC3339 UTC timestamp when the contract was persisted.

Example:

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

firstDeductionCompetencia
string
required

First payroll-deduction competência as YYYYMM.

Example:

"202608"

id
string
required

Server-generated UUID of the persisted contract.

Example:

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

installmentAmount
string
required

Monthly installment amount in major currency units.

Example:

"450.00"

installmentCount
integer<int64>
required

Number of installments.

Example:

24

iofAmount
string
required

IOF tax amount in major currency units.

Example:

"86.84"

loanProductVersionId
string
required

UUID of the bound loan-product version.

monthlyRate
string
required

Monthly interest rate as a fraction (RateScale).

Example:

"0.0180"

numeroContrato
string
required

Human-facing contract number.

principalAmount
string
required

Financed principal in major currency units.

Example:

"10000.00"

signatureSessionRef
string
required

Reference to the out-of-band signature ceremony session.

state
string
required

Core origination-progress state of the loan application: pending_approval, approved, disbursed, rejected, or withdrawn.

Example:

"approved"

vinculoId
string
required

Identifier of the originating vínculo.